跳到正文

Arc 免费公共 RPC 节点,无需 API key

EVM 兼容

端点

无需 API key,仅开放钱包常用方法,按 IP 限速。 当前方法与限额以 GET /v1/chains 为准。

免费公共 RPC 端点
https://api.blockvectra.com/v1/arc_mainnet/public
curl -X POST 'https://api.blockvectra.com/v1/arc_mainnet/public' -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'
限额:每 IP 每秒 3 次、突发 20、批量 10
发交易限额:每 IP 每秒 1 次、突发 3
公共方法
  • eth_chainId
  • net_version
  • eth_blockNumber
  • eth_getBalance
  • eth_getTransactionCount
  • eth_getCode
  • eth_getStorageAt
  • eth_call
  • eth_estimateGas
  • eth_gasPrice
  • eth_maxPriorityFeePerGas
  • eth_feeHistory
  • eth_getBlockByNumber
  • eth_getBlockByHash
  • eth_getTransactionByHash
  • eth_getTransactionReceipt
  • eth_syncing
  • web3_clientVersion
  • eth_sendRawTransaction
全部免费公共 RPC 端点
公共历史窗口:最近 1,000 个区块。免费注册后可用免费 API 额度调用本链开放的方法。
JSON-RPC(路径 Key)
https://api.blockvectra.com/v1/arc_mainnet/{api_key}
JSON-RPC(请求头:x-api-key)
https://api.blockvectra.com/v1/arc_mainnet
x-api-key: {api_key}

WebSocket

WebSocket(路径 Key)
wss://api.blockvectra.com/v1/arc_mainnet/{api_key}
WebSocket(请求头:x-api-key 或 Authorization)
wss://api.blockvectra.com/v1/arc_mainnet
x-api-key: {api_key}
Authorization: Bearer {api_key}
支持的订阅类型
  • newHeads
  • logs (过滤条件必须带 address 或 topic0)

网络参数

Chain ID5042
免费公共 RPC 端点https://api.blockvectra.com/v1/arc_mainnet/public
带 key 方法数39
数据 API不支持
WebSocket 支持支持
Webhook 推送不支持
发送交易支持
发送交易(免 key 公开端点)支持
历史状态窗口未知
eth_getLogs 单次最大区块跨度1,000 个区块
Data API 数据集不支持
支持的订阅类型newHeads、logs
相关测试网未知
相关教程未知

快速示例

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

限制

历史状态窗口未知
eth_getLogs 单次最大区块跨度1,000 个区块
方法策略
允许:eth_blobBaseFee, eth_blockNumber, eth_call, eth_chainId, eth_createAccessList, eth_estimateGas, eth_feeHistory, eth_gasPrice, eth_getBalance, eth_getBlockByHash, eth_getBlockByNumber, eth_getBlockReceipts, eth_getBlockTransactionCountByHash, eth_getBlockTransactionCountByNumber, eth_getCode, eth_getHeaderByHash, eth_getHeaderByNumber, eth_getLogs, eth_getProof, eth_getRawTransactionByBlockHashAndIndex, eth_getRawTransactionByBlockNumberAndIndex, eth_getRawTransactionByHash, eth_getStorageAt, eth_getTransactionByBlockHashAndIndex, eth_getTransactionByBlockNumberAndIndex, eth_getTransactionByHash, eth_getTransactionCount, eth_getTransactionReceipt, eth_getUncleByBlockHashAndIndex, eth_getUncleByBlockNumberAndIndex, eth_getUncleCountByBlockHash, eth_getUncleCountByBlockNumber, eth_maxPriorityFeePerGas, eth_sendRawTransaction, eth_simulateV1, eth_syncing, net_version, web3_clientVersion, web3_sha3

选择任务

按链上任务选择解决方案

拿到 key 之后

eth_getLogs

set -eu
: "${BLOCKVECTRA_API_KEY:?BLOCKVECTRA_API_KEY is required}"
validate_response='import json,re,sys
response=json.load(sys.stdin)
if not (type(response) is dict and response.get("jsonrpc")=="2.0" and type(response.get("id")) is int and response["id"]==1 and "error" not in response and "result" in response):
    sys.exit("Invalid JSON-RPC response")
result=response["result"]
if sys.argv[1]=="head":
    if not (type(result) is str and re.fullmatch(r"0x(?:0|[1-9a-fA-F][0-9a-fA-F]*)",result)):
        sys.exit("Invalid block quantity")
    print(result)
else:
    if not (type(result) is list and all(type(log) is dict for log in result)):
        sys.exit("Invalid logs result")
    print(json.dumps(response,indent=2))'
head_response=$(curl -fsS 'https://api.blockvectra.com/v1/arc_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}')
head=$(printf '%s' "$head_response" | python3 -c "$validate_response" head)
logs_response=$(curl -fsS 'https://api.blockvectra.com/v1/arc_mainnet' -H "x-api-key: $BLOCKVECTRA_API_KEY" -H 'Content-Type: application/json' \
  -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getLogs\",\"params\":[{\"fromBlock\":\"$head\",\"toBlock\":\"$head\"}]}")
printf '%s' "$logs_response" | python3 -c "$validate_response" logs
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/arc_mainnet'
WebSocket

常见问题

Arc RPC 是否支持 WebSocket?

Arc RPC 支持 WebSocket 连接,支持的订阅类型包括:newHeads, logs。

Arc RPC 是否支持 trace 或 debug 方法?

Arc RPC 不支持 trace 或 debug 方法。

计价说明

注册即享 30,000,000 CU 免费额度(每 30 天自动补足,余额与限流跨链合计,无需信用卡);按方法公开定价,每百万次调用:eth_blockNumber $0.10、eth_call $1.50、eth_getLogs $3.00。

查看定价计划 →