Referensi Blockchain Data API

Referensi permintaan Blockchain Data API: endpoint REST, autentikasi API key, parameter, skema respons, error, dan bobot CU untuk data rantai yang diindeks.

Ikhtisar

Gunakan referensi Blockchain Data API ini untuk menyusun permintaan REST untuk blok, transaksi, alamat, token, NFT, aktivitas DEX, saham tertokenisasi, dan kesegaran dataset yang diindeks. Untuk memilih dataset dan memeriksa ketersediaan rantai, mulailah dari direktori dataset; untuk saldo token dompet dan riwayat transfer, ikuti panduan aset dompet.

  • URL Dasar: https://api.blockvectra.com/v1/data — setiap rute kecuali /chains diawali dengan pengenal rantai (misalnya https://api.blockvectra.com/v1/data/{chain}/…)
  • Protokol: HTTP GET (ditambah POST untuk pencarian token batch di /{chain}/tokens:batch), respons JSON
  • Autentikasi: Memerlukan API key — teruskan kunci Anda di header permintaan x-api-key. Permintaan diukur dan ditagih dalam Compute Unit (CU); hanya respons berhasil 2xx yang ditagih
  • Ethereum: cakupan data ditentukan oleh coverage.from_block di GET /v1/data/chains, dan mencakup kumpulan dataset yang lebih kecil — lihat Rantai yang Didukung → Ethereum

Bobot CU Data API tercantum di halaman Harga dan dikembalikan oleh GET /v1/plans. Lihat Mulai Cepat → Panggil Data API untuk contoh permintaan dan bentuk respons. Untuk penerapan versi path, aturan kompatibilitas mundur, dan rekomendasi SDK, lihat Penerapan versi dan kompatibilitas API.

Rantai

Data API menyajikan data terindeks yang dicakupkan ke setiap rantai: https://api.blockvectra.com/v1/data/{chain}/….

Dataset dan fitur yang tersedia bervariasi menurut rantai; lihat Rantai yang Didukung untuk matriks kapabilitas lengkap. GET https://api.blockvectra.com/v1/data/chains melaporkan features, coverage, finality, dan limits dari setiap rantai. Permintaan di luar cakupan dataset mengembalikan HTTP 422 no_coverage (tidak ditagih); 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 persis).

Error

Setiap respons error berupa {"error":{"code","message"}}; hanya 409 not_indexed_yet yang dapat menambahkan indexed_through (blok terindeks tertinggi pada rantai tersebut), dan bidang ini tidak ada jika rantai tersebut belum memiliki data terindeks. Kode yang paling sering ditemui pelanggan:

Statuserror.codeArtiTindakan
402insufficient_balanceSaldo berbayar atau kuota gratis habis; saat saldo diketahui, error.data menyertakan balance_units dan balance_cu (tidak ditagih)Lakukan top up on-chain di halaman Penagihan konsol, atau tunggu kuota gratis diisi ulang
404not_found{chain} tidak dikenal atau tidak publik, atau objek tidak adaPerbaiki permintaan
409not_indexed_yetPermintaan mencapai di atas as_of_block (blok terbaru yang ditulis sepenuhnya; menyertakan indexed_through), hash terurai di atas as_of_block, atau rantai tersebut belum memiliki data terindeks (tanpa indexed_through)Dengan indexed_through, lakukan polling hingga blok Anda atau to_block berada pada atau di bawahnya; tanpa bidang tersebut, tunggu hingga rantai mulai mengindeks (coverage.has_data di GET /v1/data/chains menunjukkan statusnya)
422no_coverageKesenjangan permanen: rantai tidak memiliki kapabilitas tersebut, atau blok berada sebelum cakupan indeks/traceUbah permintaan; mencoba ulang tidak akan membantu
429rate_limitedBatas laju CU kunci (respons menyertakan Retry-After) atau batas laju panggilan akun (tanpa Retry-After); tidak ditagihCoba lagi setelah Retry-After detik
429cost_exceeds_burstPermintaan tunggal berbiaya lebih dari kapasitas burst kunci; tanpa Retry-After (tidak ditagih)Bagi permintaan; mencoba ulang seperti yang dikirim tidak akan pernah berhasil
503unavailableSementara tidak tersedia; respons memuat Retry-After. Juga dikembalikan untuk permintaan historis pada rantai yang coverage.from_block-nya saat ini bernilai nullCoba lagi setelah Retry-After detik
503gateway_overloadedBatas konkurensi akun di seluruh kunci dan rantainya tercapai, atau layanan sedang sibuk sementara; Retry-After: 1 (tidak ditagih)Kurangi permintaan bersamaan di seluruh akun dan tunggu Retry-After detik sebelum mencoba lagi

Indeks endpoint

Berikut adalah spesifikasi asli dalam bahasa Inggris.

Chain

MetodeJalurRingkasan
GET/chainsList supported chains
GET/{chain}/blocks/{number}Get a block by number
GET/{chain}/blocks/hash/{hash}Get a block by hash
GET/{chain}/blocks/{number}/transactionsList a block's transactions
GET/{chain}/transactions/{hash}Get a transaction by hash

Status

MetodeJalurRingkasan
GET/{chain}/status/freshnessFreshness and lag per dataset

Addresses

MetodeJalurRingkasan
GET/{chain}/addresses/{address}/transactionsList an address's transactions
GET/{chain}/addresses/{address}/transfersList an address's token transfers
GET/{chain}/addresses/{address}/balancesList an address's ERC-20 balances

Tokens

MetodeJalurRingkasan
GET/{chain}/tokens/{token}/transfersList a token contract's transfers
GET/{chain}/tokens/{token}/holdersList a token's holders
GET/{chain}/tokens/{token}Get token metadata
POST/{chain}/tokens:batchBatch get token metadata

NFTs

MetodeJalurRingkasan
GET/{chain}/nfts/{contract}/{token_id}Get one NFT's owner/holders
GET/{chain}/nftsList NFTs owned by an address

DEX

MetodeJalurRingkasan
GET/{chain}/dex/swapsList DEX swaps by pool or token
GET/{chain}/dex/pricesDaily DEX token prices

Stocks

MetodeJalurRingkasan
GET/{chain}/stocksDaily leaderboard of tokenized stocks
GET/{chain}/stocks/{token}Get one tokenized stock

Traces

MetodeJalurRingkasan
GET/{chain}/blocks/{number}/tracesHistorical callTracer trace tree for a whole block
GET/{chain}/transactions/{hash}/traceHistorical callTracer trace tree for one transaction

Berikut adalah spesifikasi asli dalam bahasa Inggris.

Terakhir diperbarui:

Di halaman ini