Everything in this documentation assumes a working Solana development toolchain. This page lists the tools, the versions known to work with Raydium as of September 2026, and the specific setup gotchas. Start here before running any of the code examples in later chapters.Two sets of versions matter, and they are not the same. To build or fork the Raydium programs you need the exact toolchain they pin — Rust 1.91.0, Agave 3.1.10, Anchor 1.0.2 as of the 2026-09-09 upgrade. To integrate against the deployed programs from TypeScript or Python you only need a client library recent enough to talk to them, and the pins are advisory. Each section below says which case it covers.
Core tools
Solana CLI
The canonical command-line interface for interacting with Solana clusters — wallet management, RPC calls, program deployment. Install:The install host moved. That installer tracks its own idea of current and may hand you a different Anchor than the one Raydium’s programs pin — check
release.solana.com belonged to Solana Labs; the client is now maintained by Anza as Agave, and releases are served from release.anza.xyz. The self-update binary is agave-install (solana-install is kept as a legacy alias), so agave-install update and agave-install init <version> are the current spellings. Solana’s own docs also offer a one-command installer that pulls the CLI, Rust and Anchor together:anchor --version afterwards.SPL Token CLI
The official CLI for SPL Token / Token-2022 operations — creating mints, minting tokens, transferring. Install (included with Solana CLI):Anchor CLI
Needed for fetching Raydium IDLs, building clients, and verifying programs. Install:Anchor moved repository and major version. The canonical repo is now
github.com/solana-foundation/anchor (it was coral-xyz/anchor), and Anchor 1.0 is the first release line the Raydium programs use — CPMM and LaunchLab both pin anchor-lang/anchor-spl =1.0.2 as of the 2026-09-09 upgrade, up from 0.32.1. avm can hold several versions; avm use 1.0.2 is what makes anchor build reproduce Raydium’s artifacts. Anchor 1.1 and 1.2 exist and build fine for your own programs, but a CPI crate compiled against a different anchor-lang minor than the one the target program pins will not link — see sdk-api/rust-cpi.TypeScript setup
The primary integration path for Raydium.Packages
@coral-xyz/anchor is frozen; the package is now @anchor-lang/core. @coral-xyz/anchor stopped at 0.32.1 when Anchor moved out of Coral. Anchor 1.x publishes as @anchor-lang/core, and Raydium’s own program repositories switched their test suites to it in the 2026-09-09 upgrade. The imports you actually use are unchanged — import { Program, BN, AnchorProvider } from "@anchor-lang/core" — so migrating is a package rename plus a lockfile update.Two behavioural notes if you are moving off 0.3x: .accounts({...}) now only accepts accounts Anchor cannot resolve itself, so a builder that passes the full set should call .accountsPartial({...}) instead; and @anchor-lang/core/dist/cjs/utils/token is where helpers such as ASSOCIATED_PROGRAM_ID moved.Minimal script
sdk-api/typescript-sdk for the full SDK reference.
Rust setup
For CPI integration and on-chain programs.Toolchain
cargo build-sbf (the old cargo build-bpf spelling is gone).
Program Cargo.toml for a Raydium CPI integration
anchor-lang and anchor-spl with = to the version the target program pins. As of 2026-09 CPMM pins =1.0.2 and CLMM still pins =0.32.1, so a single crate cannot CPI into both — see sdk-api/rust-cpi.
The "cpi" feature imports the cpi module with CPI helpers (so you can raydium_cp_swap::cpi::swap_base_input(...)). See sdk-api/rust-cpi.
Python setup
Secondary integration path — common for bot developers.Packages
Two naming traps. The RPC client is imported as
solana but the project is called solana-py — pip install solana-py installs nothing useful. And there is no raydium-py package on PyPI: the community Raydium helper is a repository you clone, AL-THE-BOT-FATHER/raydium_py, not a published distribution. Earlier revisions of this page listed a pip install raydium-py line that never worked.Minimal script
sdk-api/python-integration.
RPC endpoints
Public mainnet RPC (api.mainnet-beta.solana.com) is heavily rate-limited and throttles under any load. For non-trivial usage, get a private endpoint:
Configure:
getProgramAccounts— unrestricted scans are expensive; some providers gate or charge per scan.getPriorityFeeEstimate— Helius-specific endpoint; others have equivalents.geyser/ WebSocket streaming — needed for low-latency bots; not all providers expose it.
Devnet and localnet
Devnet
Solana’s public test cluster. Raydium has a partial devnet deployment:- Some CPMM pools exist for testing.
- AMM v4 has historical devnet pools.
- CLMM has a few demo pools.
- Farm v6 is deployed.
cluster: "devnet":
Localnet with a forked mainnet state
For realistic testing, fork mainnet state into a local validator:- Unit-testing your CPI integration against a real Raydium program.
- Replaying a transaction with a modified parameter to debug.
- Stress-testing with large synthetic volumes.
Project templates
TypeScript integration starter
package.json:
Anchor CPI program starter
Useful CLI utilities
solana-keygen
Reading any account
Program logs
Transaction inspection
Environment hygiene
Separate wallets per purpose
- Development wallet: holds testnet SOL, used for building.
- Production wallet: holds real SOL, used only for deploys / multisig submissions.
- Hot wallet for bots: small balance, narrow permissions.
.env pattern
Version pinning
Lock all Solana-ecosystem dependencies. The ecosystem moves fast; a minor version bump of@solana/web3.js has previously introduced breaking changes. Use package-lock.json / Cargo.lock religiously.
Pointers
sdk-api/typescript-sdk— TypeScript SDK reference.sdk-api/rust-cpi— Rust CPI usage.sdk-api/python-integration— Python setup.solana-fundamentals/programs-and-anchor— Anchor background.

