Skip to Content
ChainsOverview

Chains

wharfnet up boots every supported chain side by side behind one config, one manifest, and one status. Each runs from a pinned Docker image with funded dev accounts and — where the VM supports them — test tokens at fixed addresses and a built-in block explorer. The same verbs (up, faucet, per-chain control) work the same way across all of them.

ChainDefault nodeDefault RPCTest tokensExplorerForking
EVMAnvil:8545, :8546USDC, WBTC, FEE, REB, NRT (+ Multicall3, Permit2, CREATE2)Otterscan✓ (fork_url + fork_block)
Starknetstarknet-devnet:5050USDC, WBTC, FEE, REBbuilt-in (--ui)✓ (fork_url + fork_block)
Solanasurfpool:8899 (+ :8900 WS)USDC, WBTCStudio✓ (fork_url)
Bitcoinbitcoind (regtest):18443— (native BTC only)btc-rpc-explorer
Litecoinlitecoind (regtest):19443— (native LTC only)ltc-rpc-explorer
zkSyncanvil-zksync:8011— (native ETH only, planned)planned (TODO)✓ (fork_url + fork_block)

Every chain except zkSync supports opt-in persistencewharfnet up --resume keeps balances, transactions, and deployments across restarts, and --reset discards a saved session (zkSync is ephemeral for now — persistence is planned). See State & persistence for the shared model.

Per-chain guides

  • EVM — Anvil, test tokens and canonical contracts at fixed addresses, chain control (mine, time-travel, snapshot/revert, impersonate), forking, and the Otterscan explorer.
  • Starknet — starknet-devnet, Cairo test tokens, chain control, forking, and the built-in explorer.
  • Solana — surfpool, SPL test tokens, WebSocket RPC, slot / clock control, forking, and the Studio explorer.
  • Bitcoin — bitcoind regtest, a funded coinbase wallet, native-BTC faucet, on-demand block mining, and the btc-rpc-explorer.
  • Litecoin — litecoind regtest (a Bitcoin Core fork), a funded coinbase wallet, native-LTC faucet, on-demand block mining, and the ltc-rpc-explorer.
  • zkSync — anvil-zksync, funded dev accounts, native-ETH faucet, the full EVM control set (mine, time-travel, snapshot/revert, impersonate), and forking; test tokens and a bundled explorer planned (TODO).

Adding a chain kind is a matter of implementing the Engine trait — see Contributing.

Last updated on