Base RPC URL:免 key 接入、curl 与 viem 示例

通过公开 RPC URL 或 API key 连接 Base 主网:在路径或请求头传入密钥,调用 eth_chainId 读取链并查询最新区块高度,页面给出请求示例、每 IP 限额与响应字段说明,缺少密钥时返回错误码。

先用下方 Base 主网公开 RPC URL 免 key 读取链 ID。支持方法与每 IP 限额见 Base 链页;调用 public.methods 之外、链允许的方法时使用 key。

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

链信息与端点

针对 Base 的每次请求均通过 URL 路径中的 base_mainnet 标识目标链。JSON-RPC 同时支持在 URL 路径中携带 Key 以及在请求头中传入 x-api-key 两种鉴权写法。

参数 / 端点取值 / 模板鉴权方式
Chain ID(EIP-155)8453—
JSON-RPC(路径携带 Key)POST https://api.blockvectra.com/v1/base_mainnet/{api_key}URL 路径中传入 API key
JSON-RPC(请求头携带 Key)POST https://api.blockvectra.com/v1/base_mainnet传入 x-api-key: {api_key} 请求头
WebSocket(路径携带 Key)wss://api.blockvectra.com/v1/base_mainnet/{api_key}URL 路径中传入 API key
WebSocket(请求头携带 Key)wss://api.blockvectra.com/v1/base_mainnet传入 x-api-key: {api_key} 或 Authorization: Bearer {api_key} 请求头
WebSocket 订阅类型newHeads, logs—
Data API 基址GET https://api.blockvectra.com/v1/data/base_mainnet/…传入 x-api-key: {api_key} 请求头
公开状态端点GET https://api.blockvectra.com/v1/status无需鉴权(公开)

直接运行的 curl 与 viem 示例

可以使用 curl 或 viem 等客户端直接发起 JSON-RPC 调用。请在环境变量 BLOCKVECTRA_API_KEY 中配置你的 API key:

通过 x-api-key 请求头查询 EIP-155 链 ID:

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

响应结构说明

接口响应严格遵循 JSON-RPC 2.0 规范:

  • 成功响应:返回包含 jsonrpc: "2.0"、对应请求整数 id 以及十六进制编码字符串 result 的对象(eth_chainId 返回十六进制链 ID;eth_blockNumber 返回最新区块高度)。
  • 未开放方法:请求未开放的方法返回 JSON-RPC 错误码 -32601(method not available,不计费)。
  • 超出状态窗口:查询超出历史状态保留窗口的区块返回 JSON-RPC 错误码 -32011(不计费)。
  • 缺失 API Key:未提供 API key 时返回 HTTP 401 与 JSON-RPC 错误码 -32024(missing_api_key,不计费)。
  • 参数错误:请求参数格式不符合要求返回 JSON-RPC 错误码 -32602(不计费)。

支持情况与方法策略

实时参数见 GET /v1/chains(methods、max_logs_block_range、state_window_blocks)。

网络参数与调用限制

  • eth_getLogs 单次区块跨度: 单次最多 1000 个区块
  • 历史状态窗口: 最近 10000 个区块(超出窗口返回 -32011)
  • 执行追踪(debug_trace*): 暂不支持

各链允许的方法见 支持的链

区块链 Data API

实时参数见 GET /v1/chains(data)。

Blockchain Data API 状态

已开放 — Base 主网的 Blockchain Data API 现已开放。支持的数据集与接口请参阅数据集目录。 浏览数据集目录 →

查找合约的直接调用并读取 receipt

要列出固定区块区间内直接发给你的合约的交易并读取 receipt,先翻页读取地址交易端点,再对每个返回的哈希调用 eth_getTransactionReceipt。区间两端都包含,200 个区块即 TO_BLOCK = FROM_BLOCK + 199。

export CONTRACT=0x...   # 你的合约地址
export FROM_BLOCK=...   # 区间起点(含)
export TO_BLOCK=...     # 区间终点(含)

curl -sS "https://api.blockvectra.com/v1/data/base_mainnet/addresses/$CONTRACT/transactions?from_block=$FROM_BLOCK&to_block=$TO_BLOCK&direction=to&limit=500" \
  -H "x-api-key: $BLOCKVECTRA_API_KEY"
  1. data 中每一项都有 hash。响应顶层若有 next_cursor,用相同查询参数再加 &cursor=<next_cursor> 重新请求,游标原样传回;next_cursor 不再出现时停止。即使 next_cursor 还在,一页也可能少于 limit 条,甚至为空。
  2. 每一页都检查 meta.coverage。partial 表示区间被裁剪,或起点早于该数据集的已索引起点,此时列表没有覆盖整个区间。空列表不能证明区间内没有调用。
  3. 用同一个 key 在同一条链上逐个读取 receipt。hash 本身已带 0x,把 data 里的完整值原样放进 TX_HASH,不要再加一个 0x:
curl -sS "https://api.blockvectra.com/v1/base_mainnet" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $BLOCKVECTRA_API_KEY" \
  -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getTransactionReceipt\",\"params\":[\"$TX_HASH\"]}"

按层处理错误:

  • Data API:409 not_indexed_yet 表示区间高于已索引的最新区块,稍后重试,或加 clamp=true,它会把 to_block 截到已索引的最新区块并返回 meta.coverage = "partial"(裁剪后的结果不再覆盖你原来的固定区间;若 from_block 本身就高于已索引的最新区块,clamp=true 仍返回 409);409 window_too_large 表示区间超过 100,000 个区块;422 no_coverage 表示区间不在该数据集范围内;503 unavailable 带 Retry-After,等待至少这么多秒后用同一个游标重试。
  • JSON-RPC:HTTP 错误或响应体里的 error 对象都是调用失败。"result": null 表示该哈希没有返回 receipt,不算成功,请稍后重试或核对哈希。receipt 非空也不代表交易成功:status 为 0x1 是成功,0x0 表示已 revert。

这里只列出 to 为该合约的顶层交易,不含事件、内部调用,也不含经由其他合约间接调用该合约的交易。支持的方法与区间以 GET /v1/chains 和实际响应为准。分页与事件查询见eth_getLogs 与代币转账 API。

开始使用与获取 API Key

新账户注册即得 30,000,000 CU,无需信用卡。
  • Web 控制台:通过以太坊钱包签名登录,并在控制台创建 API key。详细步骤请参阅快速上手指南。
  • 程序化开户:自主 AI Agent、自动化工作流与脚本可通过以太坊钱包签名(EIP-191)免浏览器登录并创建 API key。详见程序化开户指南。
  • AI Agent:自主 AI Agent 可通过官方 MCP 服务自动发现 Base 支持特性。详见 AI Agent 集成指南。
  • 限额提升:首次付费充值后,解除账户级每秒调用上限;每个 key 仍有默认 CU 速率与突发上限。关于当前费率与计费规则,请参阅定价页面。

相关指南与资源

  • Base 官方开发者文档:关于 Base 网络的详细技术规范、Gas 机制与合约信息,请参阅官方 Base 文档。
  • 钱包自定义 RPC:如需在 MetaMask 或 Rabby 中配置 Base 的自定义 RPC 端点,请参阅钱包自定义 RPC 指南。
  • 交易模拟:在广播交易前预演执行并检查状态变化,请参阅交易模拟指南(eth_simulateV1)。

下一步

最后更新:

本页目录