Learn Solana development: a roadmap from beginner to advanced
A free, ordered path through Sol.College. Each step links lessons built from real, permissively licensed code in the stack, practical guides, and the official docs. Work through it in order, or jump to the stage you need.
Stage 1: Foundations Beginner
Learn the account model first: everything on Solana is an account, programs are stateless, and transactions list every account they touch up front. Then set up the toolchain and get devnet SOL.
Stage 2: Clients and transactions Beginner
Read state and send transactions from TypeScript before writing a program, so you know what a program receives.
Stage 3: Your first Anchor program Beginner
Scaffold a workspace, declare accounts with constraints, and store state at PDAs.
Stage 4: Tokens and composition Intermediate
Create mints and token accounts, move tokens, and call other programs through CPIs, signing with PDAs where needed.
- SPL Tokens: mints, accounts and transfers Intermediate
- Cross-Program Invocations (CPIs) Intermediate
- Token-2022 (Token Extensions) Intermediate
Stage 5: Full-stack dapp Intermediate
Connect a wallet, call your program from the browser through its IDL, and deploy to devnet.
- NFTs with Metaplex Intermediate
- Solana Pay Intermediate
- Blinks and Solana Actions Intermediate
- Build a Solana dapp end to end Guide
- Testing Solana programs Guide
Stage 6: Advanced patterns Advanced
Study complete programs: escrow, staking, oracles and compressed state, each from real projects in the stack.
- Escrow patterns Advanced
- Staking and reward accrual Advanced
- Oracles: Pyth and Switchboard Advanced
- Compressed NFTs and state compression Advanced
- AI agents on Solana Advanced
- Browse topics
Stage 7: Ship to production Advanced
Test the failure paths, review security, publish a verifiable build and move to mainnet with a multisig upgrade authority.
Then build something
The what to build pages show where the stack has few strong projects, and the explorer lets you filter real projects by framework to fork.