Not in the top 1,000 by GitHub stars
solana-foundation/solana-dev-skill
Skills for agentic development on Solana
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/solana-dev/SKILL.md
Week of Nov 2, 2026 · +2 / −1 lines
Before Network or broad shell → After Network or broad shell
a265d11fcc1b → c9da2624cc6b
- 8 version: "2.7.0"
+ 8 version: "2.8.0"
+ 200 - Token concepts (SPL Token vs Token-2022, mints, ATAs, authorities, delegation, extensions): [tokens.md](references/tokens.md)
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → a265d11fcc1b
No earlier version was observed for comparison.
Heat
6.3- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- solana-dev
skills/solana-dev
How it works
solana-dev
When your agent uses it
Use when user asks to "build a Solana dapp", "write an Anchor program", "create a token", "debug Solana errors", "set up wallet connection", "test my Solana program", "fuzz my Solana program", "deploy to devnet", "send a v1 transaction", "support larger transactions", "fix maxSupportedTransactionVersion", or "explain Solana concepts" (rent, accounts, PDAs, CPIs). Also for program architecture (state layout, compute units, throughput, naming), quick on-chain lookups via public RPC + curl, gasless or sponsored-fee transactions (Kora), server-side signing with KMS/Turnkey/Privy/Fireblocks (Solana Keychain), and issuing stablecoins or allowlisted tokens (Mosaic). Covers wallets, Anchor/Pinocchio, Codama clients, Surfpool/LiteSVM/Mollusk testing, security review, and v1 transactions (SIMD-0385). Prefers @solana/kit 8 plugin clients building transaction v1 by default, @solana/kit-plugin-wallet + @solana/react for wallets, web3.js v3 as the legacy migration target, and Surfpool for local networks.
What it loads into context
Frontmatter
308 tokensAlways available to the agent
SKILL.md
4,132 tokensWhen the skill is activated
Reference documents
126,126 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- What this Skill is for
- Default stack decisions (opinionated)
- Agent safety guardrails
- Agent-friendly CLI usage (NO_DNA)
- Operating procedure (how to execute tasks)
- Solana MCP server (live docs + expert assistance)
- Progressive disclosure (read when needed)
Files
SKILL.mdcore16,604 bytesSKILL.mdcore16,604 bytesSKILL.mdcore16,604 bytesreferences/anchor/migrating-v0.32-to-v1.mddoc34,264 bytesreferences/common-errors.mddoc25,037 bytesreferences/compatibility-matrix.mddoc25,267 bytesreferences/concepts.mddoc4,540 bytesreferences/confidential-transfers.mddoc26,580 bytesreferences/frontend.mddoc12,586 bytesreferences/idl-codegen.mddoc1,621 bytesreferences/keychain.mddoc8,347 bytesreferences/kit-web3-interop.mddoc3,503 bytesreferences/kit/accounts.mddoc3,941 bytesreferences/kit/advanced.mddoc17,903 bytesreferences/kit/codama.mddoc2,525 bytesreferences/kit/codecs.mddoc4,065 bytesreferences/kit/gotchas.mddoc11,962 bytesreferences/kit/overview.mddoc15,704 bytesreferences/kit/plugins.mddoc17,011 bytesreferences/kit/programs/compute-budget.mddoc10,658 bytesreferences/kit/programs/system.mddoc4,319 bytesreferences/kit/programs/token-2022.mddoc2,824 bytesreferences/kit/programs/token.mddoc7,484 bytesreferences/kit/react.mddoc12,112 bytesreferences/kora.mddoc6,469 bytesreferences/mosaic.mddoc5,713 bytesreferences/payments.mddoc2,984 bytesreferences/programs/anchor.mddoc13,031 bytesreferences/programs/design-patterns.mddoc16,223 bytesreferences/programs/pinocchio.mddoc25,052 bytesreferences/resources.mddoc6,806 bytesreferences/rpc-quick-lookups.mddoc5,713 bytesreferences/security.mddoc33,747 bytesreferences/surfpool/cheatcodes.mddoc13,374 bytesreferences/surfpool/kit-plugin.mddoc14,774 bytesreferences/surfpool/overview.mddoc26,182 bytesreferences/testing.mddoc21,119 bytesreferences/tokens.mddoc18,920 bytesreferences/transactions-v1.mddoc31,651 bytes
Read SKILL.md
# Solana Development Skill
## What this Skill is for
Use this Skill when the user asks for:
- Solana dApp UI work (React / Next.js)
- Wallet connection + signing flows
- Transaction building / sending / confirmation UX
- Transaction v1 / larger transactions (SIMD-0385) — the default format for new code; sending, reading, indexing
- On-chain program development (Anchor or Pinocchio)
- Program architecture — state layout, PDA seed conventions, naming, parallelization, cranks, vault topology
- Client SDK generation (typed program clients)
- Local testing (Surfpool, LiteSVM, Mollusk) and fuzz testing (Trident, cargo-fuzz)
- Security hardening and audit-style reviews
- Confidential transfers (Token-2022 ZK extension)View the complete source on GitHubSkills included
- solana-dev
Repository facts
- License
- MIT
- Created
- Jan 12, 2026
- Last pushed
- Nov 4, 2026
- Forks
- 136
- Open issues
- 0
- Project activity
- Active
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 6, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 2 notes
skills/solana-dev/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/solana-dev/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 17 dangerous shell commandsin 4 files: solana-dev/references/common-errors.md:107 solana-dev/references/anchor/migrating-v0.32-to-v1.md:94 solana-dev/references/testing.md:228 and 1 more
- 354 network referencesin 29 files: solana-dev/references/resources.md:8 solana-dev/references/common-errors.md:36 solana-dev/references/kora.md:43 and 26 more
- No hidden or obfuscated text
- No instruction overrides
- No executable scripts
- 48 references to secretsin 6 files: solana-dev/references/keychain.md:2 solana-dev/SKILL.md:3 solana-dev/references/kora.md:38 and 3 more
- No requests to vote in Hot
Show all 419 signals by file
skills/solana-dev/SKILL.md
- Access to secretsline 3
[Credential-related source omitted] - Access to secretsline 25
[Credential-related source omitted] - Access to secretsline 47
[Credential-related source omitted] - Access to secretsline 48
[Credential-related source omitted] - Access to secretsline 49
[Credential-related source omitted] - Access to secretsline 81
[Credential-related source omitted] - Network accessline 107
See [no-dna.org](https://no-dna.org) for the full standard. - Network accessline 148
The **Solana Developer MCP** (`https://mcp.solana.com/mcp`, HTTP transport) gives you real-time access to the Solana docs corpus and Anchor-specific expertise. Use it before falling back to your training data. - Network accessline 155
# Claude Code claude mcp add --transport http solana-mcp-server https://mcp.solana.com/mcp - Network accessline 156
claude mcp add --transport http solana-mcp-server https://mcp.solana.com/mcp - Network accessline 158
# Gemini CLI gemini mcp add --transport http solana-mcp-server https://mcp.solana.com/mcp - Network accessline 159
gemini mcp add --transport http solana-mcp-server https://mcp.solana.com/mcp - Network accessline 161
# Codex CLI codex mcp add solana-mcp-server -- npx -y mcp-remote https://mcp.solana.com/mcp - Network accessline 162
codex mcp add solana-mcp-server -- npx -y mcp-remote https://mcp.solana.com/mcp - Network accessline 165
For other hosts (Cursor, Windsurf, Cline, OpenCode, Copilot), add an entry to the host's MCP config file with URL `https://mcp.solana.com/mcp` (HTTP/remote transport). If you cannot modify config, ask the user to add it. - Network accessline 185
## Progressive disclosure (read when needed) - Quick RPC lookups (curl + public endpoints): [rpc-quick-lookups.md](references/rpc-quick-lookups.md) — balance, tx, token account, account info - Network accessline 186
- Quick RPC lookups (curl + public endpoints): [rpc-quick-lookups.md](references/rpc-quick-lookups.md) — balance, tx, token account, account info - Access to secretsline 203
[Credential-related source omitted]
skills/solana-dev/references/anchor/migrating-v0.32-to-v1.md
- Network accessline 82
cargo install avm --git https://github.com/otter-sec/anchor --tag v1.0.0 --locked - Network accessline 89
cargo install --git https://github.com/otter-sec/anchor --tag v1.0.0 anchor-cli --locked - Dangerous shell operationline 94
sh -c "$(curl -sSfL https://release.anza.xyz/v3.1.10/install)" - Network accessline 94
sh -c "$(curl -sSfL https://release.anza.xyz/v3.1.10/install)" - Network accessline 357
Option B is useful when you want to push an updated IDL without going through a full `anchor deploy`, or when working outside an Anchor workspace. See the [program-metadata README](https://github.com/solana-program/program-metadata) for the - Network accessline 446
// Before — type came from your program's IDL automatically const mintAccount = await program.account.mint.fetch(mintAddress); - Network accessline 447
const mintAccount = await program.account.mint.fetch(mintAddress); - Network accessline 468
log_level = "info" # default is "none" block_production_mode = "clock" # or "transaction" datasource_rpc_url = "https://api.mainnet-beta.solana.com" # optional fork - Network accessline 470
datasource_rpc_url = "https://api.mainnet-beta.solana.com" # optional fork - Network accessline 480
- name: Install surfpool run: curl -sL https://run.surfpool.run/ | bash - Dangerous shell operationline 481
run: curl -sL https://run.surfpool.run/ | bash - Network accessline 481
run: curl -sL https://run.surfpool.run/ | bash - Network accessline 506
# Before — remove this entire section [registry] url = "https://anchor.projectserum.com" - Network accessline 508
url = "https://anchor.projectserum.com" - Network accessline 765
# Temporary git dep while waiting for a crates.io release my-cpi-crate = { git = "https://github.com/my-org/my-cpi-crate", branch = "anchor-v1" } - Network accessline 766
my-cpi-crate = { git = "https://github.com/my-org/my-cpi-crate", branch = "anchor-v1" }
skills/solana-dev/references/common-errors.md
- Network accessline 36
# For Anchor 1.2.x (current): cargo install --git https://github.com/otter-sec/anchor --tag v1.2.1 anchor-cli - Network accessline 37
cargo install --git https://github.com/otter-sec/anchor --tag v1.2.1 anchor-cli - Network accessline 39
# For Anchor 0.31.x: cargo install --git https://github.com/otter-sec/anchor --tag v0.31.2 anchor-cli - Network accessline 40
cargo install --git https://github.com/otter-sec/anchor --tag v0.31.2 anchor-cli - Network accessline 42
# For Anchor 0.32.x: cargo install --git https://github.com/otter-sec/anchor --tag v0.32.2 anchor-cli - Network accessline 43
cargo install --git https://github.com/otter-sec/anchor --tag v0.32.2 anchor-cli - Network accessline 64
**Cause:** Anchor 0.30.x uses a `time` crate version incompatible with Rust ≥1.80 ([anchor#3143](https://github.com/coral-xyz/anchor/pull/3143)). - Network accessline 66
**Solutions:** 1. **Use AVM** — it auto-selects `rustc 1.79.0` for Anchor < 0.31 ([anchor#3315](https://github.com/coral-xyz/anchor/pull/3315)) - Network accessline 67
1. **Use AVM** — it auto-selects `rustc 1.79.0` for Anchor < 0.31 ([anchor#3315](https://github.com/coral-xyz/anchor/pull/3315)) - Network accessline 70
rustup install 1.79.0 rustup default 1.79.0 cargo install --git https://github.com/coral-xyz/anchor --tag v0.30.1 anchor-cli --locked - Network accessline 72
cargo install --git https://github.com/coral-xyz/anchor --tag v0.30.1 anchor-cli --locked - Network accessline 106
**Solutions:** 1. Install Solana CLI: `sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"` - Dangerous shell operationline 107
1. Install Solana CLI: `sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"` - Network accessline 107
1. Install Solana CLI: `sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"` - Dangerous shell operationline 132
rm -rf ~/.cache/solana/ - Network accessline 138
solana --version # Download manually from: # https://github.com/anza-xyz/platform-tools/releases - Network accessline 140
# https://github.com/anza-xyz/platform-tools/releases - Network accessline 183
**Solutions:** 1. Upgrade to Anchor 0.31.1+ (fixed in [#3663](https://github.com/otter-sec/anchor/pull/3663)) - Network accessline 184
1. Upgrade to Anchor 0.31.1+ (fixed in [#3663](https://github.com/otter-sec/anchor/pull/3663)) - Dangerous shell operationline 206
rm -rf ~/.local/share/solana/install/releases/1.16.* - Dangerous shell operationline 207
rm -rf ~/.local/share/solana/install/releases/1.17.* - Dangerous shell operationline 210
rm -rf ~/.cache/solana/ - Dangerous shell operationline 216
rm -rf ~/.cargo/registry/cache/ - Dangerous shell operationline 217
rm -rf target/ - Dangerous shell operationline 234
sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)" - Network accessline 234
sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)" - Dangerous shell operationline 255
rm -rf test-ledger/ - Dangerous shell operationline 264
curl -sL https://run.surfpool.run/ | bash - Network accessline 264
curl -sL https://run.surfpool.run/ | bash - Network accessline 282
[provider] cluster = "http://127.0.0.1:8899" - Network accessline 283
cluster = "http://127.0.0.1:8899" - Network accessline 383
**Solutions:** 1. Wait and retry 2. Use the web faucet: https://faucet.solana.com - Network accessline 384
1. Wait and retry 2. Use the web faucet: https://faucet.solana.com 3. For testing, use localnet where airdrops are unlimited - Network accessline 385
2. Use the web faucet: https://faucet.solana.com - Dangerous shell operationline 501
1. Delete `node_modules` and reinstall: `rm -rf node_modules && pnpm install` - Dangerous shell operationline 535
rm -rf ~/.cache/solana/v1.48/platform-tools - Network accessline 542
# Download manually wget https://github.com/anza-xyz/platform-tools/releases/download/v1.48/platform-tools-linux-x86_64.tar.bz2 - Network accessline 543
wget https://github.com/anza-xyz/platform-tools/releases/download/v1.48/platform-tools-linux-x86_64.tar.bz2 - Network accessline 655
**5. Wait for platform-tools update** — a future platform-tools version will ship a cargo that supports edition2024. Track at [anza-xyz/platform-tools](https://github.com/anza-xyz/platform-tools/releases).
skills/solana-dev/references/compatibility-matrix.md
- Network accessline 73
**Note:** Platform Tools ship a **forked** Rust compiler from [anza-xyz/rust](https://github.com/anza-xyz/rust). The version numbers approximate the upstream Rust equivalent. The forked compiler includes SBF/SBPF target support. - Network accessline 98
**Solutions:** 1. Upgrade your OS (recommended) 2. Build Anchor from source: `cargo install --git https://github.com/otter-sec/anchor --tag v1.2.1 anchor-cli` (replace tag with desired version) - Network accessline 99
1. Upgrade your OS (recommended) 2. Build Anchor from source: `cargo install --git https://github.com/otter-sec/anchor --tag v1.2.1 anchor-cli` (replace tag with desired version) 3. Use Docker (see install-guide.md) - Network accessline 100
2. Build Anchor from source: `cargo install --git https://github.com/otter-sec/anchor --tag v1.2.1 anchor-cli` (replace tag with desired version) - Network accessline 163
| Anchor | TS Package | Node.js | TypeScript | Notes | |---|---|---|---|---| | **1.2.x** | `@anchor-lang/core ^1.2.1` | ≥20.18 | 5.x | Declares `@solana/web3.js ^1.69.1`; the provider's failed-tx log lookup uses `maxSupportedTransactionVers - Network accessline 164
|---|---|---|---|---| | **1.2.x** | `@anchor-lang/core ^1.2.1` | ≥20.18 | 5.x | Declares `@solana/web3.js ^1.69.1`; the provider's failed-tx log lookup uses `maxSupportedTransactionVersion: 0`, so it cannot fetch v1 yet ([#4977](https://git - Network accessline 165
| **1.2.x** | `@anchor-lang/core ^1.2.1` | ≥20.18 | 5.x | Declares `@solana/web3.js ^1.69.1`; the provider's failed-tx log lookup uses `maxSupportedTransactionVersion: 0`, so it cannot fetch v1 yet ([#4977](https://github.com/otter-sec/anch - Network accessline 346
| `@solana/web3.js` v3 | **3.0.0** (current 3.1.1) | `compileToV1Message`; send and read. npm `latest` | | `@solana/web3.js` 1.x | **1.99.0** | ⚠<U+FE0F> Read-only — 1.x never sends v1 | | `@anchor-lang/core` | **0.32.2 / 0.31.2** | Read-only, via - Network accessline 347
| `@solana/web3.js` 1.x | **1.99.0** | ⚠<U+FE0F> Read-only — 1.x never sends v1 | | `@anchor-lang/core` | **0.32.2 / 0.31.2** | Read-only, via web3.js 1.99.0. ⚠<U+FE0F> 1.x through 1.2.1 still fetch with `maxSupportedTransactionVersion: 0`; v1 support is - Network accessline 348
| `@anchor-lang/core` | **0.32.2 / 0.31.2** | Read-only, via web3.js 1.99.0. ⚠<U+FE0F> 1.x through 1.2.1 still fetch with `maxSupportedTransactionVersion: 0`; v1 support is [#4977](https://github.com/otter-sec/anchor/pull/4977) (open) | - Network accessline 349
| `solders` (Python) | **0.29.0** | Read and send. Earlier releases have neither | | `solana-go` | **v2.0.0** (`/v2` module) or **v1.23.0** (`gagliardetto/solana-go`) | [PR #481](https://github.com/solana-foundation/solana-go/pull/481). Cur - Network accessline 350
| `solana-go` | **v2.0.0** (`/v2` module) or **v1.23.0** (`gagliardetto/solana-go`) | [PR #481](https://github.com/solana-foundation/solana-go/pull/481). Current: v2.1.0 / v1.25.0; Go 1.25+ from v2.1.0 / v1.24.0 |
skills/solana-dev/references/concepts.md
- Network accessline 26
Visual primer on the underlying math: https://curves.xargs.org - Network accessline 64
`v1` ([SIMD-0385](https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0385-transaction-v1.md)) moves the signature vector to the **tail** so the version byte sits at offset zero of the serialized transactio
skills/solana-dev/references/confidential-transfers.md
- Network accessline 36
- RPC endpoint: `https://zk-edge.surfnet.dev/` - Network accessline 744
For complete working examples including mint creation, see: https://github.com/gitteri/confidential-balances-exploration (Rust) and - Network accessline 745
https://github.com/gitteri/confidential-balances-exploration (Rust) and - Network accessline 746
https://github.com/catmcgee/confidential-transfers-explorer (TypeScript) - Network accessline 750
- Currently only works on ZK-Edge testnet (`https://zk-edge.surfnet.dev/`)
skills/solana-dev/references/frontend.md
- Network accessline 43
const rpcUrl = process.env.NEXT_PUBLIC_SOLANA_RPC_URL ?? 'https://api.devnet.solana.com'; - Network accessline 44
process.env.NEXT_PUBLIC_SOLANA_RPC_URL ?? 'https://api.devnet.solana.com'; - Network accessline 161
{isRunning ? 'Sending…' : error ? 'Retry' : 'Tip 0.01 SOL'} </button> {signature ? <a href={`https://explorer.solana.com/tx/${signature}`}>View</a> : null} - Network accessline 162
</button> {signature ? <a href={`https://explorer.solana.com/tx/${signature}`}>View</a> : null} </> - Network accessline 163
{signature ? <a href={`https://explorer.solana.com/tx/${signature}`}>View</a> : null} - Network accessline 219
**Multi-cluster apps:** include the cluster in the cache key, and derive it from the same source that built the client — the client is typically rebuilt one render *after* the selection flips, so a key read from selection state binds the ne
skills/solana-dev/references/keychain.md
- Access to secretsline 2
[Credential-related source omitted] - Access to secretsline 3
[Credential-related source omitted] - Access to secretsline 6
[Credential-related source omitted] - Network accessline 8
[Credential-related source omitted] - Access to secretsline 8
[Credential-related source omitted] - Access to secretsline 11
[Credential-related source omitted] - Access to secretsline 19
[Credential-related source omitted] - Access to secretsline 21
[Credential-related source omitted] - Access to secretsline 23
[Credential-related source omitted] - Access to secretsline 29
[Credential-related source omitted] - Access to secretsline 30
[Credential-related source omitted] - Access to secretsline 31
[Credential-related source omitted] - Access to secretsline 32
[Credential-related source omitted] - Access to secretsline 33
[Credential-related source omitted] - Access to secretsline 40
[Credential-related source omitted] - Access to secretsline 46
[Credential-related source omitted] - Network accessline 48
const rpcUrl = 'https://api.devnet.solana.com'; - Access to secretsline 50
[Credential-related source omitted] - Access to secretsline 53
[Credential-related source omitted] - Access to secretsline 62
[Credential-related source omitted] - Network accessline 63
- Each plugin creates a new signer when it is applied. To share one signer across clients, create it once and install it with the standard signer plugin: `createClient().use(signer(await createKeychainSigner(config)))`. - Call `await client - Network accessline 65
[Credential-related source omitted] - Access to secretsline 65
[Credential-related source omitted] - Access to secretsline 69
[Credential-related source omitted] - Access to secretsline 70
[Credential-related source omitted] - Access to secretsline 71
[Credential-related source omitted] - Access to secretsline 79
[Credential-related source omitted] - Network accessline 93
[Credential-related source omitted] - Access to secretsline 93
[Credential-related source omitted] - Network accessline 99
| Topic | URL | |---|---| | Overview | https://solana.com/docs/tools/keychain.md | - Network accessline 100
|---|---| | Overview | https://solana.com/docs/tools/keychain.md | | TypeScript (per-backend config, Kit client, capabilities) | https://solana.com/docs/tools/keychain/getting-started/typescript.md | - Network accessline 101
[Credential-related source omitted] - Access to secretsline 101
[Credential-related source omitted] - Network accessline 102
[Credential-related source omitted] - Access to secretsline 102
[Credential-related source omitted] - Network accessline 103
[Credential-related source omitted] - Access to secretsline 103
[Credential-related source omitted] - Network accessline 104
[Credential-related source omitted] - Access to secretsline 104
[Credential-related source omitted] - Network accessline 105
[Credential-related source omitted] - Access to secretsline 105
[Credential-related source omitted] - Network accessline 106
[Credential-related source omitted] - Access to secretsline 106
[Credential-related source omitted] - Network accessline 107
[Credential-related source omitted] - Access to secretsline 107
[Credential-related source omitted] - Network accessline 108
| Signing in production (concepts) | https://solana.com/docs/core/transactions/signing-in-production.md | - Network accessline 109
[Credential-related source omitted] - Access to secretsline 109
[Credential-related source omitted] - Network accessline 110
[Credential-related source omitted] - Access to secretsline 110
[Credential-related source omitted]
skills/solana-dev/references/kit-web3-interop.md
- Network accessline 14
The [3.0.0 release notes](https://github.com/solana-foundation/solana-web3.js/blob/main/packages/web3.js/RELEASE_NOTES.md) list the breaking changes from 1.x. The ones that bite most: `Keypair.generate()` / `fromSecretKey()` / `fromSeed()` - Network accessline 21
npx skills add https://github.com/solana-foundation/solana-web3.js/tree/main/skills/web3js-v1-to-v3-migration - Network accessline 38
- Repo (v3 on `main`): https://github.com/solana-foundation/solana-web3.js - Network accessline 39
- Migration guide: https://github.com/solana-foundation/solana-web3.js/blob/main/docs/web3js-v1-to-v3-migration.md - Network accessline 40
- Migration skill: https://github.com/solana-foundation/solana-web3.js/blob/main/skills/web3js-v1-to-v3-migration/SKILL.md - Network accessline 41
- API docs: https://solana-foundation.github.io/solana-web3.js/
skills/solana-dev/references/kit/advanced.md
- Network accessline 284
const rpc = createSolanaRpc('https://api.devnet.solana.com'); - Network accessline 291
const transport = createDefaultRpcTransport({ url: 'https://my-rpc.example.com', - Network accessline 292
url: 'https://my-rpc.example.com', - Network accessline 460
[Kora](https://github.com/solana-foundation/kora) builds a gasless payment client by composing standard plugins with a custom Kora plugin: - Network accessline 487
[Solana Pay](https://github.com/amilz/solana-pay) builds role-specific clients — a read-only merchant client and a full wallet client:
skills/solana-dev/references/kit/gotchas.md
- Network accessline 135
// ❌ May cause issues import { devnet } from '@solana/rpc-types'; const rpc = createSolanaRpc(devnet('https://my-custom-endpoint.com')); - Network accessline 137
const rpc = createSolanaRpc(devnet('https://my-custom-endpoint.com')); - Network accessline 139
// ✅ Simple: use raw URL strings directly const rpc = createSolanaRpc('https://api.devnet.solana.com'); - Network accessline 140
const rpc = createSolanaRpc('https://api.devnet.solana.com');
skills/solana-dev/references/kit/overview.md
- Network accessline 64
const client = createClient() .use(signer(mySigner)) // sets payer + identity; use payer(...) + identity(...) if they differ .use(solanaDevnetRpc({ transactionConfig })); // or solanaMainnetRpc({ rpcUrl: 'https://...', transactionConfig - Network accessline 66
.use(solanaDevnetRpc({ transactionConfig })); // or solanaMainnetRpc({ rpcUrl: 'https://...', transactionConfig }) - Network accessline 73
`solanaDevnetRpc()` defaults to `https://api.devnet.solana.com` and bundles airdrop. `solanaMainnetRpc({ rpcUrl })` is type-narrowed to a mainnet URL — no devnet-only methods like `airdrop`. - Network accessline 93
Full documentation: [LiteSVM](https://www.litesvm.com/docs/typescript/getting-started). - Access to secretsline 316
[Credential-related source omitted]
skills/solana-dev/references/kit/plugins.md
- Network accessline 33
.use(signer(mySigner)) // sets payer + identity to the same keypair .use(solanaRpc({ rpcUrl: 'https://api.mainnet-beta.solana.com', - Network accessline 34
.use(solanaRpc({ rpcUrl: 'https://api.mainnet-beta.solana.com', transactionConfig: { version: 1, priorityFeeLamports: lamports(5_000n) }, // v1 by default for new code - Network accessline 35
rpcUrl: 'https://api.mainnet-beta.solana.com', - Network accessline 68
// Devnet — defaults to https://api.devnet.solana.com, includes airdrop - Network accessline 71
// Local — defaults to http://127.0.0.1:8899, includes airdrop - Network accessline 140
.use(walletSigner({ chain: 'solana:mainnet' })) .use(solanaRpc({ rpcUrl: 'https://api.mainnet-beta.solana.com', - Network accessline 141
.use(solanaRpc({ rpcUrl: 'https://api.mainnet-beta.solana.com', transactionConfig: { version: 1 }, - Network accessline 142
rpcUrl: 'https://api.mainnet-beta.solana.com', - Access to secretsline 192
[Credential-related source omitted] - Network accessline 205
// Airdrop function must exist before generatedSignerWithSol. const client = await createClient() .use(solanaRpcConnection({ rpcUrl: 'http://127.0.0.1:8899' })) - Network accessline 206
const client = await createClient() .use(solanaRpcConnection({ rpcUrl: 'http://127.0.0.1:8899' })) .use(rpcAirdrop()) - Network accessline 207
.use(solanaRpcConnection({ rpcUrl: 'http://127.0.0.1:8899' })) - Network accessline 243
const client = await createClient() .use(rpc('https://api.devnet.solana.com')) // adds client.rpc + client.rpcSubscriptions - Network accessline 244
.use(rpc('https://api.devnet.solana.com')) // adds client.rpc + client.rpcSubscriptions - Network accessline 329
| Package | Exports | Purpose | Code Example | |---------|---------|---------|--------------| | `@solana/keychain-kit-plugin` | `keychainSigner`, `keychainPayer`, `keychainIdentity` | Server-side signers (KMS, Vault, MPC, managed wallets) a - Network accessline 330
|---------|---------|---------|--------------| | `@solana/keychain-kit-plugin` | `keychainSigner`, `keychainPayer`, `keychainIdentity` | Server-side signers (KMS, Vault, MPC, managed wallets) as client `payer` / `identity`; Kit 8.1+. See [k - Network accessline 331
[Credential-related source omitted] - Access to secretsline 331
[Credential-related source omitted] - Network accessline 332
| `@solana/kora` | `createKitKoraClient`, `koraPlugin` (stable); `kora` from `@solana/kora/kit` (beta) | Gasless transactions. Targets Kit 6 (stable) / Kit 7 (beta) and builds v0. See [kora.md](../kora.md) | https://github.com/solana-founda
skills/solana-dev/references/kit/programs/compute-budget.md
- Network accessline 226
- [Helius Priority Fee API](https://docs.helius.dev/solana-apis/priority-fee-api) - Network accessline 227
- [QuickNode Priority Fee Add-on](https://marketplace.quicknode.com/add-on/solana-priority-fee) - Network accessline 228
- [Triton Priority Fees API](https://docs.triton.one/chains/solana/improved-priority-fees-api)
skills/solana-dev/references/kit/programs/token-2022.md
- Network accessline 14
Token-2022 extends the base Token program with configurable extensions. For a full guide to available extensions and their use cases, see the [Token Extensions documentation](https://solana.com/docs/tokens/extensions). - Network accessline 79
See [Token Extensions documentation](https://solana.com/docs/tokens/extensions) for implementation details on each extension.
skills/solana-dev/references/kora.md
- Access to secretsline 38
[Credential-related source omitted] - Access to secretsline 41
[Credential-related source omitted] - Network accessline 43
[Credential-related source omitted] - Access to secretsline 43
[Credential-related source omitted] - Network accessline 45
- Hosted providers: [providers](https://solana.com/docs/tools/kora/providers.md). - Network accessline 47
Full configuration reference: [operators/configuration](https://solana.com/docs/tools/kora/operators/configuration.md). - Network accessline 64
| Payment instruction fails | Missing ATA on the payment address, or stale blockhash | Operator runs `rpc initialize-atas`; client rebuilds with a fresh blockhash | | Signature verification fails | User did not sign the final transaction, o - Network accessline 66
| HTTP 401 | Missing or wrong `x-api-key` / HMAC headers | See [authentication](https://solana.com/docs/tools/kora/operators/authentication.md) | - Network accessline 72
| Topic | URL | |---|---| | Overview | https://solana.com/docs/tools/kora.md | - Network accessline 73
|---|---| | Overview | https://solana.com/docs/tools/kora.md | | Fee abstraction (concepts, when to sponsor) | https://solana.com/docs/payments/send-payments/payment-processing/fee-abstraction.md | - Network accessline 74
| Overview | https://solana.com/docs/tools/kora.md | - Network accessline 75
| Fee abstraction (concepts, when to sponsor) | https://solana.com/docs/payments/send-payments/payment-processing/fee-abstraction.md | - Network accessline 76
| Quick start | https://solana.com/docs/tools/kora/getting-started/quick-start.md | - Network accessline 77
| Kit client guide | https://solana.com/docs/tools/kora/guides/kit-client.md | - Network accessline 78
| Full demo (manual flow) | https://solana.com/docs/tools/kora/guides/full-demo.md | - Network accessline 79
| JSON-RPC API | https://solana.com/docs/tools/kora/json-rpc-api.md | - Network accessline 80
| Operator configuration | https://solana.com/docs/tools/kora/operators/configuration.md | - Network accessline 81
| Fees and pricing | https://solana.com/docs/tools/kora/operators/fees.md | - Network accessline 82
| Signers | https://solana.com/docs/tools/kora/operators/signers.md | - Network accessline 83
| Authentication | https://solana.com/docs/tools/kora/operators/authentication.md | - Network accessline 84
| CLI | https://solana.com/docs/tools/kora/operators/cli.md | - Network accessline 85
| Beta (bundles, Jito, usage limits) | https://solana.com/docs/tools/kora/beta.md | - Network accessline 86
| x402 facilitator with Kora | https://solana.com/docs/tools/kora/guides/x402.md | - Network accessline 87
| Source | https://github.com/solana-foundation/kora |
skills/solana-dev/references/mosaic.md
- Network accessline 52
| Topic | URL | |---|---| | Overview, templates | https://github.com/solana-foundation/mosaic | - Network accessline 53
|---|---| | Overview, templates | https://github.com/solana-foundation/mosaic | | SDK README | https://github.com/solana-foundation/mosaic/blob/main/packages/sdk/README.md | - Network accessline 54
| Overview, templates | https://github.com/solana-foundation/mosaic | - Network accessline 55
| SDK README | https://github.com/solana-foundation/mosaic/blob/main/packages/sdk/README.md | - Network accessline 56
| SDK changelog (breaking changes, dependency pins) | https://github.com/solana-foundation/mosaic/blob/main/packages/sdk/CHANGELOG.md | - Network accessline 57
| CLI README | https://github.com/solana-foundation/mosaic/blob/main/packages/cli/README.md | - Network accessline 58
| sRFC-37 (Token ACL) | https://github.com/solana-foundation/SRFCs/discussions/2 | - Network accessline 59
| Token extensions guide | https://solana.com/docs/tokens/extensions |
skills/solana-dev/references/payments.md
skills/solana-dev/references/programs/anchor.md
- Network accessline 275
- Current stable: **Anchor 1.2.x** (latest: 1.2.1, Oct 2026). CI-tested Solana CLI pairing: 4.1.2. - The repo moved to [otter-sec/anchor](https://github.com/otter-sec/anchor); `solana-foundation/anchor` redirects. Crate names (`anchor-lang` - Network accessline 276
- The repo moved to [otter-sec/anchor](https://github.com/otter-sec/anchor); `solana-foundation/anchor` redirects. Crate names (`anchor-lang`, `anchor-cli`, ...) and the npm package (`@anchor-lang/core`) are unchanged. - Network accessline 277
- Use AVM (Anchor Version Manager) for reproducible builds. Install AVM from git (`cargo install --git https://github.com/otter-sec/anchor avm --force` — the `avm` crate on crates.io is unrelated), then `avm install latest` / `avm use lates - Network accessline 321
See [no-dna.org](https://no-dna.org) for the `NO_DNA` standard. - Network accessline 354
- `anchor build` also writes a TypeScript error constants file from the IDL; `anchor-spl` adds pausable mint, `create_native_mint`, `initialize_non_transferable_mint`, `reallocate`, `withdraw_excess_lamports` and `token_metadata_remove_key` - Network accessline 356
- `@anchor-lang/core` 1.2.x does not read transaction v1 yet ([#4977](https://github.com/otter-sec/anchor/pull/4977) open); use Kit or Codama clients for v1 flows.
skills/solana-dev/references/programs/design-patterns.md
- Network accessline 97
- **Reach for zero-copy when an account is large or hot** (deserialization cost dominates) and for **`LazyAccount`** when an instruction needs one field out of a big struct. Syntax and code for both: [anchor.md](anchor.md). - **Benchmark CU - Network accessline 98
- **Benchmark CU** with `sol_log_compute_units()` or the `compute_fn!` macro to find expensive instructions, then set the limit from simulation. Client-side instructions: [../kit/programs/compute-budget.md](../kit/programs/compute-budget.md - Network accessline 99
- **Address Lookup Tables (ALTs):** the ~1,232-byte tx limit caps a legacy transaction near ~30 addresses; an ALT stores up to 256 addresses on-chain and a v0 transaction references each by a 1-byte index instead of a 32-byte pubkey. This b
skills/solana-dev/references/programs/pinocchio.md
- Network accessline 56
Repo: [anza-xyz/pinocchio](https://github.com/anza-xyz/pinocchio) - Network accessline 702
For debug output or non-critical events where truncation is acceptable, use `solana-program-log` (pinocchio's own log module is being removed in favour of this crate — see [anza-xyz/pinocchio#261](https://github.com/anza-xyz/pinocchio/pull/
skills/solana-dev/references/resources.md
- Network accessline 8
## Learning Platforms - [Blueshift](https://learn.blueshift.gg/) - Free, open-source Solana learning platform - Network accessline 9
- [Blueshift](https://learn.blueshift.gg/) - Free, open-source Solana learning platform - Network accessline 10
- [Blueshift GitHub](https://github.com/blueshift-gg) - Course content and tools - Network accessline 11
- [Blueshift Research](https://blueshift.gg/research/) - Ecosystem research and announcements - Network accessline 12
- [Solana Cookbook](https://solanacookbook.com/) - Network accessline 14
## Core Solana Docs - [Solana Documentation](https://solana.com/docs) (Core, RPC, Frontend, Programs) - Network accessline 15
- [Solana Documentation](https://solana.com/docs) (Core, RPC, Frontend, Programs) - Network accessline 16
- [RPC API Reference](https://solana.com/docs/rpc) - Network accessline 18
## Transaction v1 / Larger Transactions (SIMD-0385) - [Larger Transaction Sizes upgrade guide](https://solana.com/upgrades/larger-transaction-sizes) - Network accessline 19
- [Larger Transaction Sizes upgrade guide](https://solana.com/upgrades/larger-transaction-sizes) - Network accessline 20
- [SIMD-0385 — transaction v1 format](https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0385-transaction-v1.md) - Network accessline 21
- [SIMD-0296 — larger transactions](https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0296-larger-transactions.md) - Network accessline 22
- [transaction-v1-examples](https://github.com/solana-foundation/transaction-v1-examples) (runnable Rust, TypeScript, Python, Go — send, decode, read blocks, index over gRPC; `ts/kit-plugins` shows v1 through a kit plugin client, `ts/wallet - Network accessline 23
- [Agave releases](https://github.com/anza-xyz/agave/releases) (4.2.2 activated `enable_tx_v1` on mainnet, 2026-09-15) - Network accessline 25
## Modern JS/TS SDK - [@solana/kit Repository](https://github.com/anza-xyz/kit) - Network accessline 26
- [@solana/kit Repository](https://github.com/anza-xyz/kit) - Network accessline 27
- [Solana Kit Docs](https://www.solanakit.com/) (createClient, plugins, getting started) - Network accessline 28
- [Kit Plugins Repository](https://github.com/anza-xyz/kit-plugins) (rpc, signer, wallet, litesvm, instruction-plan — rpc/litesvm 0.19+ plan transaction v1, wallet 0.20+ reports wallet v1 support) - Network accessline 29
- [Solana Kit Docs](https://www.solanakit.com/docs) - Network accessline 31
## web3.js v3 (classic API on Kit internals) - [solana-web3.js (v3 on `main`)](https://github.com/solana-foundation/solana-web3.js) - Network accessline 32
- [solana-web3.js (v3 on `main`)](https://github.com/solana-foundation/solana-web3.js) - Network accessline 33
- [v1 → v3 Migration Guide](https://github.com/solana-foundation/solana-web3.js/blob/main/docs/web3js-v1-to-v3-migration.md) - Network accessline 34
- [3.0.0 Release Notes](https://github.com/solana-foundation/solana-web3.js/blob/main/packages/web3.js/RELEASE_NOTES.md) - Network accessline 35
- [Sunrising Web3.js announcement](https://blueshift.gg/research/sunrising-web3js-reuniting-solanas-typescript-ecosystem) - Network accessline 36
- [web3.js API docs](https://solana-foundation.github.io/solana-web3.js/) - Network accessline 38
## Scaffolding - [create-solana-dapp](https://github.com/solana-developers/create-solana-dapp) - Network accessline 39
- [create-solana-dapp](https://github.com/solana-developers/create-solana-dapp) - Network accessline 43
### Anchor - [Anchor Repository](https://github.com/otter-sec/anchor) - Network accessline 44
- [Anchor Repository](https://github.com/otter-sec/anchor) - Network accessline 45
- [Anchor Documentation](https://www.anchor-lang.com/) - Network accessline 46
- [Anchor Version Manager (AVM)](https://www.anchor-lang.com/docs/avm) - Network accessline 48
### Pinocchio - [Pinocchio Repository](https://github.com/anza-xyz/pinocchio) - Network accessline 49
- [Pinocchio Repository](https://github.com/anza-xyz/pinocchio) - Network accessline 50
- [pinocchio-system](https://crates.io/crates/pinocchio-system) - Network accessline 51
- [pinocchio-token](https://crates.io/crates/pinocchio-token) - Network accessline 52
- [Pinocchio Guide](https://github.com/vict0rcarvalh0/pinocchio-guide) - Network accessline 53
- [How to Build with Pinocchio (Helius)](https://www.helius.dev/blog/pinocchio) - Network accessline 57
### Surfpool - [Surfpool Documentation](https://solana.com/docs/tools/surfpool/) - Network accessline 58
- [Surfpool Documentation](https://solana.com/docs/tools/surfpool/) - Network accessline 59
- [Surfpool Repository](https://github.com/solana-foundation/surfpool) - Network accessline 61
### LiteSVM - [LiteSVM Repository](https://github.com/LiteSVM/litesvm) - Network accessline 62
- [LiteSVM Repository](https://github.com/LiteSVM/litesvm) - Network accessline 63
- [LiteSVM Docs](https://solana.com/docs/tools/litesvm) - Network accessline 64
- [litesvm crate](https://crates.io/crates/litesvm) - Network accessline 65
- [litesvm npm](https://www.npmjs.com/package/litesvm) - Network accessline 67
### Mollusk - [Mollusk Repository](https://github.com/anza-xyz/mollusk) - Network accessline 68
- [Mollusk Repository](https://github.com/anza-xyz/mollusk) - Network accessline 69
- [mollusk-svm crate](https://crates.io/crates/mollusk-svm) - Network accessline 71
### Fuzzing - [Trident (Ackee Solana fuzzer)](https://ackee.xyz/trident/docs/latest/) - Network accessline 72
- [Trident (Ackee Solana fuzzer)](https://ackee.xyz/trident/docs/latest/) - Network accessline 73
- [Trident Repository](https://github.com/Ackee-Blockchain/trident) - Network accessline 74
- [Crucible Repository](https://github.com/asymmetric-research/crucible) - Network accessline 76
## IDLs and Codegen - [Codama Repository](https://github.com/codama-idl/codama) - Network accessline 77
- [Codama Repository](https://github.com/codama-idl/codama) - Network accessline 78
- [Codama Generating Clients](https://solana.com/docs/programs/codama/clients) - Network accessline 79
- [Shank (Metaplex)](https://github.com/metaplex-foundation/shank) - Network accessline 81
## Tokens and NFTs - [SPL Token Documentation](https://spl.solana.com/token) - Network accessline 82
- [SPL Token Documentation](https://spl.solana.com/token) - Network accessline 83
- [Token-2022 Documentation](https://spl.solana.com/token-2022) - Network accessline 84
- [Metaplex Documentation](https://developers.metaplex.com/) - Network accessline 85
- [Mosaic (Token-2022 issuance templates)](https://github.com/solana-foundation/mosaic) - Network accessline 86
- [sRFC-37 Token ACL](https://github.com/solana-foundation/SRFCs/discussions/2) - Network accessline 88
## Payments - [Kora Documentation](https://solana.com/docs/tools/kora) ([Markdown](https://solana.com/docs/tools/kora.md)) - Network accessline 89
- [Kora Documentation](https://solana.com/docs/tools/kora) ([Markdown](https://solana.com/docs/tools/kora.md)) - Network accessline 90
- [Kora Repository](https://github.com/solana-foundation/kora) - Network accessline 91
- [Fee abstraction guide](https://solana.com/docs/payments/send-payments/payment-processing/fee-abstraction) - Network accessline 92
- [Solana Pay](https://solana.com/docs/tools/solana-pay) - Network accessline 94
## Signing Infrastructure - [Solana Keychain Documentation](https://solana.com/docs/tools/keychain) ([Markdown](https://solana.com/docs/tools/keychain.md)) - Network accessline 95
[Credential-related source omitted] - Access to secretsline 95
[Credential-related source omitted] - Network accessline 96
[Credential-related source omitted] - Access to secretsline 96
[Credential-related source omitted] - Network accessline 97
- [Signing in production](https://solana.com/docs/core/transactions/signing-in-production) - Network accessline 99
## Security - [Blueshift Program Security Course](https://learn.blueshift.gg/en/courses/program-security) - Network accessline 100
- [Blueshift Program Security Course](https://learn.blueshift.gg/en/courses/program-security) - Network accessline 101
- [r0bre's 100 Daily Solana Tips (accretionxyz)](https://accretionxyz.substack.com/p/r0bres-100-daily-solana-tips) - program design, security, and best-practice tips (distilled into [security.md](security.md) and [programs/design-patterns.m - Network accessline 102
- [cargo-expand (roll out macros to review generated code)](https://github.com/dtolnay/cargo-expand) - Network accessline 104
## Reference Programs Worth Reading Well-built production programs to read for structure and conventions: - [Squads Protocol v4 (Anchor)](https://github.com/Squads-Protocol/v4) - Network accessline 105
Well-built production programs to read for structure and conventions: - [Squads Protocol v4 (Anchor)](https://github.com/Squads-Protocol/v4) - [Sanctum's S (non-Anchor)](https://github.com/igneous-labs/S) - Network accessline 106
- [Squads Protocol v4 (Anchor)](https://github.com/Squads-Protocol/v4) - Network accessline 107
- [Sanctum's S (non-Anchor)](https://github.com/igneous-labs/S) - Network accessline 108
- [Ellipsis Labs' Plasma and gavel (non-Anchor)](https://github.com/Ellipsis-Labs/plasma) - Network accessline 110
## Performance and Optimization - [Solana Optimized Programs](https://github.com/Laugharne/solana_optimized_programs) - Network accessline 111
- [Solana Optimized Programs](https://github.com/Laugharne/solana_optimized_programs) - Network accessline 112
- [sBPF Assembly SDK (blueshift)](https://github.com/blueshift-gg/sbpf) - Network accessline 113
- [sbpf (deanmlittle) — write/optimize programs in sBPF assembly](https://github.com/deanmlittle/sbpf) - Network accessline 114
- [Doppler Oracle (21 CU)](https://github.com/blueshift-gg/doppler) - Network accessline 116
## Cryptography Primer - [Elliptic Curve Cryptography visual primer](https://curves.xargs.org) - Network accessline 117
- [Elliptic Curve Cryptography visual primer](https://curves.xargs.org) - Network accessline 119
## Agent Skills - [Agent Skills Specification](https://agentskills.io/specification) - Network accessline 120
- [Agent Skills Specification](https://agentskills.io/specification) - Network accessline 121
- [skills.sh (skill discovery + installer)](https://www.skills.sh/) - Network accessline 122
- [web3.js v1→v3 migration skill](https://github.com/solana-foundation/solana-web3.js/tree/main/skills/web3js-v1-to-v3-migration)
skills/solana-dev/references/rpc-quick-lookups.md
- Network accessline 9
Source: https://solana.com/docs/references/clusters.md - Network accessline 11
| Cluster | URL | |---|---| | mainnet-beta | `https://api.mainnet-beta.solana.com` | - Network accessline 12
|---|---| | mainnet-beta | `https://api.mainnet-beta.solana.com` | | devnet | `https://api.devnet.solana.com` | - Network accessline 13
| mainnet-beta | `https://api.mainnet-beta.solana.com` | - Network accessline 14
| devnet | `https://api.devnet.solana.com` | - Network accessline 15
| testnet | `https://api.testnet.solana.com` | - Network accessline 23
All Solana RPC is JSON-RPC 2.0 over HTTP POST. Reference: https://solana.com/docs/rpc/http.md (append `.md` to any solana.com docs URL for the LLM-friendly markdown version; individual methods live at e.g. `https://solana.com/docs/rpc/http/ - Network accessline 26
curl -s https://api.mainnet-beta.solana.com -X POST \ - Network accessline 40
curl -s https://api.mainnet-beta.solana.com -X POST \ - Network accessline 50
curl -s https://api.mainnet-beta.solana.com -X POST \ - Network accessline 60
curl -s https://api.mainnet-beta.solana.com -X POST \ - Network accessline 65
Always include `maxSupportedTransactionVersion` — without it, any versioned transaction returns an error. Use the integer `1`, not `0`: v1 transactions ([SIMD-0385](https://github.com/solana-foundation/solana-improvement-documents/blob/main - Network accessline 72
curl -s https://api.mainnet-beta.solana.com -X POST \ - Network accessline 82
curl -s https://api.mainnet-beta.solana.com -X POST \ - Network accessline 92
curl -s https://api.mainnet-beta.solana.com -X POST \ - Network accessline 104
curl -s https://api.devnet.solana.com -X POST \
skills/solana-dev/references/security.md
- Network accessline 415
> Source: [@0xcastle_chain Token-2022 Security Checklist thread](https://x.com/0xcastle_chain/status/2031497044775366770)
skills/solana-dev/references/surfpool/cheatcodes.md
- Network accessline 8
All 28 `surfnet_*` JSON-RPC methods available on the surfnet RPC endpoint (default `http://127.0.0.1:8899`), as of Surfpool v1.6.1. v1.6.0 added the two confidential-balance methods; nothing was removed or renamed since v1.5.0. - Network accessline 91
curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \ - Network accessline 114
curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \ - Network accessline 133
# 1. Derive keys from the owner's signature over "solana-conf-bal/v1" || <TOKEN_ACCOUNT> bytes curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \ - Network accessline 134
curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \ - Network accessline 137
# 2. Create the token account with 1000 confidential tokens, using elgamalPubkey + aesKey from step 1 curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \ - Network accessline 138
curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \ - Network accessline 141
# 3. Decrypt it, using aesKey + elgamalSecretKey from step 1 curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \ - Network accessline 142
curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \ - Network accessline 154
curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \ - Network accessline 163
curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \ - Network accessline 189
curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \ - Network accessline 198
curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \
skills/solana-dev/references/surfpool/kit-plugin.md
- Network accessline 177
// Standalone RPC, no Kit client involved const cheatcodes = createSurfnetCheatcodesRpc('http://127.0.0.1:8899'); - Network accessline 178
const cheatcodes = createSurfnetCheatcodesRpc('http://127.0.0.1:8899'); - Network accessline 185
`surfnetCheatcodes()` resolves its endpoint from `url` if given, then from an existing `client.rpcUrl` (so it composes with any client carrying one), and finally from `DEFAULT_SURFNET_ENDPOINT` (`http://127.0.0.1:8899`). Both accept a `head - Network accessline 245
const client = createClient() .use(payer(myPayer)) .use(surfpool({ rpcUrl: 'http://127.0.0.1:8899' })); - Network accessline 247
.use(surfpool({ rpcUrl: 'http://127.0.0.1:8899' }));
skills/solana-dev/references/surfpool/overview.md
- Network accessline 27
Surfpool ([solana-foundation/surfpool](https://github.com/solana-foundation/surfpool), docs at [solana.com/docs/tools](https://solana.com/docs/tools/surfpool), latest release **v1.6.1**) is a drop-in replacement for `solana-test-validator` - Dangerous shell operationline 42
curl -sL https://run.surfpool.run/ | bash - Network accessline 42
curl -sL https://run.surfpool.run/ | bash - Network accessline 77
See [no-dna.org](https://no-dna.org) for the full standard. - Network accessline 116
surfpool start --rpc-url https://my-rpc-provider.com - Network accessline 236
solana-test-validator --clone TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA --clone <account-1> --clone <account-2> --url https://api.mainnet-beta.solana.com - Network accessline 238
--clone <account-1> \ --clone <account-2> \ --url https://api.mainnet-beta.solana.com \ - Network accessline 239
--clone <account-2> \ --url https://api.mainnet-beta.solana.com \ --reset - Network accessline 240
--url https://api.mainnet-beta.solana.com \ - Network accessline 267
curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \ - Network accessline 279
Then point the test client to `http://127.0.0.1:8899` instead of using the in-process bank. Or skip the daemon entirely and use the embedded SDK (see above). - Network accessline 649
Surfpool detects `txtx.yml`, generates a deployment runbook if needed, deploys programs, and airdrops SOL to the default keypair. The RPC is available at `http://127.0.0.1:8899`. - Network accessline 654
curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \ - Network accessline 661
# Pause curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \ - Network accessline 662
curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \ - Network accessline 665
# Time travel to a future epoch curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \ - Network accessline 666
curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \ - Network accessline 669
# Resume curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \ - Network accessline 670
curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \ - Network accessline 677
curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \ - Network accessline 684
# Export snapshot curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \ - Network accessline 685
curl -X POST http://127.0.0.1:8899 -H "Content-Type: application/json" \
skills/solana-dev/references/testing.md
- Network accessline 214
Surfpool (repo: [solana-foundation/surfpool](https://github.com/solana-foundation/surfpool), docs: [docs.surfpool.run](https://docs.surfpool.run)) provides a local surfnet — a drop-in replacement for `solana-test-validator` with lazy mainne - Network accessline 227
# Primary install method curl -sL https://run.surfpool.run/ | bash - Dangerous shell operationline 228
curl -sL https://run.surfpool.run/ | bash - Network accessline 228
curl -sL https://run.surfpool.run/ | bash - Network accessline 238
1. **CLI-spawned**: `NO_DNA=1 surfpool start` (or `--ci --daemon` in CI). Tests connect to `http://127.0.0.1:8899`. - Network accessline 363
NO_DNA=1 surfpool start # mainnet fork (default) NO_DNA=1 surfpool start --network devnet # or devnet/testnet NO_DNA=1 surfpool start --rpc-url https://my-rpc-provider.com - Network accessline 365
NO_DNA=1 surfpool start --rpc-url https://my-rpc-provider.com - Network accessline 391
- **[Trident](https://ackee.xyz/trident/docs/latest/)** (Ackee) — the dedicated Solana fuzzing framework: generates instruction sequences targeting potential vulnerabilities, with account-state modeling built in. Start here for program-leve - Network accessline 392
- **[Crucible](https://github.com/asymmetric-research/crucible)** (Asymmetric Research) — High-performance Solana Program Fuzzer written in Rust with LibAFL/LiteSVM backend with sBPF edge coverage and state coverage. - Network accessline 393
- **libFuzzer** via [`cargo-fuzz`](https://rust-fuzz.github.io/book/cargo-fuzz.html) — coverage-guided, mutation-based fuzzing for Rust functions without the full Solana runtime. Good for pure helpers (math, parsing); `cargo fuzz init` gene - Network accessline 461
# - uses: actions/checkout@v4 # - name: Install Surfpool # run: curl -sL https://run.surfpool.run/ | bash - Network accessline 462
# - name: Install Surfpool # run: curl -sL https://run.surfpool.run/ | bash # - run: NO_DNA=1 surfpool start --ci --daemon - Dangerous shell operationline 463
# run: curl -sL https://run.surfpool.run/ | bash - Network accessline 463
# run: curl -sL https://run.surfpool.run/ | bash - Network accessline 468
Always prefix agent-run surfpool commands with `NO_DNA=1` (see [no-dna.org](https://no-dna.org)).
skills/solana-dev/references/transactions-v1.md
- Network accessline 8
The `v1` transaction format ([SIMD-0385](https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0385-transaction-v1.md)) raises the per-transaction size limit from 1232 to 4096 bytes ([SIMD-0296](https://githu - Network accessline 87
The full send-and-read-back and confidential-transfer examples on a plugin client live in [`transaction-v1-examples/ts/kit-plugins`](https://github.com/solana-foundation/transaction-v1-examples/tree/main/ts/kit-plugins). - Network accessline 100
If `has(1)` is `false`, the wallet rejects a v1 signing request. Keep a `version: 0` client (or a version-0 `transactionConfig` on a second `solanaRpc` plugin) for those users rather than failing the send; the transaction has to fit in 1232 - Network accessline 379
| `@solana/web3.js` v3 | **`3.0.0`+** (released 2026-10-01; current 3.1.1) — `compileToV1Message`, send and read | | `@solana/web3.js` 1.x | **`1.99.0`** — **read only**. 1.x never builds, signs, serializes, or sends v1; migrate to kit 8 fo - Network accessline 380
| `@solana/web3.js` 1.x | **`1.99.0`** — **read only**. 1.x never builds, signs, serializes, or sends v1; migrate to kit 8 for that | | `@anchor-lang/core` | **0.32.2 / 0.31.2** read v1 through web3.js 1.99.0. 1.x through 1.2.1 still fetch - Network accessline 381
| `@anchor-lang/core` | **0.32.2 / 0.31.2** read v1 through web3.js 1.99.0. 1.x through 1.2.1 still fetch with `maxSupportedTransactionVersion: 0`; v1 support is [#4977](https://github.com/otter-sec/anchor/pull/4977) (open) | - Network accessline 382
| Rust `solana-*` | **4.x** (`solana-message` 4.1.0 added `v1::Message`; 4.2.x adds the inherent `Message::serialize()`). Anchor programs default to the 3.x crate line; Anchor 1.2.1 can opt into 4.x with the `solana-v4` feature. The 4.x req - Network accessline 383
| Python `solders` | 0.29.0+ — read and send. Earlier releases have neither | | Go `solana-go` | **v2.0.0+** (`github.com/solana-foundation/solana-go/v2`, current v2.1.0) or **v1.23.0+** (`github.com/gagliardetto/solana-go`, current v1.25.0 - Network accessline 384
| Go `solana-go` | **v2.0.0+** (`github.com/solana-foundation/solana-go/v2`, current v2.1.0) or **v1.23.0+** (`github.com/gagliardetto/solana-go`, current v1.25.0) — [PR #481](https://github.com/solana-foundation/solana-go/pull/481) adds `s - Network accessline 387
Runnable examples in all four languages — sending, decoding, reading blocks, indexing over gRPC, plus offline and live tests: [`solana-foundation/transaction-v1-examples`](https://github.com/solana-foundation/transaction-v1-examples). - Network accessline 476
- [SIMD-0385 — transaction v1 format](https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0385-transaction-v1.md) - Network accessline 477
- [SIMD-0296 — larger transactions](https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0296-larger-transactions.md) - Network accessline 478
- [Larger Transaction Sizes upgrade guide](https://solana.com/upgrades/larger-transaction-sizes) - Network accessline 479
- [`transaction-v1-examples`](https://github.com/solana-foundation/transaction-v1-examples) — runnable Rust, TypeScript, Python, and Go - Network accessline 480
- [`transaction-v1-examples/ts/kit-plugins`](https://github.com/solana-foundation/transaction-v1-examples/tree/main/ts/kit-plugins) — v1 through a plugin client - Network accessline 481
- [Agave releases](https://github.com/anza-xyz/agave/releases)
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Signal confidence: 419 facts
- Access to secrets in the frontmatter of the SKILL.md: a variable, placeholder or call, not a stored valuesolana-dev/SKILL.md:3Low confidence
- Access to secrets in prose of the SKILL.md: a variable, placeholder or call, not a stored valuesolana-dev/SKILL.md:25Low confidence
- Access to secrets in prose of the SKILL.md: a variable, placeholder or call, not a stored valuesolana-dev/SKILL.md:47Low confidence
- Access to secrets in prose of the SKILL.md: a variable, placeholder or call, not a stored valuesolana-dev/SKILL.md:48Low confidence
- Access to secrets in prose of the SKILL.md: a variable, placeholder or call, not a stored valuesolana-dev/SKILL.md:49Low confidence
- Access to secrets in prose of the SKILL.mdsolana-dev/SKILL.md:81Low confidence
- Network access in prose of the SKILL.mdsolana-dev/SKILL.md:107Low confidence
- Network access in prose of the SKILL.mdsolana-dev/SKILL.md:148Low confidence
- Network access in code of the SKILL.mdsolana-dev/SKILL.md:155High confidence
- Network access in code of the SKILL.mdsolana-dev/SKILL.md:156High confidence
- Network access in code of the SKILL.mdsolana-dev/SKILL.md:158High confidence
- Network access in code of the SKILL.mdsolana-dev/SKILL.md:159High confidence
- Network access in code of the SKILL.mdsolana-dev/SKILL.md:161High confidence
- Network access in code of the SKILL.mdsolana-dev/SKILL.md:162High confidence
- Network access in prose of the SKILL.mdsolana-dev/SKILL.md:165Low confidence
- Network access in prose of the SKILL.mdsolana-dev/SKILL.md:185Low confidence
- Network access in prose of the SKILL.mdsolana-dev/SKILL.md:186Low confidence
- Access to secrets in prose of the SKILL.md: a variable, placeholder or call, not a stored valuesolana-dev/SKILL.md:203Low confidence
- Network access in code of documentationsolana-dev/references/anchor/migrating-v0.32-to-v1.md:82Low confidence
- Network access in code of documentationsolana-dev/references/anchor/migrating-v0.32-to-v1.md:89Low confidence
- Dangerous shell operation in code of documentationsolana-dev/references/anchor/migrating-v0.32-to-v1.md:94Low confidence
- Network access in code of documentationsolana-dev/references/anchor/migrating-v0.32-to-v1.md:94Low confidence
- Network access in prose of documentationsolana-dev/references/anchor/migrating-v0.32-to-v1.md:357Low confidence
- Network access in code of documentationsolana-dev/references/anchor/migrating-v0.32-to-v1.md:446Low confidence
- Network access in code of documentationsolana-dev/references/anchor/migrating-v0.32-to-v1.md:447Low confidence
- Network access in code of documentationsolana-dev/references/anchor/migrating-v0.32-to-v1.md:468Low confidence
- Network access in code of documentationsolana-dev/references/anchor/migrating-v0.32-to-v1.md:470Low confidence
- Network access in code of documentationsolana-dev/references/anchor/migrating-v0.32-to-v1.md:480Low confidence
- Dangerous shell operation in code of documentationsolana-dev/references/anchor/migrating-v0.32-to-v1.md:481Low confidence
- Network access in code of documentationsolana-dev/references/anchor/migrating-v0.32-to-v1.md:481Low confidence
- Network access in code of documentationsolana-dev/references/anchor/migrating-v0.32-to-v1.md:506Low confidence
- Network access in code of documentationsolana-dev/references/anchor/migrating-v0.32-to-v1.md:508Low confidence
- Network access in code of documentationsolana-dev/references/anchor/migrating-v0.32-to-v1.md:765Low confidence
- Network access in code of documentationsolana-dev/references/anchor/migrating-v0.32-to-v1.md:766Low confidence
- Network access in code of documentationsolana-dev/references/common-errors.md:36Low confidence
- Network access in code of documentationsolana-dev/references/common-errors.md:37Low confidence
- Network access in code of documentationsolana-dev/references/common-errors.md:39Low confidence
- Network access in code of documentationsolana-dev/references/common-errors.md:40Low confidence
- Network access in code of documentationsolana-dev/references/common-errors.md:42Low confidence
- Network access in code of documentationsolana-dev/references/common-errors.md:43Low confidence
- Network access in prose of documentationsolana-dev/references/common-errors.md:64Low confidence
- Network access in prose of documentationsolana-dev/references/common-errors.md:66Low confidence
- Network access in prose of documentationsolana-dev/references/common-errors.md:67Low confidence
- Network access in code of documentationsolana-dev/references/common-errors.md:70Low confidence
- Network access in code of documentationsolana-dev/references/common-errors.md:72Low confidence
- Network access in prose of documentationsolana-dev/references/common-errors.md:106Low confidence
- Dangerous shell operation in prose of documentationsolana-dev/references/common-errors.md:107Low confidence
- Network access in prose of documentationsolana-dev/references/common-errors.md:107Low confidence
- Dangerous shell operation in code of documentationsolana-dev/references/common-errors.md:132Low confidence
- Network access in code of documentationsolana-dev/references/common-errors.md:138Low confidence
and 369 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md skills/solana-dev/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md skills/solana-dev/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/solana-dev/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/solana-dev/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/solana-dev/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/solana-dev/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.