เริ่มต้นอย่างรวดเร็ว
อ่านความสูงของบล็อกโดยไม่ต้องใช้คีย์ สร้าง API key ส่งคำขอที่ยืนยันตัวตนครั้งแรก จากนั้นคิวรีกิจกรรมของหุ้น ดึงข้อมูล log ย้อนหลัง หรือรับ webhook
นักพัฒนาและ AI Agent สามารถทดลองใช้ public RPC โดยไม่ต้องใช้คีย์ จากนั้นสร้างคีย์เพื่อใช้งานต่อไป
1. Read a block height without a key
เรียก public JSON-RPC endpoint สำหรับเชนตัวอย่าง robinhood_mainnet โดยไม่ต้องสร้างบัญชีหรือระบุ API key:
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 ให้ตรวจสอบรหัสและสาเหตุ ดู free public RPC endpoints สำหรับเมธอดสาธารณะ ช่วงประวัติ และขีดจำกัดต่อ IP
2. Create an API key
ไปที่ คอนโซล, เข้าสู่ระบบด้วย GitHub, Google หรือกระเป๋าเงิน Ethereum (บัญชีของคุณจะถูกสร้างขึ้นเมื่อเข้าสู่ระบบครั้งแรก) และสร้าง API key โดย secret จะแสดงเพียงครั้งเดียวเท่านั้น: จัดเก็บไว้อย่างปลอดภัยและตั้งค่าเป็นตัวแปรสภาพแวดล้อม BLOCKVECTRA_API_KEY อย่าใส่ไว้ในโค้ดฝั่งเบราว์เซอร์ของไคลเอนต์ บัญชีใหม่รับ 30,000,000 CU เมื่อลงทะเบียน — ไม่ต้องใช้บัตรเครดิต
ยังไม่มี API key?
หากคุณมีกระเป๋าเงิน Ethereum: โปรดทำตาม คู่มือการลงทะเบียนแบบโปรแกรม เพื่อลงทะเบียนและสร้าง API key โดยใช้ลายเซ็นกระเป๋าเงิน Ethereum โดยไม่ต้องใช้เบราว์เซอร์ หากคุณไม่มีกระเป๋าเงิน: ให้ขอให้ผู้ใช้เข้าสู่ระบบที่ console.blockvectra.com, สร้างคีย์ และตั้งค่าเป็นตัวแปรสภาพแวดล้อม BLOCKVECTRA_API_KEY อย่าขอให้ผู้ใช้วางคีย์ลงในแชท
3. Send your first authenticated call
อ่านความสูงของบล็อกของเชนเดียวกันด้วยส่วนหัว 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 สำหรับน้ำหนักของเมธอดและรหัสข้อผิดพลาด และ ราคา สำหรับราคาปัจจุบัน คีย์ใหม่จะมีผลในเวลาประมาณ 5 วินาที; หากคุณได้รับ invalid_api_key ให้รอสักครู่แล้วลองใหม่ ดู ข้อผิดพลาดทั่วไป ด้านล่างสำหรับความล้มเหลวอื่นๆ
4. ดำเนินการต่อด้วยงานทางธุรกิจ
- คิวรีกิจกรรมหุ้นในรูปแบบโทเคนบน Robinhood Chain
- ดึงข้อมูล log ของ HyperEVM ย้อนหลังแบบแบ่ง chunk
- รับกิจกรรมของกระเป๋าเงินและการโอนโทเคนด้วย webhook
ข้อมูลอ้างอิง
API key และยอดคงเหลือ
เทมเพลตเริ่มต้นฉบับสมบูรณ์: blockvectra/agent-quickstart
ทุกคีย์จะมีลักษณะเป็น rgw_ ตามด้วยอักขระเลขฐานสิบหก 64 ตัว เช่น rgw_1f2e... (ตัดทอน) เก็บรักษาเป็นความลับ — ทุกคนที่มีคีย์สามารถใช้ยอดคงเหลือของคุณได้
เมื่อยอดคงเหลือของคุณไม่เพียงพอ เซิร์ฟเวอร์จะส่งกลับ HTTP 402 (รหัสข้อผิดพลาด JSON-RPC -32020; error.code ของ Data API คือ insufficient_balance) ไปที่หน้า การเรียกเก็บเงิน ในคอนโซลเพื่อตรวจสอบยอดคงเหลือและวิธีการเติมเงินของคุณ
ทดลองใช้งานโดยไม่ต้องใช้คีย์
คุณสามารถเรียกใช้เอนด์พอยต์ JSON-RPC สาธารณะได้ทันทีโดยไม่ต้องสร้างบัญชีหรือระบุ API key
# เอนด์พอยต์สาธารณะโดยตรง:
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":[]}'
# หรือใช้รูปแบบ fallback ของ API key (มีค่าเริ่มต้นเป็นสาธารณะเมื่อไม่ได้ตั้งค่า BLOCKVECTRA_API_KEY):
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 (3 req/s, burst 20, ขนาดแบทช์สูงสุด 10) คำขอที่เกินขีดจำกัดอัตราจะส่งคืน HTTP 429 พร้อมเหตุผล 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) - HyperEVM:
https://api.blockvectra.com/v1/hyperevm_mainnet/public— อ่านอย่างเดียว - 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)
endpoint ข้อมูลเมทาดาตาสาธารณะสองรายการต่อไปนี้แสดงสถานะการบริการและการกำหนดค่าของแต่ละเชน; ไม่จำเป็นต้องใช้ API key และไม่คิดค่าบริการ
Check service and chain health status
curl https://api.blockvectra.com/v1/statusส่งกลับการประทับเวลาที่ตรวจสอบ checked_at, สถานะการทำงานของบริการ gateway.status และความคืบหน้าในการซิงค์โหนดของแต่ละเชนที่รองรับ sync, ความสูงของบล็อก head และความหน่วงเวลา 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
}
}
]
}Query supported chains and method policies
curl https://api.blockvectra.com/v1/chainsส่งกลับ chain_id ของแต่ละเชนที่รองรับ, แฟล็กความสามารถสำหรับ JSON-RPC, Data API และ WebSocket, นโยบายอนุญาตและปฏิเสธเมธอด (methods.allow และ methods.deny), ขีดจำกัดช่วงบล็อก log ต่อหนึ่งคิวรี 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": 990000,
"info": {}
}
]
}Choose a chain
ทุก endpoint ของ BlockVectra มีขอบเขตเฉพาะเชน: คำขอ JSON-RPC จะมีชื่อเชน {chain} อยู่ในพาธ URL และคำขอ Data API จะขึ้นต้นเส้นทางด้วยชื่อเชน ดู Supported Chains สำหรับเชนที่พร้อมใช้งานในปัจจุบันและตัวระบุของเชน
| เชน | {chain} | Chain ID | Tracing | Endpoint สาธารณะ | WebSocket | Data API | จำนวนเมธอดที่ใช้ API key | Webhook push | ส่งธุรกรรม | ส่งธุรกรรม (endpoint สาธารณะแบบไม่ต้องใช้ API key) | ช่วงประวัติสถานะ | ช่วงบล็อกสูงสุดของ eth_getLogs | ชุดข้อมูล Data API | testnet ที่เกี่ยวข้อง | คู่มือที่เกี่ยวข้อง |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RPC และ Data API ของ arb_mainnet | arb_mainnet | 42161 | ✓ | https://api.blockvectra.com/v1/arb_mainnet/public | ไม่รองรับ | เปิดให้บริการ | 43 | รองรับ · การยืนยัน 1–1 (ค่าเริ่มต้น 1) คู่มือ Webhook push | รองรับ | รองรับ | สถานะย้อนหลังสำหรับ 5,000 บล็อกล่าสุด | 1,000 บล็อก | บล็อก, ธุรกรรม, ธุรกรรมของแอดเดรส, การโอน, เมทาดาตาของโทเค็น, ความสดใหม่ของข้อมูล | ไม่ระบุ | ไม่ระบุ |
| RPC และ Data API ของ base_mainnet | base_mainnet | 8453 | — | https://api.blockvectra.com/v1/base_mainnet/public | ไม่รองรับ | เปิดให้บริการ | 39 | รองรับ · การยืนยัน 1–1 (ค่าเริ่มต้น 1) คู่มือ Webhook push | รองรับ | รองรับ | สถานะย้อนหลังสำหรับ 10,000 บล็อกล่าสุด | 1,000 บล็อก | บล็อก, ธุรกรรม, ธุรกรรมของแอดเดรส, การโอน, เมทาดาตาของโทเค็น, ความสดใหม่ของข้อมูล | ไม่ระบุ | Base |
| RPC และ Data API ของ bsc_mainnet | bsc_mainnet | 56 | — | https://api.blockvectra.com/v1/bsc_mainnet/public | ไม่รองรับ | เปิดให้บริการ | 25 | รองรับ · การยืนยัน 1–1 (ค่าเริ่มต้น 1) คู่มือ Webhook push | รองรับ | รองรับ | สถานะย้อนหลังสำหรับ 100 บล็อกล่าสุด | 1,000 บล็อก | บล็อก, ธุรกรรม, ธุรกรรมของแอดเดรส, การโอน, เมทาดาตาของโทเค็น, ความสดใหม่ของข้อมูล | ไม่ระบุ | ไม่ระบุ |
| RPC และ Data API ของ Ethereum | eth_mainnet | 1 | ✓ | https://api.blockvectra.com/v1/eth_mainnet/public | ไม่รองรับ | เปิดให้บริการ | 38 | รองรับ · การยืนยัน 1–1 (ค่าเริ่มต้น 1) คู่มือ Webhook push | รองรับ | รองรับ | สถานะย้อนหลังสำหรับ 250,000 บล็อกล่าสุด | 1,000 บล็อก | บล็อก, ธุรกรรม, ธุรกรรมของแอดเดรส, การโอน, เมทาดาตาของโทเค็น, ความสดใหม่ของข้อมูล | ไม่ระบุ | ไม่ระบุ |
| RPC และ Data API ของ eth_sepolia | eth_sepolia | 11155111 | — | https://api.blockvectra.com/v1/eth_sepolia/public | ไม่รองรับ | เปิดให้บริการ | 29 | รองรับ · การยืนยัน 1–1 (ค่าเริ่มต้น 1) คู่มือ Webhook push | รองรับ | รองรับ | ไม่ระบุ | 1,000 บล็อก | บล็อก, ธุรกรรม, ธุรกรรมของแอดเดรส, การโอน, เมทาดาตาของโทเค็น, ความสดใหม่ของข้อมูล | ไม่ระบุ | ไม่ระบุ |
| RPC และ Data API ของ HyperEVM | hyperevm_mainnet | 999 | — | https://api.blockvectra.com/v1/hyperevm_mainnet/public | ไม่รองรับ | เปิดให้บริการ | 24 | รองรับ · การยืนยัน 1–1 (ค่าเริ่มต้น 1) คู่มือ Webhook push | ไม่รองรับ | ไม่รองรับ | ไม่ระบุ | 1,000 บล็อก | บล็อก, ธุรกรรม, ธุรกรรมของแอดเดรส, การโอน, เมทาดาตาของโทเค็น, ยอดคงเหลือ, ผู้ถือ, NFT, ความสดใหม่ของข้อมูล | ไม่ระบุ | HyperEVM backfill and polling |
| RPC และ Data API ของ polygon_mainnet | polygon_mainnet | 137 | ✓ | https://api.blockvectra.com/v1/polygon_mainnet/public | ไม่รองรับ | เปิดให้บริการ | 43 | รองรับ · การยืนยัน 1–1 (ค่าเริ่มต้น 1) คู่มือ Webhook push | รองรับ | รองรับ | สถานะย้อนหลังสำหรับ 126 บล็อกล่าสุด | 1,000 บล็อก | บล็อก, ธุรกรรม, ธุรกรรมของแอดเดรส, การโอน, เมทาดาตาของโทเค็น, ความสดใหม่ของข้อมูล | ไม่ระบุ | ไม่ระบุ |
| RPC และ Data API ของ Robinhood Chain | robinhood_mainnet | 4663 | ✓ | https://api.blockvectra.com/v1/robinhood_mainnet/public | รองรับ (newHeads, logs) | เปิดให้บริการ | 43 | รองรับ · การยืนยัน 1–1 (ค่าเริ่มต้น 1) คู่มือ Webhook push | รองรับ | รองรับ | สถานะย้อนหลังสำหรับ 900 บล็อกล่าสุด | 1,000 บล็อก | บล็อก, ธุรกรรม, ธุรกรรมของแอดเดรส, การโอน, เมทาดาตาของโทเค็น, ยอดคงเหลือ, ผู้ถือ, NFT, การสวอป DEX, ราคา DEX, หุ้นโทเค็นไนซ์, Trace, ความสดใหม่ของข้อมูล | ไม่ระบุ | Robinhood Chain Stock token multiplier Tokenized stocks |
| RPC ของ robinhood_testnet | robinhood_testnet | 46630 | ✓ | https://api.blockvectra.com/v1/robinhood_testnet/public | รองรับ (newHeads, logs) | ยังไม่พร้อมใช้งาน | 43 | รองรับ · การยืนยัน 1–1 (ค่าเริ่มต้น 1) คู่มือ Webhook push | รองรับ | รองรับ | สถานะย้อนหลังสำหรับ 1,023 บล็อกล่าสุด | 1,000 บล็อก | ไม่รองรับ | ไม่ระบุ | Testnet faucet Robinhood Chain Testnet starter |
ขั้นตอนถัดไปเมื่อมี API key
arb_mainnet
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_getLogsData API
curl -fsS 'https://api.blockvectra.com/v1/data/arb_mainnet/status/freshness' -H "x-api-key: $BLOCKVECTRA_API_KEY"Data APIสร้างการติดตาม Webhook · สร้างการติดตาม Webhook · การใช้งานและ CU · เติมเงิน
base_mainnet
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_getLogsData API
curl -fsS 'https://api.blockvectra.com/v1/data/base_mainnet/status/freshness' -H "x-api-key: $BLOCKVECTRA_API_KEY"Data APIสร้างการติดตาม Webhook · สร้างการติดตาม Webhook · การใช้งานและ CU · เติมเงิน
bsc_mainnet
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_getLogsData API
curl -fsS 'https://api.blockvectra.com/v1/data/bsc_mainnet/status/freshness' -H "x-api-key: $BLOCKVECTRA_API_KEY"Data APIสร้างการติดตาม Webhook · สร้างการติดตาม Webhook · การใช้งานและ CU · เติมเงิน
Ethereum
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_getLogsData API
curl -fsS 'https://api.blockvectra.com/v1/data/eth_mainnet/status/freshness' -H "x-api-key: $BLOCKVECTRA_API_KEY"Data APIสร้างการติดตาม Webhook · สร้างการติดตาม Webhook · การใช้งานและ CU · เติมเงิน
eth_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_getLogsData API
curl -fsS 'https://api.blockvectra.com/v1/data/eth_sepolia/status/freshness' -H "x-api-key: $BLOCKVECTRA_API_KEY"Data APIสร้างการติดตาม Webhook · สร้างการติดตาม Webhook · การใช้งานและ 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_getLogsData API
curl -fsS 'https://api.blockvectra.com/v1/data/hyperevm_mainnet/status/freshness' -H "x-api-key: $BLOCKVECTRA_API_KEY"Data APIสร้างการติดตาม Webhook · สร้างการติดตาม Webhook · การใช้งานและ CU · เติมเงิน
polygon_mainnet
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_getLogsData API
curl -fsS 'https://api.blockvectra.com/v1/data/polygon_mainnet/status/freshness' -H "x-api-key: $BLOCKVECTRA_API_KEY"Data APIสร้างการติดตาม 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_getLogsData API
curl -fsS 'https://api.blockvectra.com/v1/data/robinhood_mainnet/status/freshness' -H "x-api-key: $BLOCKVECTRA_API_KEY"Data APIWebSocket
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_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_getLogsWebSocket
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 · เติมเงิน
HyperEVM
บล็อก HyperEVM รวมธุรกรรมระบบของ HyperCore (จากแอดเดรส 0x2222…2222 หรือ 0x20…, gasPrice 0)
การส่งธุรกรรมยังไม่รองรับบนเชนนี้ (eth_sendRawTransaction ส่งกลับ -32601 method_not_allowed); เมธอดการอ่านทำงานได้ตามปกติ
ต้องการเชนอื่นหรือไม่? แจ้งให้เราทราบ →
ตัวอย่างทั้งหมดในหน้านี้ใช้ robinhood_mainnet
Tip: เลือกเชนที่รองรับบริการ เมธอด และหน้าต่างประวัติของตัวอย่างในเมทริกซ์ด้านบน จากนั้นแทนที่
robinhood_mainnetด้วย{chain}ของเชนนั้น API key เดียวกันใช้งานได้ข้ามทุกเชนที่รองรับ
Other authentication options and language examples
endpoint ของ JSON-RPC มีขอบเขตเฉพาะเชน: POST /v1/{chain}/{api_key} โดยใส่คีย์ไว้ในพาธ หรือ POST /v1/{chain} โดยใส่คีย์ไว้ในส่วนหัว x-api-key ทั้งนี้ {chain} คือชื่อเชนที่ Data API ใช้อยู่เช่นกัน; สำหรับ Robinhood Chain คือ robinhood_mainnet ดังนั้น endpoint ในหน้านี้จึงเป็น https://api.blockvectra.com/v1/robinhood_mainnet การเรียก eth_subscribe ผ่าน HTTP จะส่งกลับ -32601; การติดตามผ่าน WebSocket มีการระบุแยกตามเชนใน Supported Chains API จะส่ง Access-Control-Allow-Origin: * แต่คุณควรเก็บ API key ไว้เป็นความลับและส่งคำขอจากบริการแบ็กเอนด์แทนที่จะเป็นโค้ดฝั่งเบราว์เซอร์ของไคลเอนต์
คุณสามารถส่งคีย์ได้สามวิธี: ในพาธ URL (POST /v1/{chain}/{api_key} ซึ่งใช้เฉพาะคีย์ในพาธและละเว้นส่วนหัวทั้งสอง), ในส่วนหัว x-api-key หรือในส่วนหัว Authorization: Bearer <api_key>
Key in the URL path
: "${BLOCKVECTRA_API_KEY:?Set BLOCKVECTRA_API_KEY first}"
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 in a request header
: "${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":[]}'No trailing slash
เมื่อคุณส่งคีย์ในส่วนหัว ให้เรียก https://api.blockvectra.com/v1/robinhood_mainnet ตามที่แสดงไว้อย่างถูกต้อง: URL จะลงท้ายด้วยชื่อเชน โดยไม่มี เครื่องหมายทับปิดท้าย JSON-RPC ให้บริการเฉพาะที่ /v1/{chain} และ /v1/{chain}/{api_key} เท่านั้น เครื่องหมายทับปิดท้าย (เช่น /v1/{chain}/) หรือคำขอที่ไม่มีเซกเมนต์ของเชน (เช่น /v1 หรือ /v1/) จะส่งกลับ 404 พร้อม body ที่ว่างเปล่า (empty body)
ส่วนหัว Authorization: Bearer <api_key> ก็สามารถใช้งานได้เช่นกัน สำหรับ POST /v1/{chain} ค่า x-api-key ที่ไม่ว่างจะมีลำดับความสำคัญสูงกว่า Bearer และ Bearer จะถูกใช้เฉพาะเมื่อไม่มี x-api-key หรือค่าว่างเปล่าเท่านั้น รูปแบบในพาธจะละเว้นส่วนหัวทั้งสอง
Batch calls
ส่งอาร์เรย์เพื่อทำการเรียกหลายรายการในคำขอเดียว (สูงสุด 100 รายการต่อแบทช์) โปรดทราบว่าแต่ละ API key จะมี CU bucket (การเติม cu_per_sec, ความจุ burst_cu — ค่าเริ่มต้นคือ 400 CU/s และ burst 1,600 CU; แสดงต่อคีย์ในตารางคีย์ของคอนโซล); คำขอเดี่ยว — รวมถึงทั้งแบทช์ JSON-RPC — ที่มี CU รวมเกินความจุ burst ของคีย์จะถูกปฏิเสธด้วย -32022 request_exceeds_burst แม้ว่าจะอยู่ภายใต้ขีดจำกัด 100 การเรียกต่อแบทช์ก็ตาม; ให้แบ่งออกเป็นแบทช์ย่อยๆ ตัวอย่างนี้อ่าน Chain 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
หากเซิร์ฟเวอร์ปฏิเสธทั้งแบทช์แทน — ยอดคงเหลือไม่เพียงพอ, การจำกัดอัตรา, ความจุ burst หรือแบทช์มีขนาดใหญ่เกินไป (ดู ข้อผิดพลาดทั่วไป ด้านล่าง) — จะส่งกลับออบเจกต์ข้อผิดพลาด JSON-RPC เดี่ยวแทนอาร์เรย์; โหมด batch: true ของ viem จะแสดงผลข้อผิดพลาดนี้เป็น UnknownRpcError ที่ไม่เปิดเผยรายละเอียด ดังนั้นให้ลองใหม่ด้วยการเรียกเดี่ยวเพื่อดูข้อผิดพลาดที่แท้จริง
Understand CU billing
ทุกการเรียกที่คิดค่าบริการจะใช้ Compute Units (CU): การเรียกราคาถูก เช่น eth_blockNumber หรือ eth_chainId มีค่าใช้จ่ายน้อยที่สุด, การอ่านทั่วไป เช่น eth_getBlockByNumber มีค่าใช้จ่ายเพิ่มขึ้นเล็กน้อย, การเรียกที่หนักขึ้น เช่น eth_call หรือ eth_getLogs มีค่าใช้จ่ายมากขึ้น และเมธอด trace การทำงาน (เช่น debug_traceTransaction) มีค่าใช้จ่ายมากที่สุด การใช้งานจะถูกคิดค่าบริการตามแต่ละบัญชีต่อช่วงเวลาหนึ่งชั่วโมง โดยปัดเศษลงเป็นหน่วยการเรียกเก็บเงินเต็มจำนวน (1 หน่วย = 1,000 CU) และยกยอดส่วนที่เหลือไปยังช่วงเวลาถัดไป (ดังนั้น เมื่อรวมหลายช่วงเวลา ยอดคิดค่าบริการทั้งหมดคือ floor(CU ทั้งหมด / 1,000)); การสรุปยอดจะดำเนินการประมาณ 15 นาทีหลังจากสิ้นสุดช่วงเวลา ตัวอย่างเช่น: ยกยอดมา 508 CU + ใช้งานไป 2557 CU = 3065 CU ซึ่งจะส่งผลให้คิดค่าบริการ 3 หน่วยการเรียกเก็บเงิน และยกยอด 65 CU ไปยังช่วงเวลาถัดไป ดู ราคา สำหรับราคาปัจจุบัน
ตารางน้ำหนักรายเมธอดฉบับเต็มและรหัสข้อผิดพลาดอยู่ใน API Reference → JSON-RPC — หน้านี้ครอบคลุมเฉพาะรูปแบบของคำขอเท่านั้น
Common errors
| What you did | What comes back | Action |
|---|---|---|
| เชนที่ไม่รู้จักหรือยังไม่ได้เปิดเผยแบบสาธารณะ | HTTP 404 พร้อม JSON body error.data.reason: "unknown_chain" | ตรวจสอบชื่อเชนใน URL |
คำขอที่ไม่มีเซกเมนต์ของเชน (เช่น /v1 หรือ /v1/) | HTTP 404 พร้อม body ที่ว่างเปล่า (empty body) | ระบุชื่อเชนใน URL (/v1/{chain}) |
| API key ขาดหายไป, ไม่รู้จัก หรือถูกปิดใช้งาน | HTTP 401, รหัส JSON-RPC -32024 (missing_api_key หรือ invalid_api_key) | ใช้ API key ที่ถูกต้องและใช้งานอยู่ (คีย์ที่สร้างใหม่หรือสลับคีย์จะมีผลในทุกอินสแตนซ์ภายในเวลาประมาณ 5 วินาที; ในระหว่างนี้อาจส่งกลับ 401 invalid_api_key หรือ 503 -32021 (พร้อม Retry-After) เมื่อไม่สามารถยืนยันสถานะการเรียกเก็บเงินได้ในขณะนั้น ดังนั้นให้รอสักครู่แล้วลองใหม่) |
| ยอดคงเหลือเป็นศูนย์หรือติดลบ | HTTP 402, รหัส JSON-RPC -32020 | เติมเงินในยอดคงเหลือของคุณ หรือรอการเติมฟรี |
| ส่งคำขอเร็วเกินไป (ขีดจำกัดอัตราหรือโอเวอร์โหลดชั่วคราว) | HTTP 429 (หรือ 200), รหัส JSON-RPC -32005 | ลองใหม่ในภายหลัง (ปฏิบัติตาม Retry-After เมื่อมีระบุ) |
คำขอเดี่ยวหรือแบทช์เกินความจุ burst ของคีย์ (burst_cu, ค่าเริ่มต้น 1,600 CU; อัตราเริ่มต้น 400 CU/s) หรือแบทช์ของแพ็กเกจฟรีเกินจำนวนคำขอ/วินาที (25 คำขอ/วินาที) | HTTP 429, รหัส JSON-RPC -32022 (request_exceeds_burst) | แบ่งคำขอออกเป็นแบทช์ย่อยๆ (ไม่มีทางสำเร็จได้ในรูปแบบที่ส่ง) |
| โหนดอัปสตรีมไม่พร้อมใช้งานชั่วคราว | HTTP 200, รหัส JSON-RPC -32603 (upstream unavailable), ไม่คิดค่าบริการ | ลองส่งคำขอใหม่อีกครั้ง |
สถานะย้อนหลังอยู่นอกหน้าต่างสถานะของเชนนี้ (ดู state_window_blocks ใน GET /v1/chains) | HTTP 200, รหัส JSON-RPC -32011, ไม่คิดค่าบริการ | คิวรีบล็อกที่เป็นปัจจุบันมากขึ้น |
| ไม่พบธุรกรรมหรือบล็อก หรือการตอบกลับมีขนาดใหญ่เกินไป; บน Ethereum การคิวรีบล็อก / ใบเสร็จ / log นอกหน้าต่างล่าสุดจะส่งกลับ -32000 "old data not available due to pruning" (ไม่คิดค่าบริการ; ดู Supported Chains → Ethereum) | HTTP 200, รหัส JSON-RPC -32000 | ปรับเปลี่ยนคำขอ (ตรวจสอบแฮชหรือหมายเลขบล็อก; แฮช trace ที่มีรูปแบบไม่ถูกต้องจะส่งกลับไม่พบธุรกรรม) |
ไม่อนุญาตให้ใช้ Tracer หรือไม่อนุญาตให้ใช้ค่า timeout ของ trace (การเรียก debug_trace) | HTTP 200, รหัส JSON-RPC -32602, ไม่คิดค่าบริการ | ใช้ tracer เนทีฟที่ได้รับอนุญาต (callTracer, flatCallTracer, prestateTracer, 4byteTracer, noopTracer หรือละเว้น) และ timeout ≤ 30s |
| เมธอดที่รายการเมธอดของเชนไม่อนุญาต (ดู Supported Chains) | HTTP 200, รหัส JSON-RPC -32601, ไม่คิดค่าบริการ | เรียกเฉพาะเมธอดที่เชนอนุญาต |
| JSON body มีรูปแบบไม่ถูกต้อง | HTTP 200, รหัส JSON-RPC -32700, ไม่คิดค่าบริการ | แก้ไขไวยากรณ์ JSON ของคำขอ |
| มากกว่า 100 การเรียกในหนึ่งแบทช์ | HTTP 200, รหัส JSON-RPC -32600 (batch too large), ไม่คิดค่าบริการ | แบ่งแบทช์ออกเป็นไม่เกิน 100 การเรียก |
การปฏิเสธข้างต้นจะไม่ถูกคิดค่าบริการเลย ทุกการเรียกที่ได้รับการยอมรับและได้รับการตอบกลับจะถูกคิดค่าบริการตามน้ำหนัก CU ที่เผยแพร่ของเมธอดนั้น; ตารางรหัสข้อผิดพลาดจะแสดงรายการกรณีที่ไม่คิดค่าบริการ (ดูคอลัมน์ Billed ใน Error Codes)
Call the Data API
Data API ให้บริการข้อมูลเชนแบบอ่านอย่างเดียว (บล็อก, ธุรกรรม, ยอดคงเหลือ, ผู้ถือ, กิจกรรม DEX และอื่นๆ) ในรูปแบบ REST/JSON ทุกเส้นทางยกเว้น GET https://api.blockvectra.com/v1/data/chains จะขึ้นต้นด้วยตัวระบุเชน: robinhood_mainnet คือตัวระบุเชน (ฟิลด์ chain ที่ส่งกลับมาจาก /chains และใน meta) ที่ใช้ในทุกพาธด้านล่าง GET https://api.blockvectra.com/v1/data/chains แสดงเฉพาะเชนสาธารณะและส่งกลับเฉพาะ {"data": [...]} เท่านั้น (ไม่มี meta, ไม่มี next_cursor) คำขอจะถูกวัดปริมาณและคิดค่าบริการเป็น Compute Units (CU); เฉพาะการตอบกลับสำเร็จ 2xx เท่านั้นที่จะถูกคิดค่าบริการ
ทุกคำขอจำเป็นต้องใช้ API key เดียวกันกับ JSON-RPC — โดยส่งในส่วนหัว x-api-key ทุกการตอบกลับที่สำเร็จซึ่งมีขอบเขตเฉพาะเชนจะใช้รูปแบบ envelope เดียวกัน: data (เพย์โหลด), next_cursor (สตริงที่ไม่เปิดเผยโครงสร้างภายใน จะปรากฏเฉพาะเมื่อมีหน้าถัดไปเท่านั้น — ไม่เช่นนั้นคีย์นี้จะไม่มีอยู่เลย โดยไม่เคยเป็น null) และ meta (chain, chain_slug (รูปแบบตัวพิมพ์ใหญ่ของ chain), chain_external_id, as_of_block, safe_block, finalized_block, coverage, refreshed_at; โดย refreshed_at อาจเป็น null ซึ่งหมายความว่าไม่ทราบเวลาอัปเดตของข้อมูลและควรได้รับการปฏิบัติเสมือนเป็นข้อมูลที่ไม่อัปเดต — endpoint ที่อิงตามบล็อกจะส่งกลับค่าเสมอ) การตอบกลับข้อผิดพลาดมักจะมี {"error":{"code","message"}} — โดย 409 not_indexed_yet จะเพิ่ม indexed_through (บล็อกที่ทำดัชนีสูงสุด) เชนที่ไม่รู้จักหรือไม่เปิดเผยแบบสาธารณะจะส่งกลับ HTTP 404 พร้อม error.code not_found (ไม่คิดค่าบริการ; ชื่อเชนต้องเป็นสลักตัวพิมพ์เล็กตรงกันทุกประการ); 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
Look up a block by number:
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"
}
}หมายเลขที่สูงกว่า head ที่ทำดัชนีไว้ (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")
Check data freshness (ระยะห่างที่แต่ละชุดข้อมูลที่ติดตามล้าหลัง head ของเชน — มีประโยชน์สำหรับหน้าสถานะหรือการตรวจสอบล่วงหน้าก่อนที่คุณจะเชื่อถือการคิวรี):
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"
}
}(Abridged: the response has one row per dataset; only the blocks row is shown. The traces row also carries coverage_from_block, coverage_to_block and coverage_complete.)
หากข้อมูลความสดใหม่ไม่พร้อมใช้งานชั่วคราวสำหรับเชนนี้ คำขอนี้จะส่งกลับ 503 (error.code: "unavailable") แทนผลลัพธ์บางส่วน; การตอบกลับจะมีส่วนหัว Retry-After (วินาที) — ให้รออย่างน้อยตามเวลานั้น แล้วจึงลองใหม่
List an address's ERC-20 balances (สแนปช็อตที่กรองเฉพาะยอดคงเหลือที่ไม่เป็นศูนย์ เรียงตามโทเคน):
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 ที่ส่งกลับมาเพื่อเปิดดูหน้าถัดไป
ความครอบคลุมของ endpoint ทั้งหมด — บล็อก, ธุรกรรม, แอดเดรส, โทเคน, NFT, DEX, หุ้นในรูปแบบโทเคน — มีอยู่ใน API Reference → Data API
Further reading
- API Reference → JSON-RPC — methods, CU weights, error codes
- Full JSON-RPC Reference — complete specifications, parameters, and return schemas for all supported methods
- API Reference → Data API — REST endpoints for chain data
- Datasets — derived datasets across supported chains
- Guides — practical guides for API integration, CU management, and multi-chain workflows
- Supported Chains — network identifiers and endpoint URLs
FAQ
รองรับเชนใดบ้าง?
รองรับ 9 เชน: Arbitrum One, Base, BNB Smart Chain, Ethereum, Ethereum Sepolia, HyperEVM, Polygon, Robinhood Chain, Robinhood Chain Testnet โดยรายการจะเป็นไปตาม GET /v1/chains และจะอัปเดตเมื่อมีเชนใหม่เปิดตัว ดูสถานะแบบเรียลไทม์ได้ที่ หน้าสถานะ ดูเชนที่รองรับ →
รองรับ WebSocket หรือไม่?
การเรียกใช้ eth_subscribe ผ่าน HTTP จะส่งกลับ -32601 บนเชนที่ ws เป็น true ใน /v1/chains จะสามารถใช้งาน eth_subscribe ผ่าน WebSocket ได้ มิฉะนั้นให้ใช้วิธี poll eth_getLogs แทน ดูเชนที่รองรับ →
สามารถค้นหาสถานะย้อนหลังและ trace ได้หรือไม่?
ได้ แต่จะแตกต่างกันไปตามแต่ละเชน ช่วงเวลาประวัติสถานะย้อนหลังจะระบุในฟิลด์ state_window_blocks ของ /v1/chains (null หมายถึงประวัติทั้งหมด) ความพร้อมใช้งานของ trace จะขึ้นอยู่กับว่า methods.allow ของเชนนั้นมีเมธอด debug_trace (เช่น debug_traceTransaction) หรือไม่ และช่วงบล็อกสูงสุดสำหรับคำขอ eth_getLogs แต่ละครั้งคือ max_logs_block_range ดูไดเรกทอรีเชนและพารามิเตอร์ของแต่ละเชน →
สามารถใช้ API key เดียวกับทุกเชนได้หรือไม่?
ได้ API key เดียวสามารถใช้ได้กับ JSON-RPC บนทุกเชนที่รองรับ และใช้กับ Data API บนเชนที่เปิดให้บริการ โดยคีย์จะเป็นของบัญชี ไม่ได้ผูกกับเชนใดเชนหนึ่งโดยเฉพาะ อ่านคู่มือหนึ่งคีย์สำหรับหลายเชน →
อัปเดตล่าสุด:
ภาพรวม
เอกสารประกอบ JSON-RPC และ Data API แบบหลายเชน ใช้คีย์เดียวข้ามทุกเชนที่รองรับสำหรับการเรียกเริ่มต้นอย่างรวดเร็ว, เอกสารอ้างอิง API, ชุดข้อมูล และกฎการเรียกเก็บเงิน
เชนที่รองรับ
เครือข่ายบล็อกเชนที่รองรับ, Chain ID, โครงสร้าง URL และความพร้อมใช้งานของฟีเจอร์ ตรวจสอบ endpoint, เมธอด และความครอบคลุมของชุดข้อมูลในแต่ละเชน