Skip to content
LogoLogo

Supported chains

bloom init ships read-ready defaults for:

  • Ethereum
  • Base
  • Arbitrum
  • Optimism
  • Polygon
  • BNB Smart Chain
  • Avalanche
  • Gnosis
  • Linea
  • HyperEVM
  • local Anvil

Reads, simulations, and planning work with zero configuration when public RPC defaults are sufficient. Live broadcasts on mainnet and L2 chains are disabled by default and require explicit global and per-chain opt-in.

Chain paths

/bloom/chains/<chain>/head/number
/bloom/chains/<chain>/head/hash
/bloom/chains/<chain>/blocks/<number-or-hash>
/bloom/chains/<chain>/addresses/<address>/...
/bloom/chains/<chain>/contracts/<address>/...
/bloom/chains/<chain>/tx/<hash>/...

Adding custom chains

Custom EVM chains are added to ~/.bloom/config.toml under [chains.<name>]. The name becomes the filesystem path segment under /bloom/chains/<name>/, so keep it lowercase and shell-friendly.

A minimal read-only chain entry needs a display name, numeric EVM chain_id, native token metadata, and at least one RPC endpoint:

[chains.mychain]
name = "mychain"
chain_id = 12345
display_name = "My Chain"
native_symbol = "MYC"
native_decimals = 18
rpc_urls = ["https://rpc.mychain.example"]
allow_broadcast = false

For richer endpoint selection, use rpc_endpoints instead of rpc_urls:

[[chains.mychain.rpc_endpoints]]
url = "https://rpc-primary.mychain.example"
weight = 100
max_rps = 25
http_only = true
 
[[chains.mychain.rpc_endpoints]]
url = "https://rpc-backup.mychain.example"
weight = 50

Optional fields:

  • etherscan_api_url — Etherscan-compatible explorer API base URL for ABI/source/address-history surfaces.
  • legacy_tx = true — use legacy gas_price transactions instead of EIP-1559 fee fields.
  • allow_broadcast = true — permit live sends on this chain. Keep this false until the chain is tested and policy is configured.

After editing config, restart the daemon and verify the mounted paths:

bloom serve --mount /bloom
ls /bloom/chains/mychain
cat /bloom/chains/mychain/head/number

If reads fail, check /bloom/status/backends/summary.json and the daemon logs first. Custom chains must provide at least one usable rpc_urls or rpc_endpoints entry.

Etherscan-backed surfaces

Address history and contract source/ABI metadata use Etherscan v2 with a TTL cache when configured.

Mempool

Mempool support is configured per chain under [mempool.<chain>]. Alchemy pending transaction feeds are currently the practical startup provider because they deliver full transaction bodies.