surfpool
is to Solana what anvil
is to Ethereum: a blazing fast ⚡️ in-memory testnet that has the ability to point-fork Solana mainnet instantly.
Surfpool provides a blazing-fast, developer-friendly simulation of Solana Mainnet that runs seamlessly on your local machine. It eliminates the need for high-performance hardware while maintaining an authentic testing environment.
Whether you're developing, debugging, or educating yourself on Solana, Surfpool gives you an instant, self-contained network that dynamically fetches missing Mainnet data as needed—no more manual account setups.
-
Fast & Lightweight – Runs smoothly on any machine without heavy system requirements.
-
Dynamic Account Fetching – Automatically retrieves necessary Mainnet accounts during transaction execution.
-
Anchor Integration – Detects Anchor projects and deploys programs automatically.
-
Educational & Debug-Friendly – Provides clear insights into transaction execution and state changes.
-
Easy Installation – Available via Homebrew, Snap, and direct binaries.
Install pre-built binaries:
# macOS (Homebrew)
brew install txtx/taps/surfpool
# Linux (Snapstore)
snap install surfpool
Install from source:
# Clone repo
git clone https://github.com/txtx/surfpool.git
# Build
cargo surfpool-install
Verify installation:
surfpool --version
Start a local Solana network with:
surfpool start
If inside an Anchor project, Surfpool will:
-
Automatically generate infrastructure as code (similar to Terraform).
-
Deploy your Solana programs to the local network.
-
Provide a clean, structured environment to iterate safely.
The command:
surfpool start --help
Is documenting all the options available.
Infrastructure as code (IaC) transforms how teams deploy and operate Solana programs:
-
Declarative & Reproducible – Clearly defines environments, making deployments consistent.
-
Auditable – Security teams can review not just the code of your Solana programs, but the way you will be deploying and operating your protocol.
-
Seamless Transition to Mainnet – Test with the exact infrastructure that will go live.
With Surfpool, every developer learns to deploy Solana programs the right way—scalable, secure, and production-ready from day one.
- Surfpool is getting agentic friendly, thanks to a built-in MCP. We'll be adding more tools over time, the first use case we're covering is "Start a local network with 10 users loaded with SOL, USDC, JUP and TRUMP tokens" (#130 - @BretasArthur1, @lgalabru)
- To get started, make
surfpool
available globally by opening the command palette (Cmd/Ctrl + Shift + P) and selecting > Cursor Settings > MCP > Add new global MCP server:
{
"mcpServers": {
"surfpool": {
"command": "surfpool",
"args": ["mcp"]
}
}
}
Surfpool is built on the low-level solana-svm API, utilizing the excellent LiteSVM wrapper. This approach provides greater flexibility and significantly faster boot times, ensuring a smooth developer experience.
We are actively developing Surfpool and welcome contributions from the community. If you'd like to get involved, here’s how:
-
Explore and contribute to open issues: GitHub Issues
-
Join the discussion on Discord
-
Get releases updates via X or Telegram Channel
Your contributions help shape the future of Surfpool, making it an essential tool for Solana developers worldwide.