Providers

Providers

Thirteen provider classes, one contract. Pick one to see its auth, its endpoints, what it maps and the traps.

Every provider answers the same eight questions with the same shapes. What changes underneath is the API, where the key travels, how a page says there is a next one, and which operations exist at all. The pages are short on purpose. The part worth reading is the gotcha list on each one.

providerauthchainsbalancehistorytxcontracttokenstransfersgasblock
Etherscan "etherscan"key10
Blockscout "blockscout"none10
Blockchair "blockchair"optional3····
Mempool "mempool"none3···
Blockstream "blockstream"none1····
Solscan "solscan"key1····
Helius "helius"key1·····
TONAPI "ton"none1······
TRONSCAN "tronscan"key1····
Aptos Explorer "aptos"none1········
Blockberry "blockberry"key1······
Koios "koios"none1····
Arweave gateway "arweave"none1····

Four families

EVM, ten chains each. Etherscan and Blockscout each serve ten EVM chains and every operation. Etherscan needs a key and answers in one v2 endpoint with a chain id; Blockscout needs nothing and has one host per chain. With a key you get Etherscan first, without one Blockscout, and either way a rate limit on the first moves the read to the other.

Bitcoin and its family. Mempool for Bitcoin, Litecoin and Pepecoin through mempool.space and its siblings, Blockstream for Bitcoin through the Esplora API as an independent second backend, and Blockchair for Bitcoin, Ethereum and eCash through one dashboard API.

One chain, with a key. Solscan and Helius on Solana, TRONSCAN on TRON, Blockberry on Sui. Each throws UnsupportedChainError for any other chain and AuthError without its key.

One chain, no key. TONAPI, Koios on Cardano and the Arweave gateway. And Aptos, which is registered, honest and empty.

Adding one

A new backend is one class, one key, one entry in builtins and one line in the build config. Custom providers walks through it; the registry test refuses a provider that skips a step.

@agntn/explorers·MIT license· Read-only. Addresses you type go to a public explorer API, never to a wallet.