Toolchain Overview
The Solana developer toolchain stacks Rust, Agave validator/CLI binaries, platform tools (cargo build-sbf), and Anchor into one reproducible build-and-deploy pipeline.
Search across all documentation pages
The Solana developer toolchain stacks Rust, Agave validator/CLI binaries, platform tools (cargo build-sbf), and Anchor into one reproducible build-and-deploy pipeline.
Quick-reference recipe card - copy-paste ready.
rustc --version # 1.91.1
solana --version # solana-cli 3.0.10 (Agave 4.1.1)
anchor --version # 0.32.1
cargo build-sbf --versionWhen to reach for this:
# Core versions for this guide's pinned stack
rustc --version
cargo --version
solana --version
agave-install --version
anchor --version
avm --version
# Typical program workflow
anchor init my_program
cd my_program
anchor build
solana program deploy target/deploy/my_program.soWhat this demonstrates:
cargo build-sbf.solana, solana-keygen, spl-token, and validator binaries.| Tool | Role | Pin (this site) |
|---|---|---|
rustc / cargo | Language build | 1.91.1 |
cargo build-sbf | sBPF compile | via Agave platform tools |
solana CLI | RPC ops, deploy | 3.0.10 |
agave-install | Version switching | 4.1.1 channel |
anchor / avm | Framework + version mgr | 0.32.1 |
@solana/kit | TS RPC client | 7.0.0 |
# Verify platform tools on PATH
which cargo-build-sbf
ls "$(dirname $(which solana))"/cargo-build-sbfagave-install 4.1.1 channel exclusively.avm use 0.32.1 per repo with Anchor.toml.cargo build-sbf not found after partial install. Fix: reinstall Agave bundle; check PATH.@solana/kit does not replace solana program deploy. Fix: CLI for ops, kit for app reads/writes.| Alternative | Use When | Don't Use When |
|---|---|---|
Native pinocchio / solana-program | Maximum CU/size control | Rapid prototyping |
mucho scaffold CLI | Foundation templates | Minimal custom architecture |
create-solana-dapp | Full-stack Next.js + program | Backend-only services |
| LiteSVM / Mollusk tests | Fast unit tests without validator | Production deploy steps |
Agave is the Anza-maintained validator and CLI lineage continuing open-source Solana development. Commands remain solana-* branded.
No for native programs, yes for faster account validation, IDL, and client codegen in most product teams.
Shipped with Agave platform tools installed alongside the CLI bundle.
Use current LTS Node for @solana/kit 7.x projects; pin in .nvmrc per app repo.
App developers need CLI + kit; validators are for local solana-test-validator or operators running nodes.
Surfpool 0.12.0 adds mainnet-fork local simulation - complementary to Agave test validator.
Anchor Version Manager - installs and selects Anchor CLI versions like nvm for Node.
Yes for CI reproducibility - mount tool versions explicitly rather than latest images.
Match anchor-lang = "0.32.1" in Cargo.toml to CLI 0.32.1 per Anchor release notes.
Run the version commands in the Recipe block in CI and fail builds on mismatch.
Stack versions: This page was written for Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0, and LiteSVM 0.6.x.
Reviewed by Chris St. John·Last updated Jul 16, 2026