What problem does it solve? Testing Solana programs against realistic state is slow and cumbersome with solana-test-validator, which requires large snapshots and cannot easily access mainnet accounts. This Skill provides complete guidance for Surfpool, a drop-in replacement that forks mainnet state lazily, manipulates accounts and time via cheatcode RPC methods, and profiles transactions locally. ## Core Features & Use Cases - Local Surfnet with Mainnet Forking: Start a local validator that pulls mainnet accounts on demand, with CLI flags, Surfpool.toml configuration, and Docker support. - Cheatcode RPC Methods: Set account and token balances, time travel, pause and advance the clock, reset the network, and profile transaction compute usage via surfnet_* methods. - Infrastructure as Code and Studio: Define reproducible deployments with txtx runbooks and inspect transactions, accounts, and compute usage in the Surfpool Studio dashboard. - Use Case: While building an Anchor program that interacts with mainnet USDC, start Surfpool, set a test wallet's USDC balance with surfnet_setTokenAccount, run your tests against http://127.0.0.1:8899, and profile the swap transaction's compute units before deployment. ## Quick Start Ask the assistant to help you install Surfpool, start a local Surfnet with mainnet forking, and write a test that sets token balances and time-travels using cheatcodes.