[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71KMH8GFDPJ428BCJ1B9V8N":3,"skill-same:01M71KMH8GFDPJ428BCJ1B9V8N":74},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":55,"ownerHtmlUrl":56,"ownerBlogUrl":57,"ownerDescription":58,"updatedAt":59,"install":60,"resources":73},"01M71KMH8GFDPJ428BCJ1B9V8N","pump-solana-wallet",null,"Secure Solana wallet generation using official Solana Labs libraries — Ed25519 keypairs, memory zeroization, vanity address generation, offline-only operation, and multi-language implementations (Rust, TypeScript, Bash).","clawdsolana\u002FOpenClawd","clawdsolana","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F279036008?v=4","01M71JTVF9FNGKE2SVJRPTQM31","OpenClawd","01M71JTVGCKWBSS8ZYC1HYWVA5",2,"MIT","https:\u002F\u002Fgithub.com\u002Fclawdsolana\u002FOpenClawd\u002Fblob\u002Fmain\u002Fskills\u002Fpump-solana-wallet\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"solana","pump solana wallet","pump","Wallet","typescript","secure","https","sdk","generation","github","libraries","multi","Bash","operation","pump-fun","only","rust","fun","memory","official","2026-11-10 10:12:30",false,"---\nname: pump-solana-wallet\ndescription: \"Secure Solana wallet generation using official Solana Labs libraries — Ed25519 keypairs, memory zeroization, vanity address generation, offline-only operation, and multi-language implementations (Rust, TypeScript, Bash).\"\nmetadata:\n  solanaos:\n    homepage: https:\u002F\u002Fgithub.com\u002Fnirholas\u002Fpump-fun-sdk\n    requires:\n      bins:\n        - solana-keygen\n---\n\n# Solana Wallet — Key Generation & Security\n\nSecure Solana wallet generation using official Solana Labs libraries with Ed25519 keys, memory zeroization, and offline-only operation. Three implementations: Rust (production), TypeScript (educational), and Bash (wrappers).\n\n## Approved Crypto Libraries\n\n| Context | Library | Role |\n|---------|---------|------|\n| Rust | `solana-sdk` | `Keypair::new()`, `Signer` trait, Base58 encoding |\n| TypeScript | `@solana\u002Fweb3.js` | `Keypair.generate()`, `Keypair.fromSecretKey()` |\n| Shell | `solana-keygen` | `grind` (vanity), `new` (random), `verify` |\n| MCP Server | `@solana\u002Fweb3.js` | Session keypair management in `SolanaWalletMCPServer` |\n\n## Address Format\n\n- 32-byte Ed25519 public key encoded as Base58\n- Length: 32–44 characters (typically 43–44)\n- Case-sensitive alphabet: `123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`\n\n## Vanity Address Difficulty\n\n| Prefix Length | Expected Attempts | Time (100K\u002Fsec) |\n|---------------|-------------------|-----------------|\n| 1 char | ~58 | \u003C 1 sec |\n| 2 chars | ~3,364 | \u003C 1 sec |\n| 3 chars | ~195,112 | ~2 sec |\n| 4 chars | ~11.3M | ~2 min |\n| 5 chars | ~656M | ~2 hours |\n\n## Security Model (6 Defense Layers)\n\n1. **CSPRNG only** — `OsRng` (Rust), `crypto.getRandomValues` (Node.js)\n2. **Official libraries** — No third-party crypto\n3. **Memory zeroization** — `Zeroize` trait (Rust), `buffer.fill(0)` (TypeScript)\n4. **File permissions** — `0o600` owner-only\n5. **Offline operation** — No network calls during key generation\n6. **Post-generation verification** — Re-derive public key from secret and compare\n\n## Memory Zeroization by Language\n\n| Language | Mechanism |\n|----------|-----------|\n| Rust | `Zeroize` trait + `Drop` impl, `zeroize_on_drop` |\n| TypeScript | `secretKey.fill(0)` + `Buffer.alloc(0)` (best-effort, GC may relocate) |\n| Shell | `shred -u` or `rm -P` for file cleanup |\n\n## Patterns to Follow\n\n- ONLY use `solana-sdk`, `@solana\u002Fweb3.js`, or `solana-keygen` for crypto operations\n- Zero all key material as soon as it is no longer needed\n- Set file permissions to `0o600` immediately after writing keypair files\n- Never make network calls during key generation\n- Verify every generated keypair: re-derive public key from secret and compare\n\n## Common Pitfalls\n\n- JavaScript GC may copy\u002Frelocate buffers — `fill(0)` is best-effort, not guaranteed\n- `solana-keygen` output is [u8; 64] JSON array (32-byte secret + 32-byte public)\n- Base58 is NOT the same as Base64 — Solana uses a specific alphabet without `0OIl`\n- Vanity matching must use raw Base58 — case-sensitive, no regex anchoring errors\n\n","# Solana Wallet — Key Generation & Security\n\nSecure Solana wallet generation using official Solana Labs libraries with Ed25519 keys, memory zeroization, and offline-only operation. Three implementations: Rust (production), TypeScript (educational), and Bash (wrappers).\n\n## Approved Crypto Libraries\n\n| Context | Library | Role |\n|---------|---------|------|\n| Rust | `solana-sdk` | `Keypair::new()`, `Signer` trait, Base58 encoding |\n| TypeScript | `@solana\u002Fweb3.js` | `Keypair.generate()`, `Keypair.fromSecretKey()` |\n| Shell | `solana-keygen` | `grind` (vanity), `new` (random), `verify` |\n| MCP Server | `@solana\u002Fweb3.js` | Session keypair management in `SolanaWalletMCPServer` |\n\n## Address Format\n\n- 32-byte Ed25519 public key encoded as Base58\n- Length: 32–44 characters (typically 43–44)\n- Case-sensitive alphabet: `123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz`\n\n## Vanity Address Difficulty\n\n| Prefix Length | Expected Attempts | Time (100K\u002Fsec) |\n|---------------|-------------------|-----------------|\n| 1 char | ~58 | \u003C 1 sec |\n| 2 chars | ~3,364 | \u003C 1 sec |\n| 3 chars | ~195,112 | ~2 sec |\n| 4 chars | ~11.3M | ~2 min |\n| 5 chars | ~656M | ~2 hours |\n\n## Security Model (6 Defense Layers)\n\n1. **CSPRNG only** — `OsRng` (Rust), `crypto.getRandomValues` (Node.js)\n2. **Official libraries** — No third-party crypto\n3. **Memory zeroization** — `Zeroize` trait (Rust), `buffer.fill(0)` (TypeScript)\n4. **File permissions** — `0o600` owner-only\n5. **Offline operation** — No network calls during key generation\n6. **Post-generation verification** — Re-derive public key from secret and compare\n\n## Memory Zeroization by Language\n\n| Language | Mechanism |\n|----------|-----------|\n| Rust | `Zeroize` trait + `Drop` impl, `zeroize_on_drop` |\n| TypeScript | `secretKey.fill(0)` + `Buffer.alloc(0)` (best-effort, GC may relocate) |\n| Shell | `shred -u` or `rm -P` for file cleanup |\n\n## Patterns to Follow\n\n- ONLY use `solana-sdk`, `@solana\u002Fweb3.js`, or `solana-keygen` for crypto operations\n- Zero all key material as soon as it is no longer needed\n- Set file permissions to `0o600` immediately after writing keypair files\n- Never make network calls during key generation\n- Verify every generated keypair: re-derive public key from secret and compare\n\n## Common Pitfalls\n\n- JavaScript GC may copy\u002Frelocate buffers — `fill(0)` is best-effort, not guaranteed\n- `solana-keygen` output is [u8; 64] JSON array (32-byte secret + 32-byte public)\n- Base58 is NOT the same as Base64 — Solana uses a specific alphabet without `0OIl`\n- Vanity matching must use raw Base58 — case-sensitive, no regex anchoring errors\n\n",{"name":5,"metadata":44,"description":7},{"solanaos":45},{"homepage":46,"requires":47},"https:\u002F\u002Fgithub.com\u002Fnirholas\u002Fpump-fun-sdk",{"bins":48},[49],"solana-keygen","main","6b4a291df75c639681e93b4b5b812126443fd6ed","skills\u002Fpump-solana-wallet",3,"https:\u002F\u002Fgithub.com\u002Fclawdsolana\u002FOpenClawd","https:\u002F\u002Fsolanaclawd.com\u002Fopenclawd","https:\u002F\u002Fgithub.com\u002Fclawdsolana","https:\u002F\u002Fmusebook.trade","Welcome to Open Clawd. The future of Ai on and off chain. Bringing webMCP to web 3 using X402, A2A, MPP and so much more!","2026-08-01 09:30:51",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add clawdsolana\u002FOpenClawd --skill pump-solana-wallet",{"tool":66,"command":67},"bunx","bunx skills add clawdsolana\u002FOpenClawd --skill pump-solana-wallet",{"tool":69,"command":70},"pnpm","pnpm dlx skills add clawdsolana\u002FOpenClawd --skill pump-solana-wallet","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fclawdsolana\u002FOpenClawd\u002Fblob\u002Fmain\u002Fskills\u002Fpump-solana-wallet\u002FSKILL.md",true,[],[75,106,134,160,170,194],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":86,"publishedAt":105},"01M71KRBD0W01EAXJ8YM4M1SJ2","solana-dev","End-to-end Solana development playbook (Jan 2026). Prefer Solana Foundation framework-kit (@solana\u002Fclient + @solana\u002Freact-hooks) for React\u002FNext.js UI. Prefer @solana\u002Fkit for all new client\u002FRPC\u002Ftransaction code. When legacy dependencies require web3.js, isolate it behind @solana\u002Fweb3-compat (or @solana\u002Fweb3.js as a true legacy fallback). Covers wallet-standard-first connection (incl. ConnectorKit), Anchor\u002FPinocchio programs, Codama-based client generation, LiteSVM\u002FMollusk\u002FSurfpool testing, and security checklists.","https:\u002F\u002Fgithub.com\u002Fclawdsolana\u002FOpenClawd\u002Fblob\u002Fmain\u002Fsrc\u002Fskills\u002Fsolana-dev\u002FSKILL.md",[81],{"categoryNo":82,"categoryName":83,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[87,88,19,22,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],"solana dev","dev","end","testing","hooks","kit","new","when","web3","code","react","next","2026","playbook","security","ui","fallback","framework","2026-11-10 10:56:23",{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":115,"publishedAt":105},"01M71KR8QPESSY61SVE8ZTFNVT","xurl","A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.","https:\u002F\u002Fgithub.com\u002Fclawdsolana\u002FOpenClawd\u002Fblob\u002Fmain\u002Fskills\u002Fxurl\u002FSKILL.md",[112],{"categoryNo":113,"categoryName":114,"taxonomyType":84,"taxonomyTypeDesc":85},"01JBSEEDCAT000000000000023","Skill与智能体开发",[108,116,117,118,119,120,121,94,122,123,124,125,126,127,128,129,130,131,132,133],"posts","Media","x api","search","send","tap","you","api","cli","read","install","cli tool","endpoint","brew","for","manage","tool","twitter",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":141,"publishedAt":105},"01M71KR6FSXV88YDKWP7NBY3SH","wurk-integration","WURK API integration for monetizing agents with x402 payments on Solana\u002FBase - create social jobs, custom challenges, and agent help tasks","https:\u002F\u002Fgithub.com\u002Fclawdsolana\u002FOpenClawd\u002Fblob\u002Fmain\u002Fskills\u002Fwurk-integration\u002FSKILL.md",[140],{"categoryNo":113,"categoryName":114,"taxonomyType":84,"taxonomyTypeDesc":85},[142,143,144,145,146,147,148,149,123,150,151,152,153,154,155,156,130,157,158,159],"wurk","wurk integration","integration","x402","social","payments","tasks","team","create","social-jobs","command","agent-help","custom-jobs","clawd","safe","api integration","custom","true",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":105},"01M71KR4HCX41BPAK9GP7RPRRP","workflows","Manage application workflows including configuration, restart, and removal.","https:\u002F\u002Fgithub.com\u002Fclawdsolana\u002FOpenClawd\u002Fblob\u002Fmain\u002Fskills\u002Fworkflows\u002FSKILL.md",[],[162,131,167,168,169],"configuration","application","restart",{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":176,"publishedAt":105},"01M71KR1VM0F5GPEQDNG5J7A0H","web-search","Search the web, fetch content, extract branding profiles, and capture screenshots from URLs. Use for real-time information, API documentation, current events, design matching, and visual reference.","https:\u002F\u002Fgithub.com\u002Fclawdsolana\u002FOpenClawd\u002Fblob\u002Fmain\u002Fskills\u002Fweb-search\u002FSKILL.md",[],[177,119,178,179,180,130,181,182,183,184,185,186,187,123,188,189,190,191,192,193],"web search","web","fetch","api documentation","real-time","time","profiles","design","use","information","visual","documentation","branding","matching","reference","capture","content",{"skillNo":195,"name":196,"nameZh":6,"description":197,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":198,"categories":199,"keywords":200,"publishedAt":105},"01M71KQZN5MR1JFQHG5GWXYAHS","weather","Get current weather and forecasts via wttr.in or Open-Meteo. Use when: user asks about weather, temperature, or forecasts for any location. NOT for: historical weather data, severe weather alerts, or detailed meteorological analysis. No API key needed.","https:\u002F\u002Fgithub.com\u002Fclawdsolana\u002FOpenClawd\u002Fblob\u002Fmain\u002Fskills\u002Fweather\u002FSKILL.md",[],[196,201,130,202,185,94,203,123,204,205,206,207,208,209,25,210,211,212],"get","open","analysis","alerts","temperature","curl","via","help","about","location","data","user"]