5 unstable releases

new 0.9.3 Jul 7, 2025
0.9.2 Jul 3, 2025
0.9.1 Jul 3, 2025
0.8.1 Jun 30, 2025
0.2.0 Apr 30, 2025

#630 in Magic Beans

Download history 105/week @ 2025-04-28 19/week @ 2025-05-05 10/week @ 2025-05-12 1/week @ 2025-05-19 345/week @ 2025-06-30

345 downloads per month

Apache-2.0 and GPL-3.0 licenses

460KB
1.5K SLoC

TL;DR

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.

Introduction

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.

Surfpool in action: 101 Series

Features

  • 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.

Installation

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

Usage

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.

Crypto Infrastructure as Code: A New Standard in Web3

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.

🤖 MCP

  • 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"]
    }
  }
}

Architecture & How to Contribute

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:

Your contributions help shape the future of Surfpool, making it an essential tool for Solana developers worldwide.

Dependencies

~24–40MB
~668K SLoC