Quickstart

A private fork of a live chain, with its own RPC URL, in about a minute.

forkstate forks a real chain — Ethereum, Base, BNB Chain and twenty more — into a testnet that is yours. State is read from the real chain the first time your code touches it, so a fork is ready in about a second and nothing is copied in advance. Every account starts with $20.00 of credit.

1. Create a testnet

  • Sign up, then create a project.
  • Pick the chain to fork. The testnet gets its own chain id by default, so a wallet never confuses it with the real chain.
  • Copy the RPC endpoint from the testnet page.

2. Talk to it

terminal
export FORKSTATE=https://forkstate.forkscout.com/api/rpc/<your-key>

cast block-number --rpc-url $FORKSTATE
cast balance 0xYourAddress --rpc-url $FORKSTATE

3. Give yourself money

Any address can be funded with any amount, native or ERC-20 — from the Faucet page, or over RPC:

terminal
# 100 ETH (or BNB, POL…) to any address
cast rpc anvil_setBalance 0xYourAddress 0x56BC75E2D63100000 --rpc-url $FORKSTATE

# 1,000,000 USDC — the balance slot is found for you
cast rpc forkstate_setTokenBalance 0xUSDC 0xYourAddress 0xE8D4A51000 --rpc-url $FORKSTATE

4. Send from anyone

Unsigned transactions are accepted from any address — a whale, a multisig, a protocol's admin — so you can test exactly what they can do without their keys:

terminal
cast send 0xToken "transfer(address,uint256)" 0xYou 1000000 \
  --from 0xWhale --unlocked --rpc-url $FORKSTATE
Everything you do happens only on your testnet. Nothing is ever sent to the real chain.

Next

The explorer, debugger, simulator and faucet are all on the testnet's page in the console. eth_* methods behave as a node does; the extras are in the RPC reference.