Chain Registry¶
blockparty bundles a snapshot of 600+ EVM chains with their explorer configurations. The registry is loaded from a JSON file and provides lookup, listing, and search.
from blockparty import ChainRegistry
registry = ChainRegistry.load()
entry = registry.get(8453)
print(entry.name) # "Base Mainnet"
print(entry.is_testnet) # False
for explorer in entry.explorers:
print(f" {explorer.type}: {explorer.frontend_url}")
matches = registry.search("base")
Custom registry file¶
registry = ChainRegistry.load(path="/etc/myapp/chains.json")
Regenerating¶
The bundled chains.json can be regenerated from the live Etherscan,
Routescan, and Blockscout APIs:
python -m blockparty.registry.generate
This fetches current chain lists from all three providers, merges them,
resolves Routescan vanity URLs, and writes the result to
src/blockparty/registry/data/chains.json.
Chains where Routescan’s publicApi flag is false are excluded
(they appear in Routescan’s chain list but don’t actually have API access).
Registry data model¶
Each chain entry contains:
chain_id— The EVM chain IDname— Human-readable chain nameis_testnet— Whether it’s a testnetexplorers— List ofExplorerInfoobjects, each with:type—"etherscan","routescan", or"blockscout"api_url— Full base URL for API callsfrontend_url— Human-facing explorer URLfrontend_url_vanity— Vanity hostname (Routescan only)status— Etherscan chain status code (0/1/2)hosted_by— Blockscout hosting indicator