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)

Compare on GitHub

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.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit c9da2624cc6baca5c8c2123ea50d92ef19f1c917

586GitHub stars
4stars in 7 days
1skill in this repository
12commits in 30 days

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

Oct 25, 2026Nov 6, 2026586

30-day change not yet available: not enough history.

Individual skills in this repository

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 tokens

Always available to the agent

SKILL.md

4,132 tokens

When the skill is activated

Reference documents

126,126 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. What this Skill is for
  2. Default stack decisions (opinionated)
  3. Agent safety guardrails
  4. Agent-friendly CLI usage (NO_DNA)
  5. Operating procedure (how to execute tasks)
  6. Solana MCP server (live docs + expert assistance)
  7. Progressive disclosure (read when needed)

Files

  • SKILL.mdcore16,604 bytes
  • SKILL.mdcore16,604 bytes
  • SKILL.mdcore16,604 bytes
  • references/anchor/migrating-v0.32-to-v1.mddoc34,264 bytes
  • references/common-errors.mddoc25,037 bytes
  • references/compatibility-matrix.mddoc25,267 bytes
  • references/concepts.mddoc4,540 bytes
  • references/confidential-transfers.mddoc26,580 bytes
  • references/frontend.mddoc12,586 bytes
  • references/idl-codegen.mddoc1,621 bytes
  • references/keychain.mddoc8,347 bytes
  • references/kit-web3-interop.mddoc3,503 bytes
  • references/kit/accounts.mddoc3,941 bytes
  • references/kit/advanced.mddoc17,903 bytes
  • references/kit/codama.mddoc2,525 bytes
  • references/kit/codecs.mddoc4,065 bytes
  • references/kit/gotchas.mddoc11,962 bytes
  • references/kit/overview.mddoc15,704 bytes
  • references/kit/plugins.mddoc17,011 bytes
  • references/kit/programs/compute-budget.mddoc10,658 bytes
  • references/kit/programs/system.mddoc4,319 bytes
  • references/kit/programs/token-2022.mddoc2,824 bytes
  • references/kit/programs/token.mddoc7,484 bytes
  • references/kit/react.mddoc12,112 bytes
  • references/kora.mddoc6,469 bytes
  • references/mosaic.mddoc5,713 bytes
  • references/payments.mddoc2,984 bytes
  • references/programs/anchor.mddoc13,031 bytes
  • references/programs/design-patterns.mddoc16,223 bytes
  • references/programs/pinocchio.mddoc25,052 bytes
  • references/resources.mddoc6,806 bytes
  • references/rpc-quick-lookups.mddoc5,713 bytes
  • references/security.mddoc33,747 bytes
  • references/surfpool/cheatcodes.mddoc13,374 bytes
  • references/surfpool/kit-plugin.mddoc14,774 bytes
  • references/surfpool/overview.mddoc26,182 bytes
  • references/testing.mddoc21,119 bytes
  • references/tokens.mddoc18,920 bytes
  • references/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 GitHub

Skills 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 shell

Automated 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:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/solana-dev/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
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

  • Network accessline 47
    - [Solana Pay](https://solana.com/docs/tools/solana-pay)
  • Network accessline 48
    - [Memo program](https://www.solana-program.com/docs/memo)
  • Network accessline 49
    - [Transaction structure](https://solana.com/docs/core/transactions)

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

and 369 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md skills/solana-dev/SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md skills/solana-dev/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/solana-dev/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/solana-dev/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/solana-dev/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard 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.