Solana Mainnet simulations for your programs

Fork Mainnet accounts. Test with cheatcodes. Deploy with Infrastructure as Code.

Getting Started

$ curl -sL https://run.surfpool.run/ | bash

Logs

Time Transaction ID Status
14:32:15.123 4sGjMW... Processed
14:32:15.456 7xKpNr... Processed
14:32:15.789 2mVqLs... Failed
14:32:16.012 9bHtYw... Processed
14:32:16.345 5cRnXq... Processed

01 — SIMULATE

Test like it's Mainnet

Fork any Mainnet state to your local machine. Surfpool gives you the full power of Solana without the cost or risk.

Mainnet forking

Clone any account, program, or token balance from Mainnet. Test against real state without spending real SOL.

RPC Cheatcodes:

  • surfnet_setAccount
  • surfnet_timeTravel
  • surfnet_setTokenBalance
  • surfnet_resetNetwork

Universal faucet

Get any token from one place—SOL, USDC, USDT, BONK, and more. No more hunting for testnet tokens.

02 — CHEATCODES

Full control over your network

Surfnet exposes special RPC methods that give you superpowers. Manipulate state, travel through time, and test edge cases that would be impossible on a real network.

  • ⏰ Time travel — advance clock or warp to any slot
  • 💰 Set balances — SOL or any SPL token
  • 📦 Clone programs — from any network
  • 🔄 Reset state — start fresh anytime

Full RPC compatibility. Standard Solana RPC methods work out of the box. Cheatcodes are additive — they don't break existing tooling.

$ curl -X POST localhost:8899
{
    "method": "surfnet_setTokenAccount",
    "params": {
        "owner": "ABAc2R9...MG8",
        "mint": "EPjFW...Cky",
        "amount": 1_000_000
    }
}
Success ✓

03 — DEPLOY

Web3 meets Infrastructure-as-Code

When run inside an Anchor or Pinocchio project, Surfpool generates Infrastructure-as-Code, seamlessly deploying and upgrading your programs.

# Deploy program to devnet
addon "svm" {
    network = "devnet"
}

action "deploy" "svm::deploy_program" {
    program_path = "./target/deploy/my_program.so"
    signer = signer.deployer
}

Designed local-first

On-disk keypairs work for local tests but spell disaster on mainnet—$2B lost yearly to compromised private keys. Use multisig, and best practices.

Composable actions

Chain deployments, transfers, and program calls. Build complex workflows from simple, reusable primitives.

04 — OBSERVE

In-Depth visibility

Surfpool Studio provides a level of detail unparalleled in Solana development. Inspect bytes before and after transactions, profile compute units, and debug at the instruction level.

  1. Byte-level diffs - See exactly what changed before and after each transaction.
  2. CU profiling - Profile compute unit consumption at the instruction level.
  3. Transaction inspector - Decoded instructions, logs, and account changes in one view.

Embedded Studio runs automatically with surfpool. No separate install needed.

Open Surfpool Studio

Access it via your browser at http://localhost:18488