Robinhood Chain RPC:主网与测试网地址、链 ID

选择 Robinhood Chain 主网(链 ID 4663)或测试网(46630),通过 curl、viem 或 ethers 免 API key 读取区块,或使用自己的 API key 接入 eRPC 本地代理。

网络链 ID公共 HTTP RPC
主网4663https://api.blockvectra.com/v1/robinhood_mainnet/public
测试网46630https://api.blockvectra.com/v1/robinhood_testnet/public

在测试网开发?先看测试网入门,或通过水龙头领取测试 ETH。

Robinhood Chain 主网的链 ID 是 4663,免 key 公共 RPC 地址是 https://api.blockvectra.com/v1/robinhood_mainnet/public(每 IP 每秒 3 次请求)。测试网的链 ID 是 46630,地址是 https://api.blockvectra.com/v1/robinhood_testnet/public。公共端点免 key 提供 HTTP JSON-RPC 读取;公共方法以各网络的 public.methods 为准;匿名 eth_getLogs 仅在列出该方法时按 public.logs 限制开放。WebSocket 订阅与 Data API 需要 key。核对于 。开发者与 AI Agent 使用同一套端点;主网与测试网请求需分别选择网络。

选择 RPC 服务商.

本指南中的 RPC 端点由 BlockVectra 提供;Robinhood 自己的公共 RPC 与网络参数见官方连接文档。

  • 第一步:按免 key 读取主网运行三条命令;想自己保存 network.mjs 与客户端示例时,按使用 viem 或 ethers 连接操作。
  • 完成标准:TypeScript 免 key 读取输出主网链 ID 4663 和最新区块号;Python 示例以链 ID 4663 确认链身份。自定义客户端则确认 RPC 返回的链 ID 与目录中的 chain_id 一致,并输出最新区块号,没有 RPC chain ID mismatch 错误。

主网参数与接入方式。

免 key 读取主网

可以使用现成的 TypeScript 示例:BlockVectra agent-quickstart 仓库。使用 Node.js 22(>=22.18)或 Node.js >=24.12 与 Git,可直接运行原生 TypeScript 入口,无需安装依赖。默认读取 Robinhood 主网:先从链目录确认链 ID 为 4663,再读取最新区块号。该命令最多发出 3 次 HTTP 请求(其中 2 次为 JSON-RPC 调用),不需要钱包、注册或 API key。

git clone https://github.com/blockvectra/agent-quickstart.git
cd agent-quickstart
node src/public-read-cli.ts

使用其他 Node.js 版本(Node.js >=18)时,在已克隆的仓库目录运行:

npm ci --ignore-scripts
npm run read:public

完成标准:输出显示链 ID 4663 和主网最新区块号。仓库里的 npm start 是另一套完整开户流程,不属于这次免 key 读取。

也可以使用 Python 3.10+。在已克隆的仓库目录运行下面的命令;示例只用标准库,无需安装包,成功结果以链 ID 4663 确认链身份,不读取区块高度。最多发出 2 次 HTTP 请求,其中 1 次是 RPC 调用。

python3 examples/public_chain.py

想用自己的 viem 或 ethers 客户端时,仍可使用下方的使用 viem 或 ethers 连接一节。该节默认连接测试网;设置 BLOCKVECTRA_CHAIN=robinhood_mainnet 即可读取主网。

这篇帮你完成什么任务

选 BlockVectra MCP 还是 Robinhood Trading MCP

需要让 Agent 调用 Robinhood Chain 的链上 RPC 或 Data API 数据时,使用 BlockVectra MCP 服务器。需要处理券商账户、持仓或订单时,按 Robinhood 官方 Trading MCP 的接入说明操作。

BlockVectra 服务账户用于验证对 BlockVectra RPC 与数据端点的请求;Robinhood 券商账户是在 Robinhood 开立的独立账户。Robinhood Chain 不连接券商账户,BlockVectra 服务账户也不提供对它的访问。

RPC 与 WebSocket 接入

链信息与端点

针对 Robinhood Chain 的每次请求均通过 URL 路径中的 robinhood_mainnet 标识目标链。JSON-RPC 同时支持在 URL 路径中携带 Key 以及在请求头中传入 x-api-key 两种鉴权写法;Data API 则在 /v1/data/robinhood_mainnet/ 下提供 REST 查询端点。

以下参数与端点来自当前网络数据:

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

使用 viem 或 ethers 连接

开发者与 AI Agent 可使用同一份服务端参数。使用 Node.js 24 或更新版本、viem 2 或 ethers 6,先使用公开读取;调用带 key 方法与 WebSocket 时,通过环境变量安全设置 BLOCKVECTRA_API_KEY。不要将 key 或带 key 的 RPC URL 放进浏览器代码、日志或版本控制。

保存为 network.mjs。先在测试网接入;切换主网时设置 BLOCKVECTRA_CHAIN=robinhood_mainnet。脚本从 GET /v1/chains 读取 chain_id 与方法策略。免 key 读取使用目录中的 public.url,只调用 public.methods 列出的方法;公开 HTTP 可用不代表 WebSocket 可用。

const chainSlug = process.env.BLOCKVECTRA_CHAIN ?? 'robinhood_testnet';
const key = process.env.BLOCKVECTRA_API_KEY;
const catalogUrl = 'https://api.blockvectra.com/v1/chains';
const response = await fetch(catalogUrl, { signal: AbortSignal.timeout(15_000) });
if (!response.ok) throw new Error(`Chains HTTP ${response.status}`);
const catalog = await response.json();
export const chainInfo = catalog.chains.find(item => item.chain === chainSlug);
if (!chainInfo || !Number.isSafeInteger(chainInfo.chain_id) || chainInfo.chain_id <= 0) {
  throw new Error('Missing chain or chain_id');
}
export function allows(method) {
  const matches = pattern => pattern.endsWith('*')
    ? method.startsWith(pattern.slice(0, -1)) : pattern === method;
  if (!key) return (chainInfo.public?.methods ?? []).some(matches);
  return (chainInfo.methods?.allow ?? []).some(matches)
    && !(chainInfo.methods?.deny ?? []).some(matches);
}
if (!allows('eth_chainId')) throw new Error('eth_chainId is unavailable');
export const rpcUrl = key
  ? new URL(`./${chainSlug}/${encodeURIComponent(key)}`, catalogUrl).href
  : chainInfo.public?.url;
if (!rpcUrl) throw new Error('Public RPC is unavailable; set BLOCKVECTRA_API_KEY');

保存为 viem-client.mjs,通过 npm install viem@2 安装后运行 node viem-client.mjs。

import { createPublicClient, defineChain, http } from 'viem';
import { chainInfo, rpcUrl } from './network.mjs';

export const chain = defineChain({
  id: chainInfo.chain_id,
  name: chainInfo.name,
  nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 },
  rpcUrls: { default: { http: [rpcUrl] } },
});
export const client = createPublicClient({ chain, transport: http(rpcUrl) });
if (await client.getChainId() !== chain.id) throw new Error('RPC chain ID mismatch');
console.log(await client.getBlockNumber());

使用此客户端读取主网:

BLOCKVECTRA_CHAIN=robinhood_mainnet node viem-client.mjs

使用 ethers 时,保存为 ethers-client.mjs,通过 npm install ethers@6 安装后运行 node ethers-client.mjs。

import { JsonRpcProvider } from 'ethers';
import { chainInfo, rpcUrl } from './network.mjs';

const provider = new JsonRpcProvider(rpcUrl, chainInfo.chain_id, { batchMaxCount: 1 });
const network = await provider.getNetwork();
if (network.chainId !== BigInt(chainInfo.chain_id)) throw new Error('RPC chain ID mismatch');
console.log(await provider.getBlockNumber());
provider.destroy();

使用此客户端读取主网:

BLOCKVECTRA_CHAIN=robinhood_mainnet node ethers-client.mjs

通过 eRPC 接入

如果你已经在本机用 eRPC 做 RPC 代理,把 BlockVectra 加成两个显式 upstream 即可。eRPC 不会自动发现这两条链,所以每个 upstream 都要写明端点和链 ID。这份文件已在 eRPC 0.5.0 上核对过(请先安装该版本);复现文件见参考 Gist。这里需要你自己的 API key,免 key 公共端点不能替代。

保存为 erpc.blockvectra.yaml。key 从环境变量读取,不会写进文件:

logLevel: error
server:
  listenV4: true
  httpHostV4: 127.0.0.1
  httpPortV4: 4000
  listenV6: false
metrics:
  enabled: false
projects:
  - id: blockvectra
    upstreams:
      - id: blockvectra-rh-mainnet
        endpoint: https://api.blockvectra.com/v1/robinhood_mainnet
        evm:
          chainId: 4663
        jsonRpc:
          headers:
            x-api-key: "${BLOCKVECTRA_API_KEY}"
      - id: blockvectra-rh-testnet
        endpoint: https://api.blockvectra.com/v1/robinhood_testnet
        evm:
          chainId: 46630
        jsonRpc:
          headers:
            x-api-key: "${BLOCKVECTRA_API_KEY}"

变量未设置时会展开成空的 header,所以缺 key 要在启动前拦下,然后校验并启动:

: "${BLOCKVECTRA_API_KEY:?Set BLOCKVECTRA_API_KEY first}"
erpc --config erpc.blockvectra.yaml --require-config validate
erpc --config erpc.blockvectra.yaml --require-config

代理只监听 127.0.0.1:4000。在另一个终端通过本地路由读取链 ID,并核对是否一致:

curl -s "http://127.0.0.1:4000/blockvectra/evm/4663" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'

返回的 result 应是 4663 的十六进制形式。测试网改用 /blockvectra/evm/46630,期望值为 46630 的十六进制形式。

注意:

  • validate 只检查本地文件。支持的方法、日志范围和状态历史仍以 GET /v1/chains 为准。
  • eRPC 启动时会联系上游做初始化和健康检查,这些后台请求与你自己的调用一起计入 CU 和请求额度。
  • 不要把该文件或请求 header 打印到日志里,其中带有你的 key。

使用 Foundry 或 Hardhat 部署

先通过测试网水龙头获取部署所需的测试 ETH;主网交易需要主网 ETH。官方网络与部署指南列出了主网与测试网 chain ID(访问日期:2026-10-07)。本页端点表使用 /v1/chains 的数据。

从 network.mjs 导出所选 URL 与 chain ID。广播前按 methods.allow 与 methods.deny 检查 eth_sendRawTransaction。

export RPC_URL="$(node --input-type=module -e "import { rpcUrl, allows } from './network.mjs'; if (!allows('eth_sendRawTransaction')) throw new Error('Broadcast unavailable'); console.log(rpcUrl)")"
export CHAIN_ID="$(node --input-type=module -e "import { chainInfo } from './network.mjs'; console.log(chainInfo.chain_id)")"

接着按共用的 Foundry 或 Hardhat 部署教程创建 Hello.sol、设置工具参数、广播交易并检查 receipt。

通过 WebSocket 监听合约事件

保存为 watch-logs.mjs,将 LOG_ADDRESS 设置为要监听的已部署合约或代币合约。运行 node watch-logs.mjs。订阅 logs 前,代码检查 /v1/chains 的 ws 与 subscriptions。

import { createPublicClient, webSocket, isAddress } from 'viem';
import { chain } from './viem-client.mjs';
import { chainInfo, rpcUrl } from './network.mjs';

if (!process.env.BLOCKVECTRA_API_KEY) throw new Error('WebSocket requires BLOCKVECTRA_API_KEY');
const address = process.env.LOG_ADDRESS;
if (!chainInfo.ws || !chainInfo.subscriptions?.includes('logs')) {
  throw new Error('WebSocket logs are unavailable; use HTTP backfill or webhook push');
}
if (!address || !isAddress(address)) throw new Error('Set LOG_ADDRESS');
const wsUrl = new URL(rpcUrl);
wsUrl.protocol = 'wss:';
const client = createPublicClient({ chain, transport: webSocket(wsUrl.href) });
const unwatch = client.watchEvent({
  address, poll: false,
  onLogs: logs => console.log(logs),
  onError: error => console.error(error),
});
process.once('SIGINT', () => { unwatch(); process.exit(0); });

启动监听后,在另一个终端使用相同的部署环境变量发送 ping() 交易:

cast send "$CONTRACT_ADDRESS" "ping()" --rpc-url "$RPC_URL" \
  --private-key "$DEPLOYER_PRIVATE_KEY"

持久化最后处理的区块,按 (blockHash, transactionHash, logIndex) 去重。重连后用有界 eth_getLogs 分段补齐漏过的区块;重组时对标记为 removed 的日志进行对账。详见 WebSocket 订阅与区块跨度限制。

需要将地址事件投递到 HTTPS 接收端时,GET /v1/push/chains 查看支持的链及确认数参数,请求携带 x-api-key。按 webhook 推送指南创建订阅、校验签名、去重与重放。主网股票代币活动查询继续参考股票指标指南。

直接运行的 curl 示例

可以使用标准 HTTP 客户端直接发起 JSON-RPC 调用。请将 {api_key} 替换为你的 BlockVectra API key:

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

curl -s "https://api.blockvectra.com/v1/robinhood_mainnet" \
  -H "Content-Type: application/json" \
  -H "x-api-key: {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(不计费)。
  • 参数错误:请求参数格式不符合要求返回 JSON-RPC 错误码 -32602(不计费)。

支持情况与方法策略

Robinhood Chain 上可用的 JSON-RPC 方法、日志区块跨度上限以及历史状态保留窗口通过 GET /v1/chains 动态发布。执行追踪(debug_trace* 系列,包括 debug_traceTransaction)是否开放同样由该链的方法策略决定:

网络参数与调用限制

  • eth_getLogs 单次区块跨度: 单次最多 1000 个区块
  • 历史状态窗口: 最近 900 个区块(超出窗口返回 -32011)
  • 执行追踪(debug_trace*): 已支持(含 debug_traceTransaction、debug_traceCall、debug_traceBlockByNumber、debug_traceBlockByHash)

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

测试网

交易所需的测试 ETH 可按 Robinhood Chain 测试网水龙头指南领取。

Robinhood Chain 测试网(Chain ID:46630)使用同一把 API key 进行调用,端点为 https://api.blockvectra.com/v1/robinhood_testnet,通过 x-api-key 请求头鉴权。

测试网与主网使用同一套 CU 权重,从同一份余额与免费额度扣。可用的 JSON-RPC 方法与历史状态保留窗口等能力以 GET /v1/chains 返回为准。

可运行的三步入门模板(免 key 读测试网、用 WebSocket 订阅 logs、再把同一把 key 切到主网)见 Robinhood Chain 测试网入门指南。

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

期望返回:

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

网络参数与调用限制

  • eth_getLogs 单次区块跨度: 单次最多 1000 个区块
  • 历史状态窗口: 最近 1023 个区块(超出窗口返回 -32011)
  • 执行追踪(debug_trace*): 已支持(含 debug_traceTransaction、debug_traceCall、debug_traceBlockByNumber、debug_traceBlockByHash)

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

代币化股票数据

在 Robinhood Chain 上,BlockVectra Data API 针对代币化股票提供每日链上指标与元数据,包含两个端点:

  • 每日活跃榜单(GET /v1/data/robinhood_mainnet/stocks):获取指定 UTC 日期的代币化股票活跃榜单,按链上转账活跃度降序排列。
  • 单个代币化股票详情(GET /v1/data/robinhood_mainnet/stocks/{token}):根据代币合约地址查询元数据与最近最多 30 天的每日链上指标。

如需查看完整的请求参数、响应外层结构(StockDailyListEnvelope 与 StockTokenEnvelope)、分页特性以及 CU 用量估算,请参阅代币化股票指标指南。

完整模板仓库:blockvectra/robinhood-stock-tokens

开始使用与获取 API Key

新账户注册即得 30,000,000 CU,无需信用卡。

可先使用免 key 公开端点 https://api.blockvectra.com/v1/robinhood_mainnet/public 进行测试(仅钱包类 JSON-RPC 方法,Data API 需要 key;方法与限额以 /v1/chains 为准),公开端点限速不够再开户。

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

下一步

最后更新:

本页目录