Troubleshooting

RPC & fork issues

Most simulation failures trace back to the RPC endpoint used to fork the chain. Here is how to diagnose and fix each type.

Public RPC rate limits

Public RPC endpoints (like https://api.avax.network/ext/bc/C/rpc) have aggressive rate limits. When Anvil forks the chain, it makes many rapid state reads. Under load, these can hit limits and cause fork failures.

Signs

Status returns TIMED_OUT. Logs show "Fork initialization failed" or "eth_getBlockByNumber rate limit".

Recommended free RPC endpoints:

Avalanche Mainnet

https://api.avax.network/ext/bc/C/rpchttps://avalanche.public-rpc.com

Avalanche Fuji

https://api.avax-test.network/ext/bc/C/rpc

Arbitrum One

https://arb1.arbitrum.io/rpc

Arbitrum Sepolia

https://sepolia-rollup.arbitrum.io/rpc

For production or high-volume use, Ava Labs can provide archive RPC access. Contact us ↗

Anvil not found

If you are running the simulation worker locally, Anvil must be installed and on your PATH.

bash
# Check if Anvil is installed
anvil --version

# Install via Foundry (installs forge, cast, anvil, chisel)
curl -L https://foundry.paradigm.xyz | bash
foundryup

Stale fork state

ArbiSim uses a persistent Anvil process per chain. If the process crashes and restarts, the first few requests may fail while the fork initializes.

→ Retry the simulation after 2–3 seconds. The worker will reinitialize the fork automatically.

→ Check the worker logs for "Restarting Anvil fork for network: <chain>".

Block-pinned simulations (backtesting)

When you specify a block_number, ArbiSim cannot reuse the persistent fork — it must spin up a fresh one. This takes 4–8 seconds and requires an archive node (not all public RPCs support this).

json
{
  "network": "avalanche-mainnet",
  "block_number": 48000000,
  "agent_address": "0x...",
  "transactions": [...]
}

Archive RPC support varies. Alchemy and Infura provide archive access on paid plans.

Still stuck? Email hello@arbisimguard.com with your network, error message, and simulation job ID.
RPC & Fork Issues — ArbiSim Guard Docs