Stop writing Solana programs like they're Solidity contracts. 100 challenges to build the Anchor mental model from the account layer up.
A Solana course for developers who already know Ethereum or are comfortable with systems programming. Start from the account-model mental flip, then Rust-for-Solana, Anchor, PDAs, SPL tokens, state compression, MEV, security, and production infra. Every program is authored in Rust; every client uses TypeScript. Five capstone projects — deploy a real SPL token, ship a cNFT collection, build a staking program, a token-gated vault, or a minimal AMM. Submit any three to earn your certificate.
Built by Lakshya
We grant free access case-by-case — students, career-switchers, builders on a tight budget. Sign in to send us a note.
Sign in to applyComplete all modules, then submit the required number of capstone projects. Each must earn a passing rating from an admin reviewer.
Launch a custom SPL token (or Token-2022) on devnet whose mint authority is a Squads multisig or your own governance program. The token must: have a fixed initial supply minted to a treasury, require a 2-of-3 multisig (or governance proposal) to mint more, and include at least one Token-2022 extension (metadata, permanent delegate, or transfer hooks). Submit: mint address, multisig/governance address, one transaction hash proving an additional mint required the multisig signature, and a README explaining the authority model.
Mint a collection of at least 1000 compressed NFTs (cNFTs) using Bubblegum on devnet. Set up a read path using either the Metaplex DAS API (Helius, Triton, SimpleHash) OR your own Geyser plugin / Postgres indexer. Submit: Merkle tree address, one cNFT mint proof, a screenshot of your indexer showing at least 3 cNFTs with their metadata resolved, and a write-up of the cost delta vs standard NFTs (should be ~1000× cheaper).
Build an Anchor program where users stake an SPL token and earn rewards proportional to stake × time. Include: a staking PDA per user, reward-rate configurable by admin, unstake with a cooldown period, and a slashing instruction the admin can invoke. Deliver: deployed program ID, TS client that stakes and claims, a test proving rewards match the theoretical formula within 0.1%, and a threat-model note on the admin powers.
Build a vault program that holds SOL and releases it only to holders of a specific SPL token. Use a PDA as the vault's authority. Demonstrate: depositing SOL into the vault (any user), the vault signing a withdrawal via CPI to the System program using PDA seeds, a check that the withdrawer holds ≥1 of the gating token (validated via CPI to the SPL Token program). Submit: program ID, gating token mint, one deposit and one gated-withdrawal transaction.
Build a minimal constant-product AMM (x * y = k) on Solana using Anchor. Support: pool creation for any token pair, add/remove liquidity (with LP tokens minted via CPI to the Token program), swap with configurable fee, and a safety check preventing zero-liquidity swaps. Deploy on devnet. Submit: program ID, one pool creation, two liquidity-add transactions, three swap transactions across price regimes, and a comparison of your fee math against Uniswap v2.
The Anchor framework's own docs. Focus on 'Account Types' and 'Constraints' chapters.