Skip to main content
Chainstack Solana nodes have Jito ShredStream enabled by default, providing enhanced performance for the Yellowstone gRPC Geyser plugin.
Get started with a reliable Solana RPC endpoint, then plug it into the tools below.

Solana CLI (Agave)

The Solana Foundation one-liner installs the full toolkit — Agave CLI, Anchor, and Surfpool — in a single step.
curl --proto '=https' --tlsv1.2 -sSfL https://solana-install.solana.workers.dev | bash
Alternatively, install just the Agave CLI:
sh -c "$(curl -sSfL https://release.anza.xyz/stable/install)"
The client is called Agave (forked from Solana Labs by Anza), but the binary is still named solana for ecosystem compatibility. solana --version prints solana-cli 3.x.x (... client:Agave). Upgrades now go through agave-install update (the old solana-install binary was renamed).
Point the CLI at your Chainstack node:
solana config set --url YOUR_CHAINSTACK_ENDPOINT
When you set the HTTPS endpoint with solana config set, the CLI derives a WebSocket endpoint by swapping the protocol — but the port stays the same, which is usually wrong for Chainstack. Set the WebSocket explicitly:
solana config set --ws YOUR_CHAINSTACK_WSS_ENDPOINT
Example:
$ solana block-height
413787151
Full command reference: Solana CLI docs.

JSON-RPC API

Any HTTP client works. Use curl or Postman for ad-hoc calls; see the full JSON-RPC reference for all methods.
curl -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"getBalance","params":["23dQfKhhsZ9RA5AAn12KGk21MB784PmTB3gfKRwdBNHr"],"id":1}' \
  YOUR_CHAINSTACK_ENDPOINT
where YOUR_CHAINSTACK_ENDPOINT is your node HTTPS endpoint. See node access details.

JavaScript and TypeScript: @solana/kit

@solana/kit is the modern Solana JavaScript SDK — a tree-shakeable, functional API that replaces the class-based @solana/web3.js v1. It is the direct successor to what briefly shipped as @solana/web3.js@2.x.
npm install @solana/kit
Fetch an account balance against your Chainstack endpoint:
import { address, createSolanaRpc, lamports } from "@solana/kit";

const rpc = createSolanaRpc("YOUR_CHAINSTACK_ENDPOINT");
const balance = await rpc
  .getBalance(address("23dQfKhhsZ9RA5AAn12KGk21MB784PmTB3gfKRwdBNHr"))
  .send();

console.log(balance.value); // lamports as bigint

Per-program instruction builders

Kit exposes only the RPC layer. Typed instruction builders for each Solana program live in per-program packages under the solana-program org — install them alongside Kit as you need them:
npm install @solana/kit @solana-program/system @solana-program/token

Migrating from @solana/web3.js v1

@solana/web3.js v1 is on a maintenance branch — security fixes only, no new features. For existing v1 apps, the @solana/web3-compat bridge lets you keep your existing imports while progressively adopting Kit primitives:
npm install @solana/web3-compat @solana/kit

React dApps: create-solana-dapp

The official scaffolding CLI bootstraps a full dApp (Next.js + Tailwind + wallet connection + Anchor example) in one command:
npm create solana-dapp@latest
# or: pnpm create solana-dapp@latest
# or: bun create solana-dapp@latest
Templates are maintained at solana-foundation/templates. The default scaffold uses @solana/kit + @solana/react-hooks (framework-kit) for wallet and RPC wiring.

Programs: Anchor 1.0

Anchor v1.0.0 shipped on 2026-04-02. Install via the Anchor Version Manager:
cargo install --git https://github.com/solana-foundation/anchor avm --force
avm install latest
avm use latest
Breaking rename in v1.0: The TypeScript package was renamed from @coral-xyz/anchor to @anchor-lang/core. The Rust crate remains anchor-lang. Existing @coral-xyz/anchor imports continue to resolve to the 0.32.x line but will not receive v1.0 features.
Anchor v1.0 also makes Surfpool the default validator for anchor test and anchor localnet. See Solana: Anchor development for an end-to-end walkthrough.

Client codegen: Codama

Codama (the successor to Kinobi) generates typed JavaScript and Rust clients from a program IDL. The standard workflow is:
Anchor / Shank macros → IDL → Codama → TypeScript / Rust clients
pnpm install codama
codama init
This is how the @solana-program/* packages are produced. Any program you ship should emit an IDL and pipe it through Codama to generate first-class client types.

Local testing

Three tools cover the modern Solana testing pyramid:
TierToolGuide
Unit (in-process, multi-instruction)LiteSVMSolana: Fast unit testing with LiteSVM
Unit (single-instruction, CU benchmarks)Mollusk
Integration (full RPC, mainnet fork)SurfpoolSolana: Surfpool quick-start
LiteSVM boots an in-process SVM for fast unit tests. Surfpool wraps LiteSVM with a full JSON-RPC server and a copy-on-read mainnet fork — Anchor 1.0 invokes it as the default validator. Mollusk, from Anza, focuses on single-instruction CU profiling.

Python: Solana.py and solders

Solana.py is the main RPC client:
pip install solana
from solana.rpc.api import Client
from solders.pubkey import Pubkey

client = Client("YOUR_CHAINSTACK_ENDPOINT")
print(client.get_balance(Pubkey.from_string("23dQfKhhsZ9RA5AAn12KGk21MB784PmTB3gfKRwdBNHr")))
Solana.py now uses solders under the hood for its core types (Keypair, Transaction, Pubkey, etc.) — pip install solana installs solders transitively. Solders also ships the Python bindings for LiteSVM (from solders.litesvm import LiteSVM).

AI-assisted development

The Solana Foundation publishes an official solana-dev-skill — a Claude Code skill that teaches agents the current Solana stack (Kit, Anchor 1.0, Codama, LiteSVM/Surfpool, security patterns, version compatibility). Install it into Claude Code:
npx skills add https://github.com/solana-foundation/solana-dev-skill
Once installed, the skill activates automatically on Solana-related prompts. It covers program development (Anchor and Pinocchio), client work with Kit and framework-kit, testing with LiteSVM and Surfpool, IDL codegen with Codama, and common error troubleshooting. For the broader AI tooling ecosystem — Cursor rules, MCP servers, agent kits — see the Solana Foundation’s awesome-solana-ai catalog.

Wallets

Backpack

Backpack is one of the few Solana wallets that lets you set a custom RPC endpoint — essential if you want your wallet to inherit the reliability of your own node rather than share a public endpoint during congestion. To point Backpack at your Chainstack Solana node:
  1. Open Backpack.
  2. Click the account icon > Settings.
  3. Click Solana > RPC connection > Custom.
  4. Enter your Chainstack Solana HTTPS endpoint and click Update.
Last modified on April 17, 2026