Rantai yang Didukung
Jaringan blockchain yang didukung, Chain ID, struktur URL, dan ketersediaan fitur. Tinjau endpoint, metode, dan cakupan dataset per rantai.
BlockVectra adalah penyedia data blockchain multichain: JSON-RPC di setiap rantai yang kami dukung, dan Data API di mana pun tersedia.
Satu kunci, semua rantai
- Kunci universal: API key yang sama berfungsi di setiap jaringan blockchain yang didukung BlockVectra — tanpa kunci terpisah per rantai.
- Rantai di URL: setiap permintaan menyebutkan rantainya secara eksplisit melalui segmen path
{chain}. - Penggunaan gabungan: saldo akun, bucket batas laju Compute Unit (CU), dan batas permintaan per detik paket gratis dibagikan di seluruh rantai.
- Harga: lihat Harga.
Coba tanpa API key
Pilih endpoint RPC publik gratis untuk metode dompet tanpa API key. Metode publik dan batas per IP dicantumkan per jaringan; lihat Mulai Cepat untuk contoh panggilan.
Templat URL
Struktur URL standar untuk memanggil JSON-RPC dan Data API:
| Layanan | Mode | Templat URL | Catatan |
|---|---|---|---|
| JSON-RPC | Kunci di path | POST /v1/{chain}/{api_key} | Bentuk paling sederhana; disarankan untuk curl dan klien HTTP |
| JSON-RPC | Kunci di header | POST /v1/{chain} | Teruskan kunci dalam header permintaan x-api-key: {api_key} |
| Data API | Endpoint REST | GET /v1/data/{chain}/… | Teruskan kunci dalam header permintaan x-api-key |
| Status | Status publik | GET /v1/status | Tidak memerlukan kunci; mengembalikan status dan head setiap rantai publik |
Catatan: permintaan tanpa segmen rantai (misalnya
POST /v1atauPOST /v1/) mengembalikan HTTP 404 dengan body kosong. Lihat Mulai Cepat untuk detail pengaturan.
Matriks rantai yang didukung
Jaringan blockchain yang saat ini tersedia di BlockVectra, beserta kapabilitas layanannya:
Endpoint, metode dengan API key, langganan, pengiriman transaksi, batas status dan log, dataset, testnet terkait, dan panduan ditampilkan per rantai. Fakta yang tidak diketahui tetap tidak diketahui. Perluas rantai di bawah matriks untuk melihat permintaan yang didukung oleh rantai tersebut.
| Rantai | {chain} | Chain ID | Tracing | Endpoint publik | WebSocket | Data API | Jumlah metode dengan kunci API | Push Webhook | Kirim Transaksi | Kirim Transaksi (Endpoint Publik Tanpa Key) | Jendela riwayat state | Rentang blok maksimum eth_getLogs | Dataset Data API | Testnet terkait | Panduan terkait |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| arb_mainnet RPC dan Data API | arb_mainnet | 42161 | ✓ | https://api.blockvectra.com/v1/arb_mainnet/public | Tidak didukung | Terbuka | 43 | Didukung · Konfirmasi 1–1 (default 1) Panduan push Webhook | Didukung | Didukung | State historis untuk 6,000 blok terbaru | 1,000 blok | Blok, Transaksi, Transaksi alamat, Transfer, Metadata token, Kesegaran data | Tidak dikenal | Tidak dikenal |
| base_mainnet RPC dan Data API | base_mainnet | 8453 | — | https://api.blockvectra.com/v1/base_mainnet/public | Tidak didukung | Terbuka | 39 | Didukung · Konfirmasi 1–1 (default 1) Panduan push Webhook | Didukung | Didukung | State historis untuk 10,000 blok terbaru | 1,000 blok | Blok, Transaksi, Transaksi alamat, Transfer, Metadata token, Kesegaran data | Tidak dikenal | Base |
| bsc_mainnet RPC dan Data API | bsc_mainnet | 56 | — | https://api.blockvectra.com/v1/bsc_mainnet/public | Tidak didukung | Terbuka | 25 | Didukung · Konfirmasi 1–1 (default 1) Panduan push Webhook | Didukung | Didukung | State historis untuk 100 blok terbaru | 1,000 blok | Blok, Transaksi, Transaksi alamat, Transfer, Metadata token, Kesegaran data | Tidak dikenal | Tidak dikenal |
| Ethereum RPC dan Data API | eth_mainnet | 1 | ✓ | https://api.blockvectra.com/v1/eth_mainnet/public | Tidak didukung | Terbuka | 38 | Didukung · Konfirmasi 1–1 (default 1) Panduan push Webhook | Didukung | Didukung | State historis untuk 250,000 blok terbaru | 1,000 blok | Blok, Transaksi, Transaksi alamat, Transfer, Metadata token, Kesegaran data | Tidak dikenal | Tidak dikenal |
| eth_sepolia RPC dan Data API | eth_sepolia | 11155111 | — | https://api.blockvectra.com/v1/eth_sepolia/public | Tidak didukung | Terbuka | 29 | Didukung · Konfirmasi 1–1 (default 1) Panduan push Webhook | Didukung | Didukung | Tidak dikenal | 1,000 blok | Blok, Transaksi, Transaksi alamat, Transfer, Metadata token, Kesegaran data | Tidak dikenal | Tidak dikenal |
| HyperEVM RPC dan Data API | hyperevm_mainnet | 999 | — | https://api.blockvectra.com/v1/hyperevm_mainnet/public | Tidak didukung | Terbuka | 24 | Didukung · Konfirmasi 1–1 (default 1) Panduan push Webhook | Tidak didukung | Tidak didukung | Tidak dikenal | 1,000 blok | Blok, Transaksi, Transaksi alamat, Transfer, Metadata token, Saldo, Pemegang, NFT, Kesegaran data | Tidak dikenal | HyperEVM backfill and polling |
| polygon_mainnet RPC dan Data API | polygon_mainnet | 137 | ✓ | https://api.blockvectra.com/v1/polygon_mainnet/public | Tidak didukung | Terbuka | 43 | Didukung · Konfirmasi 1–1 (default 1) Panduan push Webhook | Didukung | Didukung | State historis untuk 126 blok terbaru | 1,000 blok | Blok, Transaksi, Transaksi alamat, Transfer, Metadata token, Kesegaran data | Tidak dikenal | Tidak dikenal |
| Robinhood Chain RPC dan Data API | robinhood_mainnet | 4663 | ✓ | https://api.blockvectra.com/v1/robinhood_mainnet/public | Didukung (newHeads, logs) | Terbuka | 43 | Didukung · Konfirmasi 1–1 (default 1) Panduan push Webhook | Didukung | Didukung | State historis untuk 900 blok terbaru | 1,000 blok | Blok, Transaksi, Transaksi alamat, Transfer, Metadata token, Saldo, Pemegang, NFT, Swap DEX, Harga DEX, Saham tertokenisasi, Trace transaksi, Kesegaran data | Tidak dikenal | Robinhood Chain Stock token multiplier Tokenized stocks |
| robinhood_testnet RPC | robinhood_testnet | 46630 | ✓ | https://api.blockvectra.com/v1/robinhood_testnet/public | Didukung (newHeads, logs) | Belum tersedia | 43 | Didukung · Konfirmasi 1–1 (default 1) Panduan push Webhook | Didukung | Didukung | State historis untuk 1,023 blok terbaru | 1,000 blok | Tidak didukung | Tidak dikenal | Testnet faucet Robinhood Chain Testnet starter |
Langkah berikutnya dengan kunci 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_getLogsData API
curl -fsS 'https://api.blockvectra.com/v1/data/arb_mainnet/status/freshness' -H "x-api-key: $BLOCKVECTRA_API_KEY"Data APIBuat langganan Webhook · Buat langganan Webhook · Penggunaan dan CU · Isi saldo
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 APIBuat langganan Webhook · Buat langganan Webhook · Penggunaan dan CU · Isi saldo
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 APIBuat langganan Webhook · Buat langganan Webhook · Penggunaan dan CU · Isi saldo
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 APIBuat langganan Webhook · Buat langganan Webhook · Penggunaan dan CU · Isi saldo
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 APIBuat langganan Webhook · Buat langganan Webhook · Penggunaan dan CU · Isi saldo
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 APIBuat langganan Webhook · Buat langganan Webhook · Penggunaan dan CU · Isi saldo
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 APIBuat langganan Webhook · Buat langganan Webhook · Penggunaan dan CU · Isi saldo
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'WebSocketBuat langganan Webhook · Buat langganan Webhook · Penggunaan dan CU · Isi saldo
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'WebSocketBuat langganan Webhook · Buat langganan Webhook · Penggunaan dan CU · Isi saldo
HyperEVM
Blok HyperEVM mencakup transaksi sistem HyperCore (dari alamat 0x2222…2222 atau 0x20…, gasPrice 0).
Pengiriman transaksi belum didukung di rantai ini (eth_sendRawTransaction mengembalikan -32601 method_not_allowed); metode baca berfungsi normal.
Butuh rantai lain? Beri tahu kami →
Ethereum
- Chain ID:
1 - Nama rantai (
{chain}di URL):eth_mainnet, misalnyaPOST /v1/eth_mainnet/{api_key}atauGET /v1/data/eth_mainnet/….
JSON-RPC
- Metode: metode yang tersedia untuk setiap rantai ditentukan oleh
methods.allow/denydiGET /v1/chains(lihat Kebijakan Metode); metode di luar cakupan tersebut mengembalikan-32601. - Hanya data terbaru: jendela status historis ditentukan oleh
state_window_blocksdiGET /v1/chains. Kueri status historis di luar jendela mengembalikan-32011(tidak ditagih); kueri blok, tanda terima, dan log di luar jendela mengembalikan-32000 old data not available due to pruning(tidak ditagih); transaksi yang dicari berdasarkan hash di luar jendela mengembalikanresult: null. eth_getLogs: rentang blok maksimum per permintaan adalahmax_logs_block_rangediGET /v1/chains.
Data API
- Hanya data terbaru: cakupan data Ethereum ditentukan oleh
coverage.from_blockdiGET /v1/data/chains. Nomor blok atau jendela di bawah awal mengembalikan422 no_coverage; hash transaksi yang telah keluar dari jendela mengembalikan404. - Saat
from_blockbernilainull: awal untuk sementara tidak diketahui. Jangan memperlakukannya sebagai0atau riwayat lengkap, dan jangan kirim permintaan historis (berdasarkan nomor blok, jendela, atau hash) untuk Ethereum sampai kembali bernilai integer; permintaan tersebut mengembalikan503 unavailable. 503 gateway_overloaded: coba lagi dengan backoff (Retry-After: 1).- Dataset: dataset yang dilayani Ethereum tercantum di
featuresdariGET /v1/data/chains; yang lainnya mengembalikan422 no_coverage(tidak ditagih). Transaksi dan transfer alamat hanya mencakup jendela: respons yang melintasi awalnya ditandaimeta.coverage: "partial".
Menemukan rantai secara terprogram
Gunakan endpoint publik ini untuk menemukan rantai yang didukung dan statusnya:
1. Status layanan (GET /v1/status)
Endpoint publik yang tidak memerlukan API key (CORS *). Ini hanya mencantumkan rantai yang tersedia secara publik dan mengembalikan status serta head terindeksnya:
curl -s "https://api.blockvectra.com/v1/status"Contoh respons:
{
"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
}
}
]
}Bidang name setiap entri selalu merupakan nama tampilan bahasa Inggris dari rantai tersebut. jsonrpc dan data masing-masing melaporkan apakah rantai tersebut terbuka untuk JSON-RPC dan Data API; status adalah "ok" atau "unavailable". Jika sebuah rantai sedang melakukan sinkronisasi, panggilan ke rantai tersebut mengembalikan -32010. Di /v1/status, status melaporkan apakah JSON-RPC sehat dan data_status melaporkan apakah Data API sehat ("ok", "syncing", atau "unavailable"); di /v1/data/chains, coverage.has_data bernilai false berarti rantai tersebut belum memiliki data yang diindeks.
2. Rantai Data API (GET /v1/data/chains)
Memerlukan API key di header x-api-key (ditagih). Mengembalikan rantai publik yang dilayani Data API, masing-masing dengan apa yang dilayaninya (features), blok yang dicakup datanya (coverage), penanda konsensus node safe/finalized beserta statusnya (finality), dan batas per permintaannya (limits):
curl -s "https://api.blockvectra.com/v1/data/chains" \
-H "x-api-key: $BLOCKVECTRA_API_KEY"Contoh respons:
{
"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 melaporkan penanda konsensus node (model adalah "node_tags"), kesehatan penanda (status adalah "ok", "stale", atau "unavailable"), dan safe_block serta finalized_block saat ini (safe_block >= finalized_block, dan keduanya bernilai null hanya jika status "unavailable").
coverage.from_block adalah blok terendah yang diindeks, dibaca secara langsung. Nilainya 0 setelah riwayat rantai mencapai genesis. Nilainya hanya dapat null ketika rantai belum memiliki blok yang diindeks sama sekali (has_data = false), atau saat awalnya belum dapat ditentukan: perlakukan null sebagai tidak diketahui — bukan sebagai riwayat lengkap dan bukan sebagai 0 — dan permintaan historis saat itu mengembalikan 503 unavailable. Selalu baca dari endpoint ini pada runtime daripada menetapkannya secara statis. coverage.traces_from_block adalah blok pertama dengan data trace; permintaan trace sebelumnya, atau di dalam celah, mengembalikan 422 no_coverage (tidak ditagih).
Memanggil /v1/data/{chain}/… dengan rantai yang tidak dikenal atau tidak publik mengembalikan HTTP 404 dengan error.code not_found (tidak ditagih; nama rantai harus berupa slug huruf kecil yang tepat).
Terakhir diperbarui:
Ikhtisar
Dokumentasi JSON-RPC dan Data API multichain. Gunakan satu kunci di seluruh rantai yang didukung untuk panggilan mulai cepat, referensi API, dataset, dan aturan penagihan.
Referensi Error
Kode error BlockVectra, panduan penagihan dan percobaan ulang untuk JSON-RPC, Data API, Push Webhook, konsol dan faucet, termasuk rentang blok eth_getLogs dan error replay Webhook.