Skip to main content

Blockchain Explorer APIs: A Developer Guide

Blockchain explorer API comparison: Etherscan, Blockscout, GoldRush, Alchemy, QuickNode — endpoints, rate limits, pricing, and multi-chain coverage.

Written by Eco
Updated today

Blockchain Explorer APIs: A Developer Guide

A blockchain explorer API gives you programmatic access to the same indexed data a web explorer renders — transactions, balances, token transfers, contract events — without the UI in between. For any developer building a wallet, a treasury tool, a compliance dashboard, or an agent that has to read onchain history, the choice of explorer API matters. It determines which chains you cover, how much history you can query, what your rate limits look like, how you pay for usage, and how much abstraction you get over raw RPC. This guide compares the five most commonly used options in April 2026 — Etherscan's API family, Blockscout, GoldRush (formerly Covalent), Alchemy's Enhanced APIs, and QuickNode — walks through the common endpoints you will actually use (txlist, tokentx, balance, logs), shows sample code in cURL and JavaScript and Python, and frames when an explorer API is the right call versus when you should reach for a data platform like Dune, Flipside, or The Graph instead.

If you are integrating a blockchain explorer API for the first time, this guide will save you from building the same multi-chain abstraction three different ways. If you have been using Etherscan V1 for years and are wondering whether to migrate to V2, the answer below is probably yes.

What a Blockchain Explorer API Actually Gives You

Raw RPC to a blockchain node returns primitives — blocks, transactions, logs, state at a given block. That is authoritative but uncomfortable for most application work. Reading "all token transfers for this address" from raw RPC requires scanning every block, filtering logs by topic, decoding, and reassembling. Explorer APIs do the indexing for you: they ingest every block, normalize the data, and expose convenient endpoints that would otherwise cost you days of engineering.

The typical endpoints an explorer API exposes include transaction history for an address (txlist), token transfer history (tokentx), native token balance and historical balance, ERC-20/ERC-721 balances, logs filtered by contract and topic, gas tracker, contract ABI and verified source code, and internal transactions. Every modern explorer API also exposes a key-by-key mapping of these for the chains it supports, so the same call pattern works across Ethereum, Base, Arbitrum, Optimism, Polygon, and the rest.

The tradeoffs between explorer APIs boil down to chain coverage, data depth, rate limits, latency, and pricing. A developer building a multi-chain treasury product needs wide coverage. A developer building a fast-loading wallet needs low latency and high throughput. A developer writing a one-off script needs a free tier and sensible defaults. Different APIs win on different axes.

Etherscan API (V1 and V2)

Etherscan's API is the original, and in early 2026 it remains the most widely used blockchain explorer API by request volume. Etherscan V1 exposes per-chain endpoints — you hit api.etherscan.io for Ethereum, api.arbiscan.io for Arbitrum, api.basescan.org for Base, with a separate API key per chain. This is clunky for multi-chain applications but gives you authoritative data for every Etherscan-family chain.

Etherscan V2 unifies the experience. A single V2 API key covers more than fifty chains through a single base URL, with the chain selected by a chainid parameter. V2 is the right choice for any new integration; V1 remains supported but is effectively deprecated for multi-chain use.

The core endpoints map cleanly to common needs. account?action=txlist returns normal transactions for an address. account?action=tokentx returns ERC-20 transfers. account?action=balance returns native balance. logs?action=getLogs returns filtered event logs. contract?action=getabi returns the verified ABI of a contract.

A cURL call to fetch an address's recent transactions on Base via V2 looks like:

Etherscan's pricing in April 2026 runs a free tier with 5 calls/second and daily quota limits, and paid tiers that scale to tens of calls per second and unlimited daily calls. For most indie developers the free tier is enough; for production applications a paid plan is needed for headroom. Rate limits are enforced strictly and will return 429s under load.

Etherscan's strengths are data depth (every Etherscan-family chain is supported with identical endpoints), verified-contract coverage (the best in the industry), and label quality (addresses are frequently annotated). Its weaknesses are that block-log queries have narrow block-range limits (10,000 blocks per request is typical), and latency on some chains can lag real-time by a few seconds.

Blockscout API

Blockscout is an open-source explorer used by many chains as their canonical explorer, especially newer L2s and app-chains that Etherscan does not officially support or that prefer open-source infrastructure. Every Blockscout instance exposes an API that follows a similar shape to Etherscan's, with both "Etherscan-compatible" endpoints (for easy migration) and a richer REST API that exposes more granular data.

A call to Blockscout typically hits the chain's own Blockscout domain — for example https://explorer.optimism.io/api for older Optimism setups or chain-specific instances like Polygon zkEVM, Gnosis, Lukso, and many Rollup-as-a-Service chains. The per-chain domain pattern is similar to Etherscan V1, which means a multi-chain Blockscout integration benefits from a lightweight abstraction layer.

Blockscout's strengths are its open-source nature (self-hosting is supported, which matters for teams running private chains or wanting full data control), wide coverage of new chains (Blockscout instances often come up before Etherscan-family coverage exists), and a free public API on most hosted instances. Its weaknesses are inconsistent feature coverage across instances (some enable internal transactions, some do not), variable performance, and fewer third-party labels. For production use on a major chain, an Etherscan V2 + Blockscout hybrid is common — Etherscan for the well-covered chains and Blockscout for the long tail.

GoldRush (formerly Covalent)

GoldRush — the rebranded product from Covalent — is positioned as a unified multi-chain API, covering more than two hundred chains through a single endpoint schema. Where Etherscan and Blockscout lean toward exposing the chain as a chain, GoldRush tries to abstract the chain away. A single balances_v2 call returns every ERC-20 balance for an address on a specific chain; a transactions_v3 call returns transaction history with decoded inputs; pricing endpoints return USD values for every token at the tx time.

A GoldRush call to fetch all token balances for a wallet on Base in JavaScript looks like:

GoldRush's strengths are chain coverage (widest of the major APIs), decoded-input convenience (transaction payloads come back with function names and parameters pre-decoded), and bundled pricing data (getting historical token prices is a single call, not three). Its weaknesses are cost (GoldRush tends to be more expensive per call than Etherscan at equivalent scale) and occasional data lag on newer chains while the ingestion catches up.

For developer-facing tooling that needs wide chain coverage out of the box, GoldRush is often the fastest path to working software. For cost-sensitive production where you hammer the same endpoints at high rate, Etherscan V2 is typically cheaper.

Alchemy's Enhanced APIs

Alchemy's Enhanced APIs take a different posture — Alchemy is primarily a node provider, and its Enhanced APIs extend plain RPC with higher-level endpoints. The alchemy_getAssetTransfers method returns a filtered transfer history with a rich query language (specific categories, contracts, block ranges). alchemy_getTokenBalances returns all ERC-20 balances for an address. The NFT APIs expose metadata, ownership, and floor prices. The Subscription API lets you stream new transactions for an address in real time over WebSocket.

Because Alchemy's Enhanced APIs live alongside plain RPC, they are particularly well-suited to wallet and DApp use where you want both indexed history and real-time pending-tx monitoring. A wallet that uses Alchemy can show historical balances via Enhanced APIs and pending transactions via a WebSocket subscription, all against the same endpoint.

Chain coverage spans the major EVM chains (Ethereum, Polygon, Arbitrum, Optimism, Base, Astar, zkSync, Linea, and more) and Solana. Pricing is usage-based with a generous free tier; Enhanced API calls are priced at 1-10 CUs (compute units) depending on endpoint. For wallet teams, Alchemy is often the default; for compliance teams querying years of history, a dedicated explorer API tends to be better.

QuickNode

QuickNode similarly overlays indexed data on top of node infrastructure. QuickNode's Marketplace includes add-ons for Streams (real-time event feeds), Functions (server-side compute on chain data), and a growing set of Chain-specific indexing add-ons. Token API, NFT API, and DeFi API add-ons provide higher-level endpoints comparable to Alchemy's Enhanced APIs.

QuickNode's strengths are low-latency RPC (it remains one of the fastest node providers globally), per-chain dedicated endpoints (no shared-tenant rate-limit surprises), and its Marketplace of third-party add-ons. Its weaknesses are that the indexed-data side is less unified than GoldRush's single-schema approach — you may end up assembling data from multiple add-ons rather than a single API.

For teams that already run their DApp on QuickNode RPC, layering on the Token API add-on is often cheaper than adding a separate explorer API subscription. For teams starting fresh, the decision is whether you want RPC and indexed data from one vendor (QuickNode, Alchemy) or you want to pair a best-in-class explorer API (Etherscan V2, GoldRush) with a separate RPC provider.

Common Endpoints You Will Actually Use

Across all the APIs above, a handful of endpoints cover 80% of application needs.

Transaction list for an address. This returns every transaction sent from or to an address within a block range. Etherscan: account?action=txlist. Blockscout: same. GoldRush: transactions_v3. Alchemy: alchemy_getAssetTransfers. Use case: wallet history, treasury reconciliation, account audit.

Token transfer list. Filtered to ERC-20 transfers, this returns all token movements for an address. Etherscan: account?action=tokentx. GoldRush: transactions_v3 with filters. Alchemy: alchemy_getAssetTransfers with category=erc20. Use case: stablecoin flow tracking, token portfolio history.

Balance at current or historical block. Native token and ERC-20 balances. Etherscan: account?action=balance or tokenbalance. GoldRush: balances_v2. Alchemy: alchemy_getTokenBalances. Use case: wallet UI, net-worth dashboards, treasury snapshots.

Logs filtered by contract and topic. The raw event feed. Etherscan: logs?action=getLogs. Native RPC: eth_getLogs. Use case: custom indexing, event-driven workflows, compliance monitoring.

Contract ABI and verified source. Etherscan leads here — contract?action=getabi and contract?action=getsourcecode are the canonical sources. Blockscout offers similar endpoints for chains it covers. Use case: decoding transaction payloads, verifying contract behavior.

Internal transactions. Trace-derived transfers that do not appear as top-level transactions. Etherscan: account?action=txlistinternal. Alchemy: alchemy_getAssetTransfers with category=internal. Use case: tracing DEX routes, multicall unwrapping, complete balance reconciliation.

Sample Code

A minimal Python client that fetches the last 100 USDC transfers for an address on Base using Etherscan V2:

import requests; r = requests.get("https://api.etherscan.io/v2/api", params={"chainid":8453,"module":"account","action":"tokentx","contractaddress":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","address":addr,"page":1,"offset":100,"sort":"desc","apikey":KEY}); print(r.json()["result"])

The same request against GoldRush in JavaScript:

And using Alchemy SDK in Node:

import { Alchemy, Network } from "alchemy-sdk"; const a = new Alchemy({apiKey: KEY, network: Network.BASE_MAINNET}); const t = await a.core.getAssetTransfers({fromAddress: addr, category: ["erc20"], contractAddresses: ["0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"]});

The patterns look similar because the underlying data is the same — the difference is what each provider adds on top and how they price it.

When to Use an Explorer API vs a Data Platform

Explorer APIs are the right answer when you need fast, structured access to per-address or per-contract data — loading a wallet, showing a transaction list, reconciling a treasury. They are not always the right answer for analytical work.

For aggregation and exploratory analysis, Dune and Flipside are better. Both expose SQL over indexed blockchain data and let you write queries like "show total USDC volume by chain for the last 30 days" that would require orchestrating many explorer-API calls. Dashboards are cheap to publish and easy to share.

For application-specific subgraphs — where you want a GraphQL schema tuned to your protocol — The Graph is the canonical choice. Many DeFi protocols publish a subgraph that exposes their specific data model far more naturally than generic explorer endpoints would.

The decision tree is roughly: (1) do you need per-address indexed data on demand? Use an explorer API. (2) Do you need to run aggregation queries across many addresses/contracts? Use Dune or Flipside. (3) Do you need a protocol-specific schema? Use The Graph. Most production stacks end up using more than one — an explorer API for real-time user-facing reads and Dune for internal reporting.

For stablecoin-specific integrations, the combination of an explorer API plus an intent-layer API is increasingly common. A treasury product might use Etherscan V2 for point queries, Dune for monthly analytics, and the Eco Routes API for live cross-chain intent activity. See the stablecoin developer tools comparison and stablecoin treasury APIs compared for how these fit together.

Multi-Chain Abstraction Patterns

A recurring task for explorer-API consumers is abstracting over chain differences. If you support five EVM chains, you probably want one code path, not five. Three patterns are common.

Chain-ID routing. Etherscan V2's chainid parameter and GoldRush's URL-embedded chain ID both let you parameterize requests. Your code has a fetchTransfers(chainId, address) function that formats the right URL.

Provider-per-chain abstraction. When different chains call for different providers (Etherscan V2 for mainline, Blockscout for a long-tail L2, a specialized provider for Solana), a thin internal abstraction layer routes each call to the right backend. This is where most production multi-chain stacks end up.

Unified-schema providers. GoldRush and Alchemy both offer one schema across many chains, which simplifies application code at the cost of provider lock-in. For cross-chain agent workflows — see what is agentic commerce — a unified schema matters because the agent does not want to know which chain it is querying.

For reading cross-chain intent data specifically, the Routes API is intent-native: you query by intent ID rather than by (chain, tx hash), which avoids the per-chain plumbing entirely. See Coinbase AgentKit stablecoin routing for a concrete agent-side integration example.

Rate Limits, Pricing, and Production Considerations

Rate limits are the single biggest operational headache with explorer APIs. Every provider has them, they are enforced strictly, and hitting them returns 429s or soft degradation. A production application needs a retry-with-backoff layer, a request budget per user or feature, and monitoring for 429 rates.

Pricing in April 2026 roughly sorts as: Etherscan V2 is the cheapest at scale, GoldRush is the most expensive per call but bundles the most convenience, Alchemy and QuickNode sit in between and bundle RPC. Many teams run the free tier of two providers in parallel and use the second as a failover for the first when rate limits trigger.

Latency varies by provider and chain. Etherscan V2 indexes mainline chains within seconds of finality. Blockscout instances vary widely. GoldRush lags a few seconds on most chains. Alchemy and QuickNode are generally fastest because they own the underlying RPC. For applications that need sub-second freshness (DEX aggregators, MEV infrastructure), raw RPC is still the right answer and an explorer API is a supplementary layer.

Production teams almost always end up with more than one explorer API in their stack — primary for cost, failover for uptime, and a specialist for a specific feature (verified ABIs on Etherscan, wide chain coverage on GoldRush, real-time streaming on Alchemy). For context on how API latency affects stablecoin and cross-chain applications specifically, see what affects stablecoin API latency and fees. For a survey of the broader stablecoin-focused API landscape including webhook and RPC providers, see stablecoin webhook infrastructure and stablecoin RPC node providers.

Related articles

FAQ

What is the best blockchain explorer API?

It depends on your use case. Etherscan V2 is the best general-purpose multi-chain choice in 2026 — widest Etherscan-family coverage, best verified-contract data, cheapest at scale. GoldRush is best for wide chain coverage with pre-decoded data. Alchemy's Enhanced APIs are best when you also need RPC and real-time streaming. Most production stacks use two.

Is the Etherscan API free?

Etherscan offers a free tier with rate-limited access (typically 5 calls/second and a daily quota) suitable for development and small applications. Production usage at scale requires a paid plan. V2 uses a single API key across all supported chains; V1 required a separate key per Etherscan-family site.

What is the difference between GoldRush and Covalent?

GoldRush is the rebrand of Covalent's developer-facing product. The API endpoints, pricing model, and chain coverage are continuous with the Covalent product. If you have existing Covalent integrations, they continue to work; new projects should use the GoldRush documentation and branding.

When should I use The Graph instead of an explorer API?

Use The Graph when you need a protocol-specific schema — DEX trades, lending positions, NFT metadata tuned to a specific collection. Use an explorer API when you need generic onchain data for any address or contract. The Graph is pull-indexed by protocol teams; explorer APIs are push-indexed from the chain itself.

How do I handle rate limits on production APIs?

Implement retry-with-exponential-backoff on 429s, budget requests per user or feature, cache aggressively for repeat reads, and consider a failover provider that you can route to when the primary rate-limits you. Most production stacks run two explorer APIs in parallel for this reason.

Can blockchain explorer APIs index intent-based cross-chain transactions?

Not fully. Explorer APIs see the source-chain deposit and the destinationchain payout as separate events, because the logical link lives off-chain in the intent protocol. For intent data specifically, the protocol's own API — for example the Eco Routes API — is the authoritative source. See intent-based routing protocols for more.

Did this answer your question?