支持的链
支持的区块链网络、Chain ID、URL 结构与特性支持情况。
BlockVectra 是多链区块链数据服务商。一个 API key 即可通过统一网关调用所有支持链的 JSON-RPC,Data API 在已开放的链上可用。
一个 key,所有链
- 全链通用:同一个 API key 可用于 BlockVectra 支持的所有区块链网络,无需为每条链单独申请 key。
- URL 标明链名:每次请求都通过
{chain}路径段显式指定链。 - 用量跨链合计:账户余额、CU 限流桶与免费档每秒调用数不分链,按跨链合计。
- 价格以套餐为准:具体价格与限额以你所选套餐(plan)的配置为准,详见定价页。
URL 模板
调用 JSON-RPC 与 Data API 的标准 URL 结构:
| 服务 | 接入方式 | URL 模板 | 说明 |
|---|---|---|---|
| JSON-RPC | key 放在路径中 | POST /v1/{chain}/{api_key} | 最简形式,适合 curl 与 HTTP 客户端 |
| JSON-RPC | key 放在请求头中 | POST /v1/{chain} | 在 x-api-key: {api_key} 请求头中传入 key |
| Data API | REST 端点 | GET /v1/data/{chain}/… | 在 x-api-key 请求头中传入 key |
| 状态 | 公开状态 | GET /v1/status | 无需 key,返回各已公开链的状态与链头 |
注意:旧路径
POST /v1/{api_key}返回 HTTP 404 与error.data.reason: "unknown_chain"错误,而不带链段的请求(如POST /v1或POST /v1/)返回 HTTP 404 且响应体为空。调用方式详见快速上手。
支持的链矩阵
下表列出 BlockVectra 当前已开放的区块链网络及其服务能力:
| 链 | {chain} | Chain ID | JSON-RPC | Data API | 链专有数据 |
|---|---|---|---|---|---|
| Robinhood Chain | robinhood_mainnet | 4663 | 已开放,含 debug_trace* | 已开放 | trace(覆盖有缺口)、DEX、代币化股票 |
| 以太坊 | eth_mainnet | 1 | Beta | Beta(最近约 30 天) | — |
| HyperEVM (不可用) | hyperevm_mainnet | 999 | 已开放 (不可用) | 已开放 (不可用) | — |
HyperEVM
原生代币 HYPE · 出块 ~1 s · 即时终局
HyperEVM 的区块包含 HyperCore 系统交易(发送方地址为 0x2222…2222 或 0x20…,gasPrice 为 0)。
需要其他链?告诉我们 →
Robinhood Chain
Robinhood Chain 是 BlockVectra 首条上线的区块链网络。
- Chain ID:
4663 - 链名(URL 中的
{chain}):robinhood_mainnet - JSON-RPC:支持标准 EVM 方法,以及
debug_trace*执行跟踪。 - Data API 数据集:区块、交易、ERC-20 转账与余额、NFT、DEX 成交与价格、代币化股票。
- trace 覆盖说明:trace 数据自某一区块起提供,之前没有数据;之后存在少量分散缺口。请求早于起始区块或落在缺口内时,Data API 返回
422 no_coverage(不计费)。 - L2 专有字段:区块与交易数据包含 L2 专有字段。
以太坊
以太坊的 JSON-RPC 和 Data API 均处于 Beta 阶段。
- Chain ID:
1 - 链名(URL 中的
{chain}):eth_mainnet,例如POST /v1/eth_mainnet/{api_key}、GET /v1/data/eth_mainnet/…。与其他链共用同一个 API key 和余额。
JSON-RPC
- 可用方法:只开放方法策略中为以太坊列出的方法,其他方法(包括
debug_trace*)返回-32601。 - 只保留近期数据:状态和区块覆盖最近约 36 天。超出窗口的历史状态查询返回
-32011(不计费);超出窗口的区块、收据与日志查询返回-32000 old data not available due to pruning(不计费);按 hash 查询窗口外的交易返回result: null。 eth_getLogs:单次最多 1000 个区块。
Data API
- 只保留近期数据:以太坊提供最近约 30 天的数据,起点以
GET /v1/data/chains的coverage.from_block为准。窗口大约每周向前移动一次,数据跨度至少 30 天(目前为 30–38 天)。低于起点的区块号或窗口返回422 no_coverage;已移出窗口的交易哈希返回404。 from_block为null时:起点暂时未知。不要把它当作0或完整历史,在它恢复为整数之前不要对以太坊发送历史请求(按区块号、窗口或哈希),这类请求会返回503 unavailable;其他链不受影响。- 并发:以太坊的 Data API 目前只能处理少量并发请求;繁忙时返回
503 gateway_overloaded并带Retry-After: 1,请退避后重试。 - 可用:区块、交易、地址交易、代币转账、代币元数据、数据新鲜度。地址交易和转账只覆盖这段时间,跨过起点的响应标记为
meta.coverage: "partial"。 - 不可用:余额、代币持有者、NFT 持有、DEX 成交与价格、代币化股票、trace,请求返回
422 no_coverage(不计费)。
用程序发现链
可通过以下公开端点查询已支持的链及其状态:
1. 网关状态(GET /v1/status)
公开端点,无需 API key(CORS *),只列出已公开的链,返回各链的状态与索引链头:
curl -s "https://dev-api.blockvectra.network/v1/status"响应示例:
{
"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
}
}
]
}每个元素的 name 始终是该链的英文显示名。jsonrpc 与 data 分别表示该链的 JSON-RPC 与 Data API 是否已开放;status 为 "ok" 或 "unavailable"。若某条链正在同步,该链的调用会返回 -32010,其他链不受影响。/v1/status 的 status 表示 JSON-RPC 是否正常,data_status 表示 Data API 是否正常("ok" / "unavailable");/v1/data/chains 中 coverage.has_data 为 false 表示该链尚无数据。
2. 查询 Data API 链列表(GET /v1/data/chains)
需在 x-api-key 请求头中传入 API key(计 1 CU),仅返回 Data API 公开的链,以及每条链支持的能力(features)、数据覆盖的区块范围(coverage)、finalized_block 的推导方式(finality)与单请求上限(limits):
curl -s "https://dev-api.blockvectra.network/v1/data/chains" \
-H "x-api-key: $BLOCKVECTRA_API_KEY"响应示例:
{
"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 }
}
]
}窗口链(如 eth_mainnet)的 coverage.from_block 是当前已索引的最低区块,大约每周随旧数据滚动清理而前移(上面的 from_block 只是某一时刻的快照)。起点暂时未知时它为 null:此时不要对该链发送历史请求(会返回 503 unavailable),也不要把 null 当作 0 或完整历史;全量历史链始终返回整数。请始终从该接口读取,不要写成常量。
调用 /v1/data/{chain}/… 时,若链未知或暂未公开,网关在检查 key 之前返回 HTTP 404,error.code 为 not_found(不计费且不占限流;链名必须为全小写 slug)。