เริ่มต้นอย่างรวดเร็ว

อ่านความสูงของบล็อกโดยไม่ต้องใช้คีย์ สร้าง API key ส่งคำขอที่ยืนยันตัวตนครั้งแรก จากนั้นคิวรีกิจกรรมของหุ้น ดึงข้อมูล log ย้อนหลัง หรือรับ webhook

นักพัฒนาและ AI Agent สามารถทดลองใช้ public RPC โดยไม่ต้องใช้คีย์ จากนั้นสร้างคีย์เพื่อใช้งานต่อไป

1. อ่านความสูงของบล็อกโดยไม่ต้องใช้คีย์

เรียก 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. ส่งคำขอที่ยืนยันตัวตนครั้งแรก

อ่านความสูงของบล็อกของเชนเดียวกันด้วยส่วนหัว 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. ดำเนินการต่อด้วยงานทางธุรกิจ

ข้อมูลอ้างอิง

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 และไม่คิดค่าบริการ

ตรวจสอบสถานะการทำงานของบริการและเชน

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
      }
    }
  ]
}

สอบถามเชนที่รองรับและนโยบายเมธอด

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": {}
    }
  ]
}

เลือกเชน

ทุก endpoint ของ BlockVectra มีขอบเขตเฉพาะเชน: คำขอ JSON-RPC จะมีชื่อเชน {chain} อยู่ในพาธ URL และคำขอ Data API จะขึ้นต้นเส้นทางด้วยชื่อเชน ดู Supported Chains สำหรับเชนที่พร้อมใช้งานในปัจจุบันและตัวระบุของเชน

เชน{chain}Chain IDTracingEndpoint สาธารณะWebSocketData APIจำนวนเมธอดที่ใช้ API keyWebhook pushส่งธุรกรรมส่งธุรกรรม (endpoint สาธารณะแบบไม่ต้องใช้ API key)ช่วงประวัติสถานะช่วงบล็อกสูงสุดของ eth_getLogsชุดข้อมูล Data APItestnet ที่เกี่ยวข้องคู่มือที่เกี่ยวข้อง
RPC และ Data API ของ arb_mainnetarb_mainnet42161✓https://api.blockvectra.com/v1/arb_mainnet/publicไม่รองรับเปิดให้บริการ43รองรับ · การยืนยัน 1–1 (ค่าเริ่มต้น 1)
คู่มือ Webhook push
รองรับรองรับสถานะย้อนหลังสำหรับ 5,000 บล็อกล่าสุด1,000 บล็อกบล็อก, ธุรกรรม, ธุรกรรมของแอดเดรส, การโอน, เมทาดาตาของโทเค็น, ความสดใหม่ของข้อมูลไม่ระบุไม่ระบุ
RPC และ Data API ของ base_mainnetbase_mainnet8453—https://api.blockvectra.com/v1/base_mainnet/publicไม่รองรับเปิดให้บริการ39รองรับ · การยืนยัน 1–1 (ค่าเริ่มต้น 1)
คู่มือ Webhook push
รองรับรองรับสถานะย้อนหลังสำหรับ 10,000 บล็อกล่าสุด1,000 บล็อกบล็อก, ธุรกรรม, ธุรกรรมของแอดเดรส, การโอน, เมทาดาตาของโทเค็น, ความสดใหม่ของข้อมูลไม่ระบุBase
RPC และ Data API ของ bsc_mainnetbsc_mainnet56—https://api.blockvectra.com/v1/bsc_mainnet/publicไม่รองรับเปิดให้บริการ25รองรับ · การยืนยัน 1–1 (ค่าเริ่มต้น 1)
คู่มือ Webhook push
รองรับรองรับสถานะย้อนหลังสำหรับ 100 บล็อกล่าสุด1,000 บล็อกบล็อก, ธุรกรรม, ธุรกรรมของแอดเดรส, การโอน, เมทาดาตาของโทเค็น, ความสดใหม่ของข้อมูลไม่ระบุไม่ระบุ
RPC และ Data API ของ Ethereumeth_mainnet1✓https://api.blockvectra.com/v1/eth_mainnet/publicไม่รองรับเปิดให้บริการ38รองรับ · การยืนยัน 1–1 (ค่าเริ่มต้น 1)
คู่มือ Webhook push
รองรับรองรับสถานะย้อนหลังสำหรับ 250,000 บล็อกล่าสุด1,000 บล็อกบล็อก, ธุรกรรม, ธุรกรรมของแอดเดรส, การโอน, เมทาดาตาของโทเค็น, ความสดใหม่ของข้อมูลไม่ระบุไม่ระบุ
RPC และ Data API ของ eth_sepoliaeth_sepolia11155111—https://api.blockvectra.com/v1/eth_sepolia/publicไม่รองรับเปิดให้บริการ29รองรับ · การยืนยัน 1–1 (ค่าเริ่มต้น 1)
คู่มือ Webhook push
รองรับรองรับไม่ระบุ1,000 บล็อกบล็อก, ธุรกรรม, ธุรกรรมของแอดเดรส, การโอน, เมทาดาตาของโทเค็น, ความสดใหม่ของข้อมูลไม่ระบุไม่ระบุ
RPC และ Data API ของ HyperEVMhyperevm_mainnet999—https://api.blockvectra.com/v1/hyperevm_mainnet/publicไม่รองรับเปิดให้บริการ24รองรับ · การยืนยัน 1–1 (ค่าเริ่มต้น 1)
คู่มือ Webhook push
ไม่รองรับไม่รองรับไม่ระบุ1,000 บล็อกบล็อก, ธุรกรรม, ธุรกรรมของแอดเดรส, การโอน, เมทาดาตาของโทเค็น, ยอดคงเหลือ, ผู้ถือ, NFT, ความสดใหม่ของข้อมูลไม่ระบุการดึงข้อมูลย้อนหลังและการโพลล์ HyperEVM
RPC และ Data API ของ polygon_mainnetpolygon_mainnet137✓https://api.blockvectra.com/v1/polygon_mainnet/publicไม่รองรับเปิดให้บริการ43รองรับ · การยืนยัน 1–1 (ค่าเริ่มต้น 1)
คู่มือ Webhook push
รองรับรองรับสถานะย้อนหลังสำหรับ 126 บล็อกล่าสุด1,000 บล็อกบล็อก, ธุรกรรม, ธุรกรรมของแอดเดรส, การโอน, เมทาดาตาของโทเค็น, ความสดใหม่ของข้อมูลไม่ระบุไม่ระบุ
RPC และ Data API ของ Robinhood Chainrobinhood_mainnet4663✓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
ตัวคูณโทเค็นหุ้น

หุ้นโทเค็น
RPC ของ robinhood_testnetrobinhood_testnet46630✓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

ขั้นตอนถัดไปเมื่อมี 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_getLogs

Data 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_getLogs

Data 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_getLogs

Data 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_getLogs

Data 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_getLogs

Data 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_getLogs

Data 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_getLogs

Data 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_getLogs

Data API

curl -fsS 'https://api.blockvectra.com/v1/data/robinhood_mainnet/status/freshness' -H "x-api-key: $BLOCKVECTRA_API_KEY"
Data 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_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 · เติมเงิน

HyperEVM

บล็อก HyperEVM รวมธุรกรรมระบบของ HyperCore (จากแอดเดรส 0x2222…2222 หรือ 0x20…, gasPrice 0)

การส่งธุรกรรมยังไม่รองรับบนเชนนี้ (eth_sendRawTransaction ส่งกลับ -32601 method_not_allowed); เมธอดการอ่านทำงานได้ตามปกติ

ตัวอย่างทั้งหมดในหน้านี้ใช้ robinhood_mainnet

Tip: เลือกเชนที่รองรับบริการ เมธอด และหน้าต่างประวัติของตัวอย่างในเมทริกซ์ด้านบน จากนั้นแทนที่ robinhood_mainnet ด้วย {chain} ของเชนนั้น API key เดียวกันใช้งานได้ข้ามทุกเชนที่รองรับ

ตัวเลือกการยืนยันตัวตนอื่นๆ และตัวอย่างภาษาโปรแกรม

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>

คีย์ในพาธ URL

: "${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":[]}'

คีย์ในส่วนหัวคำขอ

: "${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 หรือค่าว่างเปล่าเท่านั้น รูปแบบในพาธจะละเว้นส่วนหัวทั้งสอง

การเรียกแบบแบทช์

ส่งอาร์เรย์เพื่อทำการเรียกหลายรายการในคำขอเดียว (สูงสุด 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 ที่ไม่เปิดเผยรายละเอียด ดังนั้นให้ลองใหม่ด้วยการเรียกเดี่ยวเพื่อดูข้อผิดพลาดที่แท้จริง

ทำความเข้าใจการเรียกเก็บเงิน CU

ทุกการเรียกที่คิดค่าบริการจะใช้ 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 — หน้านี้ครอบคลุมเฉพาะรูปแบบของคำขอเท่านั้น

ข้อผิดพลาดทั่วไป

สิ่งที่คุณทำสิ่งที่ส่งกลับมาการดำเนินการ
เชนที่ไม่รู้จักหรือยังไม่ได้เปิดเผยแบบสาธารณะ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)

เรียกใช้งาน 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

ค้นหาบล็อกด้วยหมายเลข:

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")

ตรวจสอบความสดใหม่ของข้อมูล (ระยะห่างที่แต่ละชุดข้อมูลที่ติดตามล้าหลัง 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"
  }
}

(ย่อ: การตอบกลับมีหนึ่งแถวต่อหนึ่งชุดข้อมูล; แสดงเฉพาะแถว blocks เท่านั้น แถว traces ยังมีฟิลด์ coverage_from_block, coverage_to_block และ coverage_complete อีกด้วย)

หากข้อมูลความสดใหม่ไม่พร้อมใช้งานชั่วคราวสำหรับเชนนี้ คำขอนี้จะส่งกลับ 503 (error.code: "unavailable") แทนผลลัพธ์บางส่วน; การตอบกลับจะมีส่วนหัว Retry-After (วินาที) — ให้รออย่างน้อยตามเวลานั้น แล้วจึงลองใหม่

แสดงรายการยอดคงเหลือ ERC-20 ของแอดเดรส (สแนปช็อตที่กรองเฉพาะยอดคงเหลือที่ไม่เป็นศูนย์ เรียงตามโทเคน):

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

แหล่งข้อมูลเพิ่มเติม

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 บนเชนที่เปิดให้บริการ โดยคีย์จะเป็นของบัญชี ไม่ได้ผูกกับเชนใดเชนหนึ่งโดยเฉพาะ อ่านคู่มือหนึ่งคีย์สำหรับหลายเชน →

อัปเดตล่าสุด:

ในหน้านี้