快速上手

免 key 调用公开 RPC 读取区块高度,再创建 API key 发出首个认证请求;含请求头两种传法、批量调用上限 100 与 CU 计量,余额不足返回 402,新建 key 约 5 秒后生效,常见错误码见对照表。

开发者与 AI Agent 都可以先调用免 key 公开 RPC,再创建 key 继续使用。

1. 免 key 读取区块高度

无需注册账号或创建 API key,直接调用示例链的公开 JSON-RPC 端点:

curl -s "https://api.blockvectra.com/v1/robinhood_mainnet/public" \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

响应中的 id: 1 对应本次请求;result 是十六进制区块高度,每次调用可能不同。若返回 error,查看错误码与原因。公开方法、历史范围与按 IP 限额见免费公共 RPC 节点。

2. 创建 API key

前往控制台,用 GitHub、Google 或以太坊钱包登录(首次登录自动开户),然后创建 API key。创建时 secret 只显示一次,请立即妥善保存,并设置为环境变量 BLOCKVECTRA_API_KEY。不要把 key 放进浏览器前端代码。新账户注册即得 30,000,000 CU,无需信用卡。

还没有 API key?

如果有以太坊钱包:可参考程序化开户指南通过以太坊钱包签名自主开户建 key,无需浏览器。如果没有钱包:请用户登录 console.blockvectra.com 建一个 key,并设置为环境变量 BLOCKVECTRA_API_KEY。不要让用户把 key 贴进对话。

3. 发出首个带 key 的调用

使用 x-api-key 请求头读取同一条链的区块高度。URL 以链名结尾,不带结尾斜杠:

: "${BLOCKVECTRA_API_KEY:?Set BLOCKVECTRA_API_KEY first}"

curl -s "https://api.blockvectra.com/v1/robinhood_mainnet" \
  -H 'Content-Type: application/json' \
  -H "x-api-key: $BLOCKVECTRA_API_KEY" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

result 仍是十六进制区块高度。此请求按 CU 计费;方法权重与错误码见 JSON-RPC 参考,当前价格见定价。新建 key 约 5 秒后生效;若收到 invalid_api_key,稍等重试。其他失败见下方常见错误。

4. 继续完成业务任务

参考

API key 与余额

完整模板仓库:blockvectra/agent-quickstart

key 的样子是 rgw_ 加 64 位十六进制字符,例如 rgw_1f2e...(已截断)。请保管好, 拿到 key 的任何人都能消耗你的余额。

余额不足时服务端返回 HTTP 402(JSON-RPC 错误码为 -32020;Data API 为 error.code insufficient_balance),去控制台账单页查看余额与充值方式。

免注册先试

无需注册账号或创建 API key,即可直接调用公开 JSON-RPC 端点先试用。

# 直接调用公开端点:
curl -s "https://api.blockvectra.com/v1/robinhood_mainnet/public" \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

# 或使用环境变量回退写法(未设置 BLOCKVECTRA_API_KEY 时自动回退至 public):
curl -s "https://api.blockvectra.com/v1/robinhood_mainnet/${BLOCKVECTRA_API_KEY:-public}" \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

下面示例中的端点按 IP 限制调用速率(每 IP 3 req/s,突发上限 20,单批最大 10 次调用)。超出调用频率限制时返回 HTTP 429 及 reason public_rate_limit 或 public_pool_busy(并附带 Retry-After 响应头);调用未公开方法返回 JSON-RPC 错误码 -32601(method_not_public)。

各链公开端点

  • Arbitrum One: https://api.blockvectra.com/v1/arb_mainnet/public — 可查询、可广播已签名交易(eth_sendRawTransaction)
  • Base: https://api.blockvectra.com/v1/base_mainnet/public — 可查询、可广播已签名交易(eth_sendRawTransaction)
  • BNB Smart Chain: https://api.blockvectra.com/v1/bsc_mainnet/public — 可查询、可广播已签名交易(eth_sendRawTransaction)
  • Ethereum: https://api.blockvectra.com/v1/eth_mainnet/public — 可查询、可广播已签名交易(eth_sendRawTransaction)
  • Ethereum Sepolia: https://api.blockvectra.com/v1/eth_sepolia/public — 可查询、可广播已签名交易(eth_sendRawTransaction)
  • Fraxtal: https://api.blockvectra.com/v1/fraxtal_mainnet/public — 可查询、可广播已签名交易(eth_sendRawTransaction)
  • HyperEVM: https://api.blockvectra.com/v1/hyperevm_mainnet/public — 只读
  • Ink: https://api.blockvectra.com/v1/ink_mainnet/public — 可查询、可广播已签名交易(eth_sendRawTransaction)
  • Katana: https://api.blockvectra.com/v1/katana_mainnet/public — 可查询、可广播已签名交易(eth_sendRawTransaction)
  • Polygon: https://api.blockvectra.com/v1/polygon_mainnet/public — 可查询、可广播已签名交易(eth_sendRawTransaction)
  • Robinhood Chain: https://api.blockvectra.com/v1/robinhood_mainnet/public — 可查询、可广播已签名交易(eth_sendRawTransaction)
  • Robinhood Chain Testnet: https://api.blockvectra.com/v1/robinhood_testnet/public — 可查询、可广播已签名交易(eth_sendRawTransaction)
  • Unichain: https://api.blockvectra.com/v1/unichain_mainnet/public — 可查询、可广播已签名交易(eth_sendRawTransaction)

下面两个公开元数据接口可查看服务状态与各链配置,免鉴权、不计费。

检查服务与各链健康状态

curl https://api.blockvectra.com/v1/status

返回包含检查时间戳 checked_at、服务运行状态 gateway.status,以及各支持链的节点同步进度 sync、链头高度与延迟 head:

{
  "checked_at": "2026-10-03T13:30:47Z",
  "gateway": {
    "status": "ok"
  },
  "chains": [
    {
      "chain": "bsc_mainnet",
      "name": "BNB Smart Chain",
      "chain_id": 56,
      "jsonrpc": true,
      "data": true,
      "data_features": [
        "blocks",
        "transactions",
        "address_transactions",
        "transfers",
        "token_metadata",
        "freshness"
      ],
      "data_status": "ok",
      "data_head_block": 125492675,
      "data_head_age_seconds": 3,
      "status": "ok",
      "sync": {
        "stage": "synced",
        "node_block": 125492676,
        "target_block": null
      },
      "head": {
        "block": 125492676,
        "time": "2026-10-03T13:30:45Z",
        "lag_seconds": 2
      }
    }
  ]
}

查询支持的链与方法策略

curl https://api.blockvectra.com/v1/chains

返回所有支持链的 Chain ID、JSON-RPC / Data API / WebSocket 能力标识、方法开放与禁用策略(methods.allow 与 methods.deny)、日志单次查询区间上限 max_logs_block_range,以及历史状态窗口 state_window_blocks:

{
  "chains": [
    {
      "chain": "bsc_mainnet",
      "name": "BNB Smart Chain",
      "chain_id": 56,
      "jsonrpc": true,
      "data": true,
      "ws": false,
      "subscriptions": [],
      "methods": {
        "allow": [
          "eth_blockNumber",
          "eth_call",
          "eth_chainId",
          "eth_getLogs"
        ],
        "deny": [
          "eth_newFilter",
          "eth_subscribe",
          "eth_unsubscribe"
        ]
      },
      "max_logs_block_range": 1000,
      "state_window_blocks": 100,
      "info": {}
    }
  ]
}

选择链

BlockVectra 的每个端点都按链区分:JSON-RPC 请求在 URL 路径中带上链名 {chain},Data API 请求则在路由前加上链名。当前已开放的链及对应链名见支持的链。

链{chain}Chain IDTracing公开端点WebSocketData API带 key 方法数Webhook 推送发送交易发送交易(免 key 公开端点)历史状态窗口eth_getLogs 单次最大区块跨度Data API 数据集相关测试网相关教程
Arbitrum One RPC 与 Data APIarb_mainnet42161✓https://api.blockvectra.com/v1/arb_mainnet/public支持 (newHeads, logs)已开放43支持 · 确认数 1–120(默认 120)
Webhook 推送指南
支持支持最近 5,000 个区块的历史状态1,000 个区块区块、交易、地址交易、转账、代币元数据、数据新鲜度未知未知
Base RPC 与 Data APIbase_mainnet8453—https://api.blockvectra.com/v1/base_mainnet/public支持 (newHeads, logs)已开放39支持 · 确认数 1–519(默认 1)
Webhook 推送指南
支持支持最近 10,000 个区块的历史状态1,000 个区块区块、交易、地址交易、转账、代币元数据、数据新鲜度未知Base
BNB Smart Chain RPC 与 Data APIbsc_mainnet56—https://api.blockvectra.com/v1/bsc_mainnet/public支持 (newHeads, logs)已开放25支持 · 确认数 1–2(默认 1)
Webhook 推送指南
支持支持最近 100 个区块的历史状态1,000 个区块区块、交易、地址交易、转账、代币元数据、数据新鲜度未知未知
以太坊 RPC 与 Data APIeth_mainnet1✓https://api.blockvectra.com/v1/eth_mainnet/public支持 (newHeads, logs)已开放38支持 · 确认数 1–82(默认 6)
Webhook 推送指南
支持支持最近 250,000 个区块的历史状态1,000 个区块区块、交易、地址交易、转账、代币元数据、数据新鲜度未知未知
Ethereum Sepolia RPC 与 Data APIeth_sepolia11155111—https://api.blockvectra.com/v1/eth_sepolia/public支持 (newHeads, logs)已开放29支持 · 确认数 1–67(默认 6)
Webhook 推送指南
支持支持未知1,000 个区块区块、交易、地址交易、转账、代币元数据、数据新鲜度未知未知
Fraxtal RPCfraxtal_mainnet252—https://api.blockvectra.com/v1/fraxtal_mainnet/public支持 (newHeads, logs)暂未开放39不支持支持支持最近 10,000 个区块的历史状态1,000 个区块不支持未知未知
HyperEVM RPC 与 Data APIhyperevm_mainnet999—https://api.blockvectra.com/v1/hyperevm_mainnet/public支持 (newHeads, logs)已开放25支持 · 确认数 1–1(默认 1)
Webhook 推送指南
支持不支持未知1,000 个区块区块、交易、地址交易、转账、代币元数据、余额、持有者、NFT、数据新鲜度未知HyperEVM 回填与轮询
Ink RPCink_mainnet57073—https://api.blockvectra.com/v1/ink_mainnet/public支持 (newHeads, logs)暂未开放39不支持支持支持最近 60,000 个区块的历史状态1,000 个区块不支持未知Ink 池发现
Katana RPCkatana_mainnet747474—https://api.blockvectra.com/v1/katana_mainnet/public支持 (newHeads, logs)暂未开放39不支持支持支持最近 86,400 个区块的历史状态1,000 个区块不支持未知未知
Polygon RPC 与 Data APIpolygon_mainnet137✓https://api.blockvectra.com/v1/polygon_mainnet/public支持 (newHeads, logs)已开放43支持 · 确认数 1–200(默认 200)
Webhook 推送指南
支持支持最近 126 个区块的历史状态1,000 个区块区块、交易、地址交易、转账、代币元数据、数据新鲜度未知未知
Robinhood Chain RPC 与 Data APIrobinhood_mainnet4663✓https://api.blockvectra.com/v1/robinhood_mainnet/public支持 (newHeads, logs)已开放43支持 · 确认数 1–1(默认 1)
Webhook 推送指南
支持支持最近 900 个区块的历史状态1,000 个区块区块、交易、地址交易、转账、代币元数据、余额、持有者、NFT、DEX 成交、DEX 价格、代币化股票、Trace、数据新鲜度未知Robinhood Chain 主网
股票代币乘数与指标

代币化股票指标
Robinhood Chain Testnet RPCrobinhood_testnet46630✓https://api.blockvectra.com/v1/robinhood_testnet/public支持 (newHeads, logs)暂未开放43支持 · 确认数 1–1(默认 1)
Webhook 推送指南
支持支持最近 1,023 个区块的历史状态1,000 个区块不支持未知测试网水龙头
Robinhood Chain 测试网入门
Unichain RPCunichain_mainnet130—https://api.blockvectra.com/v1/unichain_mainnet/public支持 (newHeads, logs)暂未开放39不支持支持支持最近 85,500 个区块的历史状态1,000 个区块不支持未知未知

拿到 key 之后

Arbitrum One

eth_getLogs

set -eu
MAX_LOGS_BLOCK_RANGE=1000
head=$(curl -fsS 'https://api.blockvectra.com/v1/arb_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}' | python3 -c 'import json,sys; print(int(json.load(sys.stdin)["result"],16))')
from=$((head >= MAX_LOGS_BLOCK_RANGE ? head - MAX_LOGS_BLOCK_RANGE + 1 : 0))
from_hex=$(printf '0x%x' "$from")
to_hex=$(printf '0x%x' "$head")
curl -fsS 'https://api.blockvectra.com/v1/arb_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' \
  -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getLogs\",\"params\":[{\"fromBlock\":\"$from_hex\",\"toBlock\":\"$to_hex\"}]}"
eth_getLogs

数据 API

curl -fsS 'https://api.blockvectra.com/v1/data/arb_mainnet/status/freshness' -H "x-api-key: $BLOCKVECTRA_API_KEY"
数据 API

WebSocket

echo '{"jsonrpc":"2.0","id":1,"method":"eth_subscribe","params":["newHeads"]}' | websocat --no-close -H="x-api-key: $BLOCKVECTRA_API_KEY" 'wss://api.blockvectra.com/v1/arb_mainnet'
WebSocket

创建 Webhook 订阅 · 创建 Webhook 订阅 · 用量与 CU · 充值

Base

eth_getLogs

set -eu
MAX_LOGS_BLOCK_RANGE=1000
head=$(curl -fsS 'https://api.blockvectra.com/v1/base_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}' | python3 -c 'import json,sys; print(int(json.load(sys.stdin)["result"],16))')
from=$((head >= MAX_LOGS_BLOCK_RANGE ? head - MAX_LOGS_BLOCK_RANGE + 1 : 0))
from_hex=$(printf '0x%x' "$from")
to_hex=$(printf '0x%x' "$head")
curl -fsS 'https://api.blockvectra.com/v1/base_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' \
  -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getLogs\",\"params\":[{\"fromBlock\":\"$from_hex\",\"toBlock\":\"$to_hex\"}]}"
eth_getLogs

数据 API

curl -fsS 'https://api.blockvectra.com/v1/data/base_mainnet/status/freshness' -H "x-api-key: $BLOCKVECTRA_API_KEY"
数据 API

WebSocket

echo '{"jsonrpc":"2.0","id":1,"method":"eth_subscribe","params":["newHeads"]}' | websocat --no-close -H="x-api-key: $BLOCKVECTRA_API_KEY" 'wss://api.blockvectra.com/v1/base_mainnet'
WebSocket

创建 Webhook 订阅 · 创建 Webhook 订阅 · 用量与 CU · 充值

BNB Smart Chain

eth_getLogs

set -eu
MAX_LOGS_BLOCK_RANGE=1000
head=$(curl -fsS 'https://api.blockvectra.com/v1/bsc_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}' | python3 -c 'import json,sys; print(int(json.load(sys.stdin)["result"],16))')
from=$((head >= MAX_LOGS_BLOCK_RANGE ? head - MAX_LOGS_BLOCK_RANGE + 1 : 0))
from_hex=$(printf '0x%x' "$from")
to_hex=$(printf '0x%x' "$head")
curl -fsS 'https://api.blockvectra.com/v1/bsc_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' \
  -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getLogs\",\"params\":[{\"fromBlock\":\"$from_hex\",\"toBlock\":\"$to_hex\"}]}"
eth_getLogs

数据 API

curl -fsS 'https://api.blockvectra.com/v1/data/bsc_mainnet/status/freshness' -H "x-api-key: $BLOCKVECTRA_API_KEY"
数据 API

WebSocket

echo '{"jsonrpc":"2.0","id":1,"method":"eth_subscribe","params":["newHeads"]}' | websocat --no-close -H="x-api-key: $BLOCKVECTRA_API_KEY" 'wss://api.blockvectra.com/v1/bsc_mainnet'
WebSocket

创建 Webhook 订阅 · 创建 Webhook 订阅 · 用量与 CU · 充值

以太坊

eth_getLogs

set -eu
MAX_LOGS_BLOCK_RANGE=1000
head=$(curl -fsS 'https://api.blockvectra.com/v1/eth_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}' | python3 -c 'import json,sys; print(int(json.load(sys.stdin)["result"],16))')
from=$((head >= MAX_LOGS_BLOCK_RANGE ? head - MAX_LOGS_BLOCK_RANGE + 1 : 0))
from_hex=$(printf '0x%x' "$from")
to_hex=$(printf '0x%x' "$head")
curl -fsS 'https://api.blockvectra.com/v1/eth_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' \
  -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getLogs\",\"params\":[{\"fromBlock\":\"$from_hex\",\"toBlock\":\"$to_hex\"}]}"
eth_getLogs

数据 API

curl -fsS 'https://api.blockvectra.com/v1/data/eth_mainnet/status/freshness' -H "x-api-key: $BLOCKVECTRA_API_KEY"
数据 API

WebSocket

echo '{"jsonrpc":"2.0","id":1,"method":"eth_subscribe","params":["newHeads"]}' | websocat --no-close -H="x-api-key: $BLOCKVECTRA_API_KEY" 'wss://api.blockvectra.com/v1/eth_mainnet'
WebSocket

创建 Webhook 订阅 · 创建 Webhook 订阅 · 用量与 CU · 充值

Ethereum Sepolia

eth_getLogs

set -eu
MAX_LOGS_BLOCK_RANGE=1000
head=$(curl -fsS 'https://api.blockvectra.com/v1/eth_sepolia' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}' | python3 -c 'import json,sys; print(int(json.load(sys.stdin)["result"],16))')
from=$((head >= MAX_LOGS_BLOCK_RANGE ? head - MAX_LOGS_BLOCK_RANGE + 1 : 0))
from_hex=$(printf '0x%x' "$from")
to_hex=$(printf '0x%x' "$head")
curl -fsS 'https://api.blockvectra.com/v1/eth_sepolia' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' \
  -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getLogs\",\"params\":[{\"fromBlock\":\"$from_hex\",\"toBlock\":\"$to_hex\"}]}"
eth_getLogs

数据 API

curl -fsS 'https://api.blockvectra.com/v1/data/eth_sepolia/status/freshness' -H "x-api-key: $BLOCKVECTRA_API_KEY"
数据 API

WebSocket

echo '{"jsonrpc":"2.0","id":1,"method":"eth_subscribe","params":["newHeads"]}' | websocat --no-close -H="x-api-key: $BLOCKVECTRA_API_KEY" 'wss://api.blockvectra.com/v1/eth_sepolia'
WebSocket

创建 Webhook 订阅 · 创建 Webhook 订阅 · 用量与 CU · 充值

Fraxtal

eth_getLogs

set -eu
MAX_LOGS_BLOCK_RANGE=1000
head=$(curl -fsS 'https://api.blockvectra.com/v1/fraxtal_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}' | python3 -c 'import json,sys; print(int(json.load(sys.stdin)["result"],16))')
from=$((head >= MAX_LOGS_BLOCK_RANGE ? head - MAX_LOGS_BLOCK_RANGE + 1 : 0))
from_hex=$(printf '0x%x' "$from")
to_hex=$(printf '0x%x' "$head")
curl -fsS 'https://api.blockvectra.com/v1/fraxtal_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' \
  -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getLogs\",\"params\":[{\"fromBlock\":\"$from_hex\",\"toBlock\":\"$to_hex\"}]}"
eth_getLogs

WebSocket

echo '{"jsonrpc":"2.0","id":1,"method":"eth_subscribe","params":["newHeads"]}' | websocat --no-close -H="x-api-key: $BLOCKVECTRA_API_KEY" 'wss://api.blockvectra.com/v1/fraxtal_mainnet'
WebSocket

用量与 CU · 充值

HyperEVM

eth_getLogs

set -eu
MAX_LOGS_BLOCK_RANGE=1000
head=$(curl -fsS 'https://api.blockvectra.com/v1/hyperevm_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}' | python3 -c 'import json,sys; print(int(json.load(sys.stdin)["result"],16))')
from=$((head >= MAX_LOGS_BLOCK_RANGE ? head - MAX_LOGS_BLOCK_RANGE + 1 : 0))
from_hex=$(printf '0x%x' "$from")
to_hex=$(printf '0x%x' "$head")
curl -fsS 'https://api.blockvectra.com/v1/hyperevm_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' \
  -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getLogs\",\"params\":[{\"fromBlock\":\"$from_hex\",\"toBlock\":\"$to_hex\"}]}"
eth_getLogs

数据 API

curl -fsS 'https://api.blockvectra.com/v1/data/hyperevm_mainnet/status/freshness' -H "x-api-key: $BLOCKVECTRA_API_KEY"
数据 API

WebSocket

echo '{"jsonrpc":"2.0","id":1,"method":"eth_subscribe","params":["newHeads"]}' | websocat --no-close -H="x-api-key: $BLOCKVECTRA_API_KEY" 'wss://api.blockvectra.com/v1/hyperevm_mainnet'
WebSocket

创建 Webhook 订阅 · 创建 Webhook 订阅 · 用量与 CU · 充值

Ink

eth_getLogs

set -eu
MAX_LOGS_BLOCK_RANGE=1000
head=$(curl -fsS 'https://api.blockvectra.com/v1/ink_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}' | python3 -c 'import json,sys; print(int(json.load(sys.stdin)["result"],16))')
from=$((head >= MAX_LOGS_BLOCK_RANGE ? head - MAX_LOGS_BLOCK_RANGE + 1 : 0))
from_hex=$(printf '0x%x' "$from")
to_hex=$(printf '0x%x' "$head")
curl -fsS 'https://api.blockvectra.com/v1/ink_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' \
  -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getLogs\",\"params\":[{\"fromBlock\":\"$from_hex\",\"toBlock\":\"$to_hex\"}]}"
eth_getLogs

WebSocket

echo '{"jsonrpc":"2.0","id":1,"method":"eth_subscribe","params":["newHeads"]}' | websocat --no-close -H="x-api-key: $BLOCKVECTRA_API_KEY" 'wss://api.blockvectra.com/v1/ink_mainnet'
WebSocket

用量与 CU · 充值

Katana

eth_getLogs

set -eu
MAX_LOGS_BLOCK_RANGE=1000
head=$(curl -fsS 'https://api.blockvectra.com/v1/katana_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}' | python3 -c 'import json,sys; print(int(json.load(sys.stdin)["result"],16))')
from=$((head >= MAX_LOGS_BLOCK_RANGE ? head - MAX_LOGS_BLOCK_RANGE + 1 : 0))
from_hex=$(printf '0x%x' "$from")
to_hex=$(printf '0x%x' "$head")
curl -fsS 'https://api.blockvectra.com/v1/katana_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' \
  -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getLogs\",\"params\":[{\"fromBlock\":\"$from_hex\",\"toBlock\":\"$to_hex\"}]}"
eth_getLogs

WebSocket

echo '{"jsonrpc":"2.0","id":1,"method":"eth_subscribe","params":["newHeads"]}' | websocat --no-close -H="x-api-key: $BLOCKVECTRA_API_KEY" 'wss://api.blockvectra.com/v1/katana_mainnet'
WebSocket

用量与 CU · 充值

Polygon

eth_getLogs

set -eu
MAX_LOGS_BLOCK_RANGE=1000
head=$(curl -fsS 'https://api.blockvectra.com/v1/polygon_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}' | python3 -c 'import json,sys; print(int(json.load(sys.stdin)["result"],16))')
from=$((head >= MAX_LOGS_BLOCK_RANGE ? head - MAX_LOGS_BLOCK_RANGE + 1 : 0))
from_hex=$(printf '0x%x' "$from")
to_hex=$(printf '0x%x' "$head")
curl -fsS 'https://api.blockvectra.com/v1/polygon_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' \
  -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getLogs\",\"params\":[{\"fromBlock\":\"$from_hex\",\"toBlock\":\"$to_hex\"}]}"
eth_getLogs

数据 API

curl -fsS 'https://api.blockvectra.com/v1/data/polygon_mainnet/status/freshness' -H "x-api-key: $BLOCKVECTRA_API_KEY"
数据 API

WebSocket

echo '{"jsonrpc":"2.0","id":1,"method":"eth_subscribe","params":["newHeads"]}' | websocat --no-close -H="x-api-key: $BLOCKVECTRA_API_KEY" 'wss://api.blockvectra.com/v1/polygon_mainnet'
WebSocket

创建 Webhook 订阅 · 创建 Webhook 订阅 · 用量与 CU · 充值

Robinhood Chain

eth_getLogs

set -eu
MAX_LOGS_BLOCK_RANGE=1000
head=$(curl -fsS 'https://api.blockvectra.com/v1/robinhood_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}' | python3 -c 'import json,sys; print(int(json.load(sys.stdin)["result"],16))')
from=$((head >= MAX_LOGS_BLOCK_RANGE ? head - MAX_LOGS_BLOCK_RANGE + 1 : 0))
from_hex=$(printf '0x%x' "$from")
to_hex=$(printf '0x%x' "$head")
curl -fsS 'https://api.blockvectra.com/v1/robinhood_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' \
  -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getLogs\",\"params\":[{\"fromBlock\":\"$from_hex\",\"toBlock\":\"$to_hex\"}]}"
eth_getLogs

数据 API

curl -fsS 'https://api.blockvectra.com/v1/data/robinhood_mainnet/status/freshness' -H "x-api-key: $BLOCKVECTRA_API_KEY"
数据 API

WebSocket

echo '{"jsonrpc":"2.0","id":1,"method":"eth_subscribe","params":["newHeads"]}' | websocat --no-close -H="x-api-key: $BLOCKVECTRA_API_KEY" 'wss://api.blockvectra.com/v1/robinhood_mainnet'
WebSocket

创建 Webhook 订阅 · 创建 Webhook 订阅 · 用量与 CU · 充值

Robinhood Chain Testnet

eth_getLogs

set -eu
MAX_LOGS_BLOCK_RANGE=1000
head=$(curl -fsS 'https://api.blockvectra.com/v1/robinhood_testnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}' | python3 -c 'import json,sys; print(int(json.load(sys.stdin)["result"],16))')
from=$((head >= MAX_LOGS_BLOCK_RANGE ? head - MAX_LOGS_BLOCK_RANGE + 1 : 0))
from_hex=$(printf '0x%x' "$from")
to_hex=$(printf '0x%x' "$head")
curl -fsS 'https://api.blockvectra.com/v1/robinhood_testnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' \
  -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getLogs\",\"params\":[{\"fromBlock\":\"$from_hex\",\"toBlock\":\"$to_hex\"}]}"
eth_getLogs

WebSocket

echo '{"jsonrpc":"2.0","id":1,"method":"eth_subscribe","params":["newHeads"]}' | websocat --no-close -H="x-api-key: $BLOCKVECTRA_API_KEY" 'wss://api.blockvectra.com/v1/robinhood_testnet'
WebSocket

创建 Webhook 订阅 · 创建 Webhook 订阅 · 用量与 CU · 充值

Unichain

eth_getLogs

set -eu
MAX_LOGS_BLOCK_RANGE=1000
head=$(curl -fsS 'https://api.blockvectra.com/v1/unichain_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}' | python3 -c 'import json,sys; print(int(json.load(sys.stdin)["result"],16))')
from=$((head >= MAX_LOGS_BLOCK_RANGE ? head - MAX_LOGS_BLOCK_RANGE + 1 : 0))
from_hex=$(printf '0x%x' "$from")
to_hex=$(printf '0x%x' "$head")
curl -fsS 'https://api.blockvectra.com/v1/unichain_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' \
  -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getLogs\",\"params\":[{\"fromBlock\":\"$from_hex\",\"toBlock\":\"$to_hex\"}]}"
eth_getLogs

WebSocket

echo '{"jsonrpc":"2.0","id":1,"method":"eth_subscribe","params":["newHeads"]}' | websocat --no-close -H="x-api-key: $BLOCKVECTRA_API_KEY" 'wss://api.blockvectra.com/v1/unichain_mainnet'
WebSocket

用量与 CU · 充值

HyperEVM

HyperEVM 的区块包含 HyperCore 系统交易(发送方地址为 0x2222…2222 或 0x20…,gasPrice 为 0)。

JSON-RPC 端点示例随示例链选择切换。下文的 Data API 示例使用 robinhood_mainnet。

提示:先在上表中选择支持示例所需服务、方法与历史窗口的链,再把示例 URL 中的 robinhood_mainnet 换成它的 {chain}。同一个 API key 适用于所有支持的链。

其他认证方式与语言示例

JSON-RPC 端点按链区分:POST /v1/{chain}/{api_key}(key 放在路径中),或 POST /v1/{chain}(key 放在 x-api-key 请求头中)。{chain} 是链名,与 Data API 使用的链名相同;示例端点是 https://api.blockvectra.com/v1/robinhood_mainnet。通过 HTTP 调用 eth_subscribe 返回 -32601;各链的 WebSocket 订阅支持情况见支持的链。虽然 API 返回了 Access-Control-Allow-Origin: *,但请妥善保管 API key,端点设计为由后端服务调用,而非在浏览器前端代码中直接暴露 key。

key 有三种传法:放在 URL 路径中(POST /v1/{chain}/{api_key},只使用路径中的 key,忽略两个请求头)、放在 x-api-key 请求头中,或放在 Authorization: Bearer <api_key> 请求头中。

key 放在 URL 路径中

: "${BLOCKVECTRA_API_KEY:?先设置 BLOCKVECTRA_API_KEY}"

curl -s "https://api.blockvectra.com/v1/robinhood_mainnet/$BLOCKVECTRA_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

key 放在请求头中

: "${BLOCKVECTRA_API_KEY:?Set BLOCKVECTRA_API_KEY first}"

curl -s "https://api.blockvectra.com/v1/robinhood_mainnet" \
  -H 'Content-Type: application/json' \
  -H "x-api-key: $BLOCKVECTRA_API_KEY" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

不要加结尾斜杠

用请求头传 key 时,请按上面的写法原样调用 https://api.blockvectra.com/v1/robinhood_mainnet:URL 以链名结尾,不带结尾斜杠。 JSON-RPC 只在 /v1/{chain} 和 /v1/{chain}/{api_key} 两种路径上提供,带结尾斜杠(如 /v1/{chain}/)或不带链段的请求(如 /v1 或 /v1/)返回 404 且响应体为空。

Authorization: Bearer <api_key> 请求头同样有效。在 POST /v1/{chain} 上,非空的 x-api-key 优先于 Bearer;只有 x-api-key 缺失或为空时才使用 Bearer。路径传法忽略两个请求头。

批量调用

传一个数组即可在一次请求里发起多个调用(单批最多 100 个)。注意每个 API key 都有一个 CU 令牌桶(cu_per_sec 补充速率、burst_cu 突发容量——默认 100 CU/s、突发 400 CU;付费充值后每个 key 至少 2,000 CU/s、突发 10,000 CU,更高的自定义限额保持不变;在控制台 Keys 表按 key 显示);单个请求(包括整批 JSON-RPC 批量调用)若总 CU 超过该 key 的突发容量,即使未达到 100 个调用的上限也会被拒绝并返回 -32022 request_exceeds_burst;需拆分为较小的批次。下面这个例子在一次往返里 同时读取链 ID 和某个地址的余额:

curl -s "https://api.blockvectra.com/v1/robinhood_mainnet" \
  -H 'Content-Type: application/json' \
  -H "x-api-key: $BLOCKVECTRA_API_KEY" \
  -d '[
    {"jsonrpc":"2.0","id":1,"method":"eth_chainId"},
    {"jsonrpc":"2.0","id":2,"method":"eth_getBalance","params":["0x1111111111111111111111111111111111111111","latest"]}
  ]'

响应是一个数组,顺序与请求一致,按 id 对应。

如果服务端直接拒绝整个批量请求——余额不足、限流、突发容量超限,或批量过大(见下方常见错误)——它会返回一个单独的 JSON-RPC 错误对象而不是数组;此时 viem 的 batch: true 模式只会报出一个不透明的 UnknownRpcError,请改为单独重试一次调用以查看真实错误。

了解 CU 计量

每个被计费的调用都会消耗一定的 CU(Compute Unit):便宜的调用比如 eth_blockNumber、 eth_chainId 最便宜;常见读取比如 eth_getBlockByNumber 稍贵;较重的调用比如 eth_call、eth_getLogs 更贵;执行跟踪方法(如 debug_traceTransaction)最贵。 结算按账户、按小时账期汇总扣费,向下取整为整计费单位(1 计费单位 = 1,000 CU),未满 1 单位的余数结转到下一期(跨期合计扣费为 floor(累计 CU / 1,000));结算在账期结束约 15 分钟后执行。例如:上期结转 508 CU,本期消耗 2557 CU,合计 3065 CU,本期扣除 3 个计费单位,余数 65 CU 继续结转至下一期。当前价格见定价。

完整的方法权重表与错误码见 API 参考 → JSON-RPC; 本页只演示请求的基本形态。

常见错误

你做了什么会收到什么建议操作
未知或暂未开放的链名HTTP 404,JSON 响应体包含 error.data.reason: "unknown_chain"检查 URL 中的链名
不带链段的请求(如 /v1 或 /v1/)HTTP 404,空 body在 URL 中补全链名(/v1/{chain})
API key 缺失、未知或被禁用HTTP 401,JSON-RPC 错误码 -32024(missing_api_key 或 invalid_api_key)使用有效且处于生效中的 API key(刚新建或轮换的 key 约 5 秒内在所有实例生效;这期间可能返回 401 invalid_api_key,或计费状态暂未确认时返回 503 -32021(带 Retry-After),稍等重试即可)
余额为零或为负HTTP 402,JSON-RPC 错误码 -32020充值或等待免费额度周期补足
请求过于频繁(超出限流或服务端临时过载)HTTP 429(或 200),JSON-RPC 错误码 -32005稍后重试(若响应头带 Retry-After 请按其等待)
单个请求或整批调用的 CU 超过 key 突发容量(burst_cu,默认 400 CU;默认速率 100 CU/s)(付费账户:突发至少 10,000 CU,速率至少 2,000 CU/s)HTTP 429,JSON-RPC 错误码 -32022(request_exceeds_burst)拆分请求或减小批次(按原样发送永远不会成功)
免费套餐单批调用数超过每秒调用数上限(25 次/秒)HTTP 429,JSON-RPC 错误码 -32022(free_plan_batch_too_large),附 error.data.max拆分批次,使调用数不超过上限(按原样发送永远不会成功)
上游节点暂时不可用HTTP 200,JSON-RPC 错误码 -32603(upstream unavailable),不计费重试请求
历史状态查询超出该链的状态窗口(见 GET /v1/chains 的 state_window_blocks)HTTP 200,JSON-RPC 错误码 -32011,不计费改查较新的区块
交易或区块未找到,或响应过大;以太坊上超出近期窗口的区块 / 收据 / 日志查询亦返回 -32000 "old data not available due to pruning"(不计费,见支持的链 → 以太坊)HTTP 200,JSON-RPC 错误码 -32000修改请求(核对交易哈希或区块号;格式不合法的 trace 哈希同样返回交易未找到)
使用了不支持的 tracer 或超时参数(debug_trace 系列调用)HTTP 200,JSON-RPC 错误码 -32602,不计费改用内置原生 tracer(callTracer、flatCallTracer、prestateTracer、4byteTracer、noopTracer,或缺省)且超时时间 ≤ 30s
调用了该链方法表不允许的方法(见支持的链)HTTP 200,JSON-RPC 错误码 -32601,不计费仅调用该链允许的方法
请求体不是合法 JSONHTTP 200,JSON-RPC 错误码 -32700,不计费修正 JSON 请求体语法
单批调用数超过 100HTTP 200,JSON-RPC 错误码 -32600(batch too large),不计费拆分为不超过 100 个调用的批次

对于使用 key 鉴权的 JSON-RPC 请求,在这两项限额检查中,先检查免费套餐调用数,再检查 key 的 CU 突发容量;若两项都超限,reason 为 free_plan_batch_too_large。两种 -32022 拒绝都不带 Retry-After,应拆分请求,而非原样重试。

以上这些拒绝一律不计费;每个被受理并得到应答的调用按公布的 CU 权重计费,不计费的情况见错误码表的「是否计费」列。

调用 Data API

Data API 把只读链数据(区块、交易、余额、持有者、DEX 活动等)包装成 REST/JSON 接口。除 GET https://api.blockvectra.com/v1/data/chains 外,所有路由都带链标识前缀:下面路径中的 robinhood_mainnet 就是链标识(即 /chains 和 meta 中的 chain 字段)。GET https://api.blockvectra.com/v1/data/chains 仅列出已公开的链,只返回 {"data": [...]}(没有 meta,也没有 next_cursor)。请求按 CU 计费(仅对 2xx 成功响应计费)。

每次请求需要带与 JSON-RPC 相同的 API key——通过 x-api-key 请求头传递。链级成功响应包含 data(数据本体)和 meta(chain、chain_slug(chain 的大写形式)、chain_external_id、as_of_block、safe_block、finalized_block、coverage、refreshed_at;refreshed_at 可能为 null,表示这份数据的更新时间未知,应按过期处理,区块类接口始终有值)。支持分页的列表端点还可能返回 next_cursor(不透明字符串,不是 null)。将返回的游标原样传入后续请求,直到 next_cursor 不再出现;部分端点在返回满页时会给出乐观游标,下一页可能为空。具体端点的分页规则见 Data API 参考。每个错误响应一般是 {"error":{"code","message"}} 两个字段,仅 409 not_indexed_yet 额外带 indexed_through(已索引到的最高区块);链未知或暂未公开时返回 HTTP 404,error.code 为 not_found(不计费;链名必须为全小写 slug);API key 缺失、未知或被禁用时返回 HTTP 401,error.code 为 missing_api_key 或 invalid_api_key。超出限流时返回 HTTP 429(error.code 为 rate_limited,data.reason 为 key_rate_limit),余额耗尽时返回 HTTP 402(error.code 为 insufficient_balance),两者均不计费。超过 2^53 的数值(余额、代币数量)一律是十进制字符串,不是 JSON 数字。

按区块号查区块:

curl -s "https://api.blockvectra.com/v1/data/robinhood_mainnet/blocks/72838701" \
  -H "x-api-key: $BLOCKVECTRA_API_KEY"
{
  "data": {
    "number": 72838701,
    "hash": "0x9f2c1e7a4b6d3f805e1c9a72b4d6f1e0a3c8b5d7e2f4a1c6b9d3e7f0a2c4b6d8",
    "parent_hash": "0x1a3c5e7f9b1d3f5a7c9e1b3d5f7a9c1e3b5d7f9a1c3e5b7d9f1a3c5e7b9d1f3a",
    "timestamp": "2026-09-26T05:41:07Z",
    "miner": "0x00000000000000000000000000000000000a4b05",
    "gas_limit": 32000000,
    "gas_used": 4821932,
    "base_fee_per_gas": "100000000",
    "state_root": "0x2b4d6f8a1c3e5b7d9f1a3c5e7b9d1f3a5c7e9b1d3f5a7c9e1b3d5f7a9c1e3b5d",
    "transactions_root": "0x3c5e7b9d1f3a5c7e9b1d3f5a7c9e1b3d5f7a9c1e3b5d7f9a1c3e5b7d9f1a3c5e",
    "receipts_root": "0x4d6f8a1c3e5b7d9f1a3c5e7b9d1f3a5c7e9b1d3f5a7c9e1b3d5f7a9c1e3b5d7f",
    "tx_count": 239,
    "size": 48213,
    "l1_block_number": null,
    "extra": {}
  },
  "meta": {
    "chain": "robinhood_mainnet",
    "chain_slug": "ROBINHOOD_MAINNET",
    "chain_external_id": "eip155:4663",
    "as_of_block": 72838957,
    "safe_block": 72838800,
    "finalized_block": 72838701,
    "coverage": "full",
    "refreshed_at": "2026-09-27T02:15:03Z"
  }
}

高于已索引链头(as_of_block)的区块号返回 409(error.code: "not_indexed_yet"),indexed_through 会告诉你已索引到的最高区块——数据还没到,稍后重试即可。完全早于该链覆盖起点(coverage.from_block)的区块号返回 422(error.code: "no_coverage")。在覆盖范围内,不高于 as_of_block 但没有对应行的区块号(从未索引过,或被 reorg 回滚)返回 404(error.code: "not_found")。

查看数据新鲜度(每个被跟踪的数据集落后链头多少,适合做状态页或调用前的自检):

curl -s "https://api.blockvectra.com/v1/data/robinhood_mainnet/status/freshness" \
  -H "x-api-key: $BLOCKVECTRA_API_KEY"
{
  "data": [
    {
      "dataset": "blocks",
      "category": "raw",
      "max_block_number": 72838957,
      "max_day": null,
      "max_time": "2026-09-27T02:15:01Z",
      "seconds_behind": 0,
      "blocks_behind": null,
      "days_behind": null,
      "checked_at": "2026-09-27T02:15:07Z"
    }
  ],
  "meta": {
    "chain": "robinhood_mainnet",
    "chain_slug": "ROBINHOOD_MAINNET",
    "chain_external_id": "eip155:4663",
    "as_of_block": 72838957,
    "safe_block": 72838800,
    "finalized_block": 72838701,
    "coverage": "full",
    "refreshed_at": "2026-09-27T02:15:07Z"
  }
}

(示例已精简:实际响应每个数据集一行,这里只列出 blocks 这一行;traces 行还会额外带 coverage_from_block、coverage_to_block、coverage_complete。)

如果该链的新鲜度数据暂时不可用,会返回 503(error.code: "unavailable"),而不是返回不完整的结果;响应头带 Retry-After(秒)——请至少等待该时长后重试。

查询某地址的 ERC-20 余额(快照,只保留非零余额,按 token 排序):

curl -s "https://api.blockvectra.com/v1/data/robinhood_mainnet/addresses/0x1111111111111111111111111111111111111111/balances" \
  -H "x-api-key: $BLOCKVECTRA_API_KEY"
{
  "data": [
    { "token": "0x0bd7d308f8e1639fab988df18a8011f41eacad73", "balance": "185371464119396", "symbol": "WETH", "decimals": 18 },
    { "token": "0x2295f15bd4914ae9b4685f01d52f4e6f89bf8b03", "balance": "10000000000000000", "symbol": "WNVDA", "decimals": 18 }
  ],
  "meta": {
    "chain": "robinhood_mainnet",
    "chain_slug": "ROBINHOOD_MAINNET",
    "chain_external_id": "eip155:4663",
    "as_of_block": 72838957,
    "safe_block": 72838800,
    "finalized_block": 72838701,
    "coverage": "full",
    "refreshed_at": "2026-09-27T02:10:00Z"
  }
}

没有任何非零余额的地址仍会返回 200 + data: []——不会是 404。可以传 ?limit=(默认 50,最大 500),并用返回的 next_cursor 翻页。

完整的端点覆盖——区块、交易、地址、代币、NFT、DEX、代币化股票——参见 API 参考 → Data API。

更多参考

常见问题

支持哪些链?

目前支持 13 条链:Arbitrum One、Base、BNB Smart Chain、以太坊、Ethereum Sepolia、Fraxtal、HyperEVM、Ink、Katana、Polygon、Robinhood Chain、Robinhood Chain Testnet、Unichain。以 GET /v1/chains 为准,新链上线后自动出现。各链实时状态见状态页。 查看支持的链 →

支持 WebSocket 吗?

通过 HTTP 调用 eth_subscribe 返回 -32601;在 /v1/chains 中 ws 为 true 的链上,可以通过 WebSocket 使用 eth_subscribe;其他情况请轮询 eth_getLogs。 查看支持的链列表 →

能查历史状态和 trace 吗?

可以,但因链而异。历史状态窗口以 /v1/chains 的 state_window_blocks 字段为准(null 表示全历史);trace 是否开放看该链 methods.allow 是否包含 debug_trace 系列方法(如 debug_traceTransaction);单次 eth_getLogs 的区块跨度上限是 max_logs_block_range。 查看链目录与逐链参数 →

一个 key 能用于所有链吗?

可以。同一个 API key 适用于所有支持链的 JSON-RPC,并在已开放的链上调用 Data API;key 属于账户,不绑定特定链。 查看「一个 key 切链」指南 →

最后更新:

本页目录