Supported Chains
Supported blockchain networks, chain IDs, URL structures, and feature availability.
BlockVectra is a multi-chain blockchain data provider. With a single API key, you can call JSON-RPC on every chain we support, and the Data API where it is available, through one unified gateway.
One key, all chains
- Universal key: the same API key works on every blockchain network BlockVectra supports — no separate keys per chain.
- Chain in the URL: every request names its chain explicitly through the
{chain}path segment. - Aggregated usage: account balance, Compute Unit (CU) rate-limit buckets, and free-tier per-second request limits are shared across all chains.
- Plan-based pricing: the exact prices and limits come from your active plan configuration. See Pricing.
URL templates
Standard URL structures for calling JSON-RPC and the Data API:
| Service | Mode | URL template | Notes |
|---|---|---|---|
| JSON-RPC | Key in the path | POST /v1/{chain}/{api_key} | Simplest form; recommended for curl and HTTP clients |
| JSON-RPC | Key in a header | POST /v1/{chain} | Pass the key in the x-api-key: {api_key} request header |
| Data API | REST endpoints | GET /v1/data/{chain}/… | Pass the key in the x-api-key request header |
| Status | Public status | GET /v1/status | No key required; returns each public chain's status and head |
Note: the legacy path
POST /v1/{api_key}returns HTTP 404 witherror.data.reason: "unknown_chain", while a request without a chain segment (e.g.POST /v1orPOST /v1/) returns HTTP 404 with an empty body. See Quickstart for setup details.
Supported chains matrix
The blockchain networks currently available on BlockVectra, with their service capabilities:
| Chain | {chain} | Chain ID | JSON-RPC | Data API | Chain-Specific Data |
|---|---|---|---|---|---|
| Robinhood Chain | robinhood_mainnet | 4663 | Live, debug_trace* | Live | Traces (coverage gaps), DEX, Tokenized stocks |
| Ethereum | eth_mainnet | 1 | Beta | Beta (last ~30 days) | — |
| HyperEVM (Unavailable) | hyperevm_mainnet | 999 | Open (Unavailable) | Open (Unavailable) | — |
HyperEVM
Native token HYPE · Blocks ~1 s · instant finality
HyperEVM blocks include HyperCore system transactions (from address 0x2222…2222 or 0x20…, gasPrice 0).
Need another chain? Tell us →
Robinhood Chain
Robinhood Chain is the first blockchain network live on BlockVectra.
- Chain ID:
4663 - Chain name (
{chain}in URLs):robinhood_mainnet - JSON-RPC: standard EVM methods plus
debug_trace*execution tracing. - Data API datasets: blocks, transactions, ERC-20 transfers and balances, NFTs, DEX trades and prices, and tokenized stocks.
- Trace coverage: trace data is available from a certain block onward (none before it), with a small number of scattered gaps after that. A request that falls before the start block or inside a gap returns
422 no_coverage(not billed). - L2-specific fields: blocks and transactions include L2-specific fields.
Ethereum
Ethereum is in Beta on both JSON-RPC and the Data API.
- Chain ID:
1 - Chain name (
{chain}in URLs):eth_mainnet, e.g.POST /v1/eth_mainnet/{api_key}orGET /v1/data/eth_mainnet/…. Same API key and balance as every other chain.
JSON-RPC
- Methods: only the methods listed for Ethereum under Method Policy are open. Any other method, including
debug_trace*, returns-32601. - Recent data only: state and blocks cover about the last 36 days. Historical state queries outside the window return
-32011(not billed); block, receipt and log queries outside the window return-32000 old data not available due to pruning(not billed); a transaction looked up by hash outside the window returnsresult: null. eth_getLogs: at most 1000 blocks per request.
Data API
- Recent data only: Ethereum provides roughly the last 30 days of data; the start block is
coverage.from_blockinGET /v1/data/chains. The window moves forward about once a week, and the span is at least 30 days (currently 30–38 days). A block number or window below the start returns422 no_coverage; a transaction hash that has left the window returns404. - When
from_blockisnull: the start is temporarily unknown. Do not treat it as0or as full history, and do not send historical requests (by block number, window or hash) for Ethereum until it is an integer again; they return503 unavailable. Other chains are not affected. - Concurrency: Ethereum's Data API currently handles a small number of concurrent requests; when busy it returns
503 gateway_overloadedwithRetry-After: 1— retry with backoff. - Available: blocks, transactions, address transactions, token transfers, token metadata, and data freshness. Address transactions and transfers only cover that window: a response that crosses its start is marked
meta.coverage: "partial". - Not available: balances, token holders, NFT holdings, DEX trades and prices, tokenized stocks, and traces return
422 no_coverage(not billed).
Discovering chains programmatically
Use these public endpoints to discover supported chains and their status:
1. Gateway status (GET /v1/status)
A public endpoint that requires no API key (CORS *). It lists only publicly available chains and returns their status and indexed head:
curl -s "https://dev-api.blockvectra.network/v1/status"Example response:
{
"checked_at": "2026-09-28T07:40:00Z",
"gateway": { "status": "ok" },
"chains": [
{
"chain": "robinhood_mainnet",
"name": "Robinhood Chain",
"chain_id": 4663,
"jsonrpc": true,
"data": true,
"status": "ok",
"head": {
"block": 74600000,
"time": "2026-09-28T07:39:58Z",
"lag_seconds": 3
}
},
{
"chain": "eth_mainnet",
"name": "Ethereum",
"chain_id": 1,
"jsonrpc": true,
"data": true,
"status": "ok",
"head": {
"block": 26010000,
"time": "2026-09-28T07:39:59Z",
"lag_seconds": 1
}
}
]
}Each entry's name is always the chain's English display name. jsonrpc and data report whether that chain is open for JSON-RPC and the Data API respectively; status is "ok" or "unavailable". If a chain is syncing, calls to that chain return -32010; other chains are unaffected. On /v1/status, status reports whether JSON-RPC is healthy and data_status reports whether the Data API is healthy ("ok" or "unavailable"); in /v1/data/chains, a coverage.has_data of false means the chain has no indexed data yet.
2. Data API chains (GET /v1/data/chains)
Requires an API key in the x-api-key header (billed at 1 CU). Returns the public chains the Data API serves, each with what it serves (features), the blocks its data covers (coverage), how finalized_block is derived (finality) and its per-request caps (limits):
curl -s "https://dev-api.blockvectra.network/v1/data/chains" \
-H "x-api-key: $BLOCKVECTRA_API_KEY"Example response:
{
"data": [
{
"chain": "robinhood_mainnet",
"chain_slug": "ROBINHOOD_MAINNET",
"name": "Robinhood Chain",
"chain_id": 4663,
"chain_external_id": "eip155:4663",
"features": [
"blocks", "transactions", "address_transactions", "transfers", "token_metadata",
"balances", "holders", "nfts", "dex_swaps", "dex_prices", "stocks", "traces", "freshness"
],
"coverage": { "history_mode": "full", "from_block": 0, "traces_from_block": 72050949 },
"finality": { "model": "block_lag", "lag_blocks": 256 },
"limits": { "max_page_size": 500, "max_window_blocks": 100000, "max_pools_for_token": 200, "max_batch_addresses": 100 }
},
{
"chain": "eth_mainnet",
"chain_slug": "ETH_MAINNET",
"name": "Ethereum",
"chain_id": 1,
"chain_external_id": "eip155:1",
"features": ["blocks", "transactions", "address_transactions", "transfers", "token_metadata", "freshness"],
"coverage": { "history_mode": "window", "from_block": 26000000, "retention_days": 30, "traces_from_block": null },
"finality": { "model": "block_lag", "lag_blocks": 64 },
"limits": { "max_page_size": 500, "max_window_blocks": 100000, "max_pools_for_token": 200, "max_batch_addresses": 100 }
}
]
}On a window chain such as eth_mainnet, coverage.from_block is the lowest block currently indexed; it moves forward about once a week as old data is pruned (from_block above is only a snapshot). It can be null while the start is temporarily unknown; then do not send historical requests for that chain (they return 503 unavailable), and never treat null as 0 or full history. Full-history chains always return an integer. Always read it from this endpoint rather than hard-coding it.
Calling /v1/data/{chain}/… with an unknown or not-public chain returns HTTP 404 with error.code not_found (decided before the key check, not billed, and not rate-limited; the chain name must be the exact lowercase slug).