
Surfpool is a drop-in replacement for solana-test-validator, positioning itself as the premier Solana test validator replacement for local development. It is a dedicated simulation tool for Solana developers who require the ability to test against exact mainnet state without the cost or risk of live network interaction. By allowing developers to fork any mainnet account, program, or token balance directly to their local machine, Surfpool delivers the full power of the Solana runtime in a sandboxed environment. This core value prop eliminates the friction of testnet token acquisition and artificial state, enabling realistic testing that catches production bugs early. Whether working on DeFi protocols, NFT marketplaces, or infrastructure, Surfpool streamlines the development lifecycle.
The concrete problem Surfpool solves is the disconnect between testnet and mainnet environments that plagues Solana development. Testnets often lack real token distributions, mature program states, and the transaction volume seen on mainnet. Developers frequently encounter bugs only after deployment, leading to costly failures and security vulnerabilities. Surfpool addresses this by allowing instant forking of mainnet's entire state, including token accounts like USDC and USDT, and programs such as the Token Program. This means developers can test interactions with real holders, verify edge cases around token balances, and simulate complex multistep transactions in a safe local environment. The result is fewer production incidents and faster iteration cycles.
The first major feature group is the simulation and forking capability. Surfpool clones any mainnet account, program, or token balance onto the local machine with a simple one-line installation command: curl -sL https://run.surfpool.run/ | bash. This forking process is instantaneous and provides a full replica of mainnet state, including slots, transactions, and account data. Developers can test against real-world conditions like the current Token Program version or specific token holdings without waiting for testnet faucets. The forked network is fully interactive and can be reset anytime. This feature is invaluable for teams needing to validate application logic against actual on-chain data, ensuring compatibility before any mainnet deployment.
The second major feature group is the cheatcodes, exposed via Surfnet RPC methods. These cheatcodes give developers god-like control over the local network: surfnet_setAccount for modifying account data, surfnet_timeTravel to advance the clock or warp to any slot, surfnet_setTokenBalance to adjust SPL token holdings instantly, and surfnet_resetNetwork to restore a clean state. They are additive and fully compatible with standard Solana RPC methods, so existing tools like Anchor CLI or Solana CLI continue to work seamlessly. Cheatcodes enable testing of time-sensitive logic like auction deadlines, emergency pause mechanisms, or balance-dependent conditions that are impossible to simulate on real mainnet. This accelerates debugging and ensures thorough coverage of edge cases.
admin
The third feature group includes Infrastructure as Code deployment and composable actions. When Surfpool is run inside an Anchor or Pinocchio project, it automatically generates Infrastructure as Code definitions to deploy and upgrade programs. This means developers can version-control their deployment configurations and reproduce environments reliably. Additionally, Surfpool offers composable actions: simple primitives that can be chained together to form complex workflows, such as deploying a program, transferring tokens, and invoking a contract method in one sequence. The local-first design encourages secure practices by using on-disk keypairs only for tests and reminding developers to adopt multisig for mainnet, addressing the $2 billion loss attributed to compromised private keys annually.
Surfpool operates as a local server that replaces the standard solana-test-validator. After installation, developers can immediately fork mainnet and interact via Surfpool Studio, a real-time dashboard accessible at localhost:8488. Studio provides byte-level diffs before and after transactions, compute unit profiling per instruction, and a full transaction inspector showing decoded instructions, logs, and account changes. This in-depth visibility is unparalleled in Solana development. The workflow is entirely local-first: no cloud dependencies, no separate installs for Studio—it runs embedded with Surfpool. Developers use standard RPC calls or the dashboard to orchestrate their tests, and deployments happen automatically when using the supported frameworks.
Concrete use cases include testing a DeFi liquidation engine by forking mainnet's USDC and USDT distributions, then using surfnet_setTokenBalance to simulate a position becoming undercollateralized. Another scenario involves debugging compute-heavy NFT minting logic: team members can profile CU consumption at the instruction level and optimize code before mainnet deployment. Time-travel cheatcodes allow testing staking contracts that rely on precise slot intervals, ensuring correct reward calculations. Finally, the composable actions enable chaining a program upgrade, token transfer, and method call to verify migration scripts. The outcome across all uses is increased confidence, reduced debugging time, and elimination of costly mainnet errors.
Surfpool targets Solana developers using Rust, Anchor, or Pinocchio frameworks, as well as QA engineers and security auditors. It runs on Linux, macOS, and Windows with a simple bash install. The product is open-source and free to use with no paid tiers mentioned, making it accessible to independent devs and large teams alike. It integrates seamlessly with existing Solana tooling and requires minimal setup. In summary, Surfpool is the essential Solana test validator replacement that brings mainnet realism to local development, empowering developers to build safer, more reliable Solana applications by testing with real state, cheatcodes, and Infrastructure as Code.
Solana blockchain developers, smart contract engineers, DevOps teams managing Solana validators, QA testers working on Solana dApps, and anyone building with Anchor or Pinocchio frameworks. Also suitable for researchers and auditors needing to inspect on-chain state locally for security analysis.
Updated 2026-03-01