Chuỗi được hỗ trợ

Các mạng blockchain được hỗ trợ, Chain ID, cấu trúc URL và tính khả dụng của tính năng. Xem xét các endpoint, phương thức và độ bao phủ của bộ dữ liệu theo từng chuỗi.

BlockVectra là nhà cung cấp dữ liệu blockchain đa chuỗi: JSON-RPC trên mọi chuỗi chúng tôi hỗ trợ và Data API tại những chuỗi có sẵn.

Một API key, tất cả các chuỗi

  • API key phổ quát: cùng một API key hoạt động trên mọi mạng blockchain mà BlockVectra hỗ trợ — không cần các key riêng biệt cho từng chuỗi.
  • Chuỗi trong URL: mỗi yêu cầu nêu rõ chuỗi của nó thông qua phân đoạn đường dẫn {chain}.
  • Mức sử dụng tổng hợp: số dư tài khoản, bucket giới hạn tần suất Compute Unit (CU) và giới hạn yêu cầu mỗi giây của gói miễn phí được chia sẻ trên tất cả các chuỗi.
  • Bảng giá: xem Bảng giá.

Thử nghiệm không cần API key

Chọn một endpoint RPC công khai miễn phí cho các phương thức ví mà không cần API key. Các phương thức công khai và giới hạn theo từng IP được liệt kê theo mạng; xem Bắt đầu nhanh để biết ví dụ gọi.

Mẫu URL

Cấu trúc URL chuẩn để gọi JSON-RPC và Data API:

Dịch vụChế độMẫu URLGhi chú
JSON-RPCKey trên đường dẫnPOST /v1/{chain}/{api_key}Hình thức đơn giản nhất; khuyến nghị cho curl và client HTTP
JSON-RPCKey trong headerPOST /v1/{chain}Truyền key trong header yêu cầu x-api-key: {api_key}
Data APIEndpoint RESTGET /v1/data/{chain}/…Truyền key trong header yêu cầu x-api-key
Trạng tháiTrạng thái công khaiGET /v1/statusKhông yêu cầu key; trả về trạng thái và khối mới nhất của từng chuỗi công khai

Ghi chú: một yêu cầu không có phân đoạn chuỗi (ví dụ: POST /v1 hoặc POST /v1/) trả về HTTP 404 với thân rỗng. Xem Bắt đầu nhanh để biết chi tiết thiết lập.

Ma trận chuỗi được hỗ trợ

Các mạng blockchain hiện có sẵn trên BlockVectra và tính năng dịch vụ của chúng:

Endpoint, phương thức có API key, đăng ký theo dõi, gửi giao dịch, giới hạn trạng thái và log, bộ dữ liệu, testnet liên quan và tài liệu hướng dẫn được hiển thị theo từng chuỗi. Thông tin chưa xác định sẽ được giữ nguyên là chưa xác định. Mở rộng một chuỗi bên dưới ma trận để xem các yêu cầu được hỗ trợ bởi chuỗi đó.

Chuỗi{chain}Chain IDTracingEndpoint công khaiWebSocketData APISố phương thức dùng khóa APIThông báo WebhookGửi giao dịchGửi giao dịch (endpoint công khai không cần key)Cửa sổ lịch sử trạng tháiKhoảng khối tối đa của eth_getLogsTập dữ liệu Data APIMạng thử nghiệm liên quanHướng dẫn liên quan
RPC và Data API của arb_mainnetarb_mainnet42161✓https://api.blockvectra.com/v1/arb_mainnet/publicKhông được hỗ trợKhả dụng43Được hỗ trợ · Số xác nhận 1–1 (mặc định 1)
Hướng dẫn thông báo Webhook
Được hỗ trợĐược hỗ trợTrạng thái lịch sử cho 6,000 khối gần đây nhất1,000 khốiKhối, Giao dịch, Giao dịch địa chỉ, Chuyển token, Siêu dữ liệu token, Độ mới dữ liệuKhông xác địnhKhông xác định
RPC và Data API của base_mainnetbase_mainnet8453—https://api.blockvectra.com/v1/base_mainnet/publicKhông được hỗ trợKhả dụng39Được hỗ trợ · Số xác nhận 1–1 (mặc định 1)
Hướng dẫn thông báo Webhook
Được hỗ trợĐược hỗ trợTrạng thái lịch sử cho 10,000 khối gần đây nhất1,000 khốiKhối, Giao dịch, Giao dịch địa chỉ, Chuyển token, Siêu dữ liệu token, Độ mới dữ liệuKhông xác địnhBase
RPC và Data API của bsc_mainnetbsc_mainnet56—https://api.blockvectra.com/v1/bsc_mainnet/publicKhông được hỗ trợKhả dụng25Được hỗ trợ · Số xác nhận 1–1 (mặc định 1)
Hướng dẫn thông báo Webhook
Được hỗ trợĐược hỗ trợTrạng thái lịch sử cho 100 khối gần đây nhất1,000 khốiKhối, Giao dịch, Giao dịch địa chỉ, Chuyển token, Siêu dữ liệu token, Độ mới dữ liệuKhông xác địnhKhông xác định
RPC và Data API của Ethereumeth_mainnet1✓https://api.blockvectra.com/v1/eth_mainnet/publicKhông được hỗ trợKhả dụng38Được hỗ trợ · Số xác nhận 1–1 (mặc định 1)
Hướng dẫn thông báo Webhook
Được hỗ trợĐược hỗ trợTrạng thái lịch sử cho 250,000 khối gần đây nhất1,000 khốiKhối, Giao dịch, Giao dịch địa chỉ, Chuyển token, Siêu dữ liệu token, Độ mới dữ liệuKhông xác địnhKhông xác định
RPC và Data API của eth_sepoliaeth_sepolia11155111—https://api.blockvectra.com/v1/eth_sepolia/publicKhông được hỗ trợKhả dụng29Được hỗ trợ · Số xác nhận 1–1 (mặc định 1)
Hướng dẫn thông báo Webhook
Được hỗ trợĐược hỗ trợKhông xác định1,000 khốiKhối, Giao dịch, Giao dịch địa chỉ, Chuyển token, Siêu dữ liệu token, Độ mới dữ liệuKhông xác địnhKhông xác định
RPC và Data API của HyperEVMhyperevm_mainnet999—https://api.blockvectra.com/v1/hyperevm_mainnet/publicKhông được hỗ trợKhả dụng24Được hỗ trợ · Số xác nhận 1–1 (mặc định 1)
Hướng dẫn thông báo Webhook
Không được hỗ trợKhông được hỗ trợKhông xác định1,000 khốiKhối, Giao dịch, Giao dịch địa chỉ, Chuyển token, Siêu dữ liệu token, Số dư, Người nắm giữ, NFT, Độ mới dữ liệuKhông xác địnhHyperEVM backfill and polling
RPC và Data API của polygon_mainnetpolygon_mainnet137✓https://api.blockvectra.com/v1/polygon_mainnet/publicKhông được hỗ trợKhả dụng43Được hỗ trợ · Số xác nhận 1–1 (mặc định 1)
Hướng dẫn thông báo Webhook
Được hỗ trợĐược hỗ trợTrạng thái lịch sử cho 126 khối gần đây nhất1,000 khốiKhối, Giao dịch, Giao dịch địa chỉ, Chuyển token, Siêu dữ liệu token, Độ mới dữ liệuKhông xác địnhKhông xác định
RPC và Data API của Robinhood Chainrobinhood_mainnet4663✓https://api.blockvectra.com/v1/robinhood_mainnet/publicĐược hỗ trợ (newHeads, logs)Khả dụng43Được hỗ trợ · Số xác nhận 1–1 (mặc định 1)
Hướng dẫn thông báo Webhook
Được hỗ trợĐược hỗ trợTrạng thái lịch sử cho 900 khối gần đây nhất1,000 khốiKhối, Giao dịch, Giao dịch địa chỉ, Chuyển token, Siêu dữ liệu token, Số dư, Người nắm giữ, NFT, Giao dịch hoán đổi DEX, Giá DEX, Cổ phiếu token hóa, Dấu vết, Độ mới dữ liệuKhông xác địnhRobinhood Chain
Stock token multiplier

Tokenized stocks
RPC của robinhood_testnetrobinhood_testnet46630✓https://api.blockvectra.com/v1/robinhood_testnet/publicĐược hỗ trợ (newHeads, logs)Chưa khả dụng43Được hỗ trợ · Số xác nhận 1–1 (mặc định 1)
Hướng dẫn thông báo Webhook
Được hỗ trợĐược hỗ trợTrạng thái lịch sử cho 1,023 khối gần đây nhất1,000 khốiKhông được hỗ trợKhông xác địnhTestnet faucet
Robinhood Chain Testnet starter

Bước tiếp theo với khóa API

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

Tạo đăng ký Webhook · Tạo đăng ký Webhook · Mức sử dụng và CU · Nạp tiền

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

Tạo đăng ký Webhook · Tạo đăng ký Webhook · Mức sử dụng và CU · Nạp tiền

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

Tạo đăng ký Webhook · Tạo đăng ký Webhook · Mức sử dụng và CU · Nạp tiền

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

Tạo đăng ký Webhook · Tạo đăng ký Webhook · Mức sử dụng và CU · Nạp tiền

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

Tạo đăng ký Webhook · Tạo đăng ký Webhook · Mức sử dụng và CU · Nạp tiền

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

Tạo đăng ký Webhook · Tạo đăng ký Webhook · Mức sử dụng và CU · Nạp tiền

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

Tạo đăng ký Webhook · Tạo đăng ký Webhook · Mức sử dụng và CU · Nạp tiền

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

Tạo đăng ký Webhook · Tạo đăng ký Webhook · Mức sử dụng và CU · Nạp tiền

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

Tạo đăng ký Webhook · Tạo đăng ký Webhook · Mức sử dụng và CU · Nạp tiền

HyperEVM

Các khối HyperEVM bao gồm các giao dịch hệ thống HyperCore (từ địa chỉ 0x2222…2222 hoặc 0x20…, gasPrice 0).

Chuỗi này hiện chưa hỗ trợ gửi giao dịch (eth_sendRawTransaction trả về -32601 method_not_allowed); các phương thức đọc hoạt động bình thường.

Ethereum

  • Chain ID: 1
  • Tên chuỗi ({chain} trong URL): eth_mainnet, ví dụ POST /v1/eth_mainnet/{api_key} hoặc GET /v1/data/eth_mainnet/….

JSON-RPC

  • Phương thức: các phương thức khả dụng cho từng chuỗi được xác định bởi methods.allow / deny trong GET /v1/chains (xem Chính sách phương thức); các phương thức nằm ngoài phạm vi đó trả về -32601.
  • Chỉ dữ liệu gần đây: cửa sổ trạng thái lịch sử được xác định bởi state_window_blocks trong GET /v1/chains. Các truy vấn trạng thái lịch sử ngoài cửa sổ trả về -32011 (không tính phí); truy vấn khối, biên lai và log ngoài cửa sổ trả về -32000 old data not available due to pruning (không tính phí); giao dịch được tra cứu theo mã băm ngoài cửa sổ trả về result: null.
  • eth_getLogs: phạm vi khối tối đa cho mỗi yêu cầu là max_logs_block_range trong GET /v1/chains.

Data API

  • Chỉ dữ liệu gần đây: phạm vi dữ liệu của Ethereum được xác định bởi coverage.from_block trong GET /v1/data/chains. Số hiệu khối hoặc cửa sổ nằm dưới điểm bắt đầu trả về 422 no_coverage; mã băm giao dịch đã rời khỏi cửa sổ trả về 404.
  • Khi from_block là null: điểm bắt đầu tạm thời chưa xác định. Không coi đây là 0 hoặc lịch sử đầy đủ, và không gửi các yêu cầu lịch sử (theo số hiệu khối, cửa sổ hoặc mã băm) cho Ethereum cho đến khi nó trở lại là một số nguyên; chúng sẽ trả về 503 unavailable.
  • 503 gateway_overloaded: thử lại với backoff (Retry-After: 1).
  • Bộ dữ liệu: các bộ dữ liệu mà Ethereum phục vụ được liệt kê trong features của GET /v1/data/chains; các bộ dữ liệu khác trả về 422 no_coverage (không tính phí). Giao dịch và chuyển giao của địa chỉ chỉ bao gồm trong cửa sổ: phản hồi vượt qua điểm bắt đầu được đánh dấu là meta.coverage: "partial".

Khám phá chuỗi theo chương trình

Sử dụng các endpoint công khai này để khám phá các chuỗi được hỗ trợ và trạng thái của chúng:

1. Trạng thái dịch vụ (GET /v1/status)

Một endpoint công khai không yêu cầu API key (CORS *). Chỉ liệt kê các chuỗi khả dụng công khai và trả về trạng thái của chúng cùng khối mới nhất được lập chỉ mục:

curl -s "https://api.blockvectra.com/v1/status"

Phản hồi mẫu:

{
  "checked_at": "2026-09-28T07:40:00Z",
  "gateway": { "status": "ok" },
  "chains": [
    {
      "chain": "robinhood_mainnet",
      "name": "Robinhood Chain",
      "chain_id": 4663,
      "jsonrpc": true,
      "data": true,
      "status": "ok",
      "data_status": "ok",
      "sync": { "stage": "synced", "node_block": 74600000, "target_block": null },
      "head": {
        "block": 74600000,
        "time": "2026-09-28T07:39:58Z",
        "lag_seconds": 3
      }
    },
    {
      "chain": "eth_mainnet",
      "name": "Ethereum",
      "chain_id": 1,
      "jsonrpc": true,
      "data": true,
      "status": "ok",
      "data_status": "ok",
      "sync": { "stage": "synced", "node_block": 26010000, "target_block": null },
      "head": {
        "block": 26010000,
        "time": "2026-09-28T07:39:59Z",
        "lag_seconds": 1
      }
    }
  ]
}

Trường name của mỗi mục luôn là tên hiển thị của chuỗi bằng tiếng Anh. jsonrpc và data cho biết chuỗi có khả dụng cho JSON-RPC và Data API hay không; status là "ok" hoặc "unavailable". Nếu một chuỗi đang đồng bộ, các lệnh gọi đến chuỗi đó sẽ trả về -32010. Trong /v1/status, status báo cáo JSON-RPC có hoạt động hay không và data_status báo cáo Data API có hoạt động hay không ("ok", "syncing" hoặc "unavailable"); trong /v1/data/chains, coverage.has_data bằng false có nghĩa là chuỗi chưa có dữ liệu được lập chỉ mục.

2. Các chuỗi của Data API (GET /v1/data/chains)

Yêu cầu API key trong header x-api-key (có tính phí). Trả về các chuỗi công khai được phục vụ bởi Data API, mỗi chuỗi đi kèm các tính năng khả dụng (features), các khối được bao phủ (coverage), các mốc đồng thuận safe/finalized của node và trạng thái của chúng (finality), cùng các giới hạn cho mỗi yêu cầu (limits):

curl -s "https://api.blockvectra.com/v1/data/chains" \
  -H "x-api-key: $BLOCKVECTRA_API_KEY"

Phản hồi mẫu:

{
  "data": [
    {
      "chain": "robinhood_mainnet",
      "chain_slug": "ROBINHOOD_MAINNET",
      "name": "Robinhood Chain",
      "chain_id": 4663,
      "chain_external_id": "eip155:4663",
      "features": [
        "blocks", "transactions", "address_transactions", "transfers", "token_metadata",
        "balances", "holders", "nfts", "dex_swaps", "dex_prices", "stocks", "traces", "freshness"
      ],
      "coverage": { "from_block": 0, "traces_from_block": 1000000, "has_data": true },
      "finality": { "model": "node_tags", "status": "ok", "safe_block": 74599400, "finalized_block": 74598900 },
      "limits": { "max_page_size": 500, "max_window_blocks": 100000, "max_pools_for_token": 200, "max_batch_addresses": 100 }
    },
    {
      "chain": "eth_mainnet",
      "chain_slug": "ETH_MAINNET",
      "name": "Ethereum",
      "chain_id": 1,
      "chain_external_id": "eip155:1",
      "features": ["blocks", "transactions", "address_transactions", "transfers", "token_metadata", "freshness"],
      "coverage": { "from_block": 1000000, "traces_from_block": null, "has_data": true },
      "finality": { "model": "node_tags", "status": "stale", "safe_block": 26009950, "finalized_block": 26009900 },
      "limits": { "max_page_size": 500, "max_window_blocks": 100000, "max_pools_for_token": 200, "max_batch_addresses": 100 }
    }
  ]
}

finality báo cáo các mốc đồng thuận của node (model là "node_tags"), trạng thái của các mốc (status là "ok", "stale" hoặc "unavailable") và giá trị hiện tại của safe_block cùng finalized_block (safe_block >= finalized_block, và cả hai chỉ là null khi trạng thái là "unavailable").

coverage.from_block là khối thấp nhất được lập chỉ mục, được truy vấn theo thời gian thực. Giá trị này là 0 khi lịch sử chuỗi bắt đầu từ khối nguyên thủy (genesis). Chỉ có thể là null khi chuỗi chưa có khối nào được lập chỉ mục (has_data = false) hoặc khi không thể xác định điểm bắt đầu: hãy coi null là không xác định — không phải lịch sử đầy đủ cũng không phải là 0 — và các yêu cầu lịch sử trong trường hợp đó sẽ trả về 503 unavailable. Luôn truy vấn endpoint này trong thời gian chạy thay vì mã hóa cứng giá trị trong mã nguồn. coverage.traces_from_block là khối đầu tiên có dữ liệu trace; yêu cầu trace trước khối này hoặc trong khoảng trống sẽ trả về 422 no_coverage (không tính phí).

Gọi /v1/data/{chain}/… với một chuỗi không xác định hoặc không công khai sẽ trả về HTTP 404 với error.code not_found (không tính phí; tên chuỗi phải là slug chính xác viết bằng chữ thường).

Cập nhật lần cuối:

Trên trang này