Blockchain Data API 參考

Blockchain Data API 請求參考:已索引鏈上資料的 REST 端點、API key 驗證、參數、回應結構、錯誤碼與 CU 權重。

概述

使用這份 Blockchain Data API 參考建構 REST 請求,查詢已索引的區塊、交易、地址、代幣、NFT、DEX 活動、代幣化股票與資料集新鮮度。選擇資料集並檢查鏈支援情況,請先參閱資料集目錄;查詢錢包代幣餘額與轉帳歷史,請依照錢包資產指南。

  • Base URL:https://api.blockvectra.com/v1/data——除 /chains 外,所有路由均以鏈識別碼為前綴(例如 https://api.blockvectra.com/v1/data/{chain}/…)
  • 協定:HTTP GET(批次查詢代幣使用 /{chain}/tokens:batch 的 POST),JSON 回應
  • 驗證:需要 API key——在請求標頭 x-api-key 中傳入你的 key。請求按 Compute Units (CU) 計量與計費;僅對 2xx 成功回應計費
  • 以太坊:資料涵蓋範圍以 GET /v1/data/chains 中的 coverage.from_block 為準,且僅涵蓋較少資料集——請參閱支援的鏈 → 以太坊

Data API 的 CU 權重列於定價頁面,也可透過 GET /v1/plans 取得。具體請求與回應結構範例請參閱快速入門 → 呼叫 Data API。關於路徑版本控制、回溯相容性規則與 SDK 建議,請參閱 API 版本控制與相容性。

鏈

Data API 依每條鏈的範圍提供已索引資料:https://api.blockvectra.com/v1/data/{chain}/…。

可用資料集與功能因鏈而異;完整功能矩陣請參閱支援的鏈。GET https://api.blockvectra.com/v1/data/chains 會回報每條鏈的 features、coverage、finality 與 limits。超出資料集涵蓋範圍的請求傳回 HTTP 422 no_coverage(不計費);未知或非公開的鏈傳回 HTTP 404,且 error.code 為 not_found(不計費;鏈名稱必須完全為小寫 slug)。

錯誤

每個錯誤回應均為 {"error":{"code","message"}};只有 409 not_indexed_yet 可能額外包含 indexed_through(該鏈已索引到的最高區塊),當該鏈尚無已索引資料時該欄位不存在。客戶最常遇到的錯誤碼:

狀態碼error.code含義建議操作
402insufficient_balance付費餘額或免費額度已耗盡;餘額已知時 error.data 包含 balance_units 與 balance_cu(不計費)在控制台帳單頁進行鏈上儲值,或等待免費額度補足
404not_found{chain} 未知或非公開,或該物件不存在修正請求
409not_indexed_yet請求超過最新已完全寫入的區塊 as_of_block(包含 indexed_through)、雜湊解析出的區塊高於 as_of_block,或該鏈尚無已索引資料(不含 indexed_through)包含 indexed_through 時輪詢等待,直到你的區塊或 to_block 不高於該值;不包含時等待該鏈開始索引(GET /v1/data/chains 中的 coverage.has_data 顯示目前狀態)
422no_coverage永久性缺口:該鏈缺乏該項能力,或區塊早於已索引/trace 涵蓋範圍修改請求;重試不會有幫助
429rate_limitedkey 的 CU 速率限制(回應包含 Retry-After)或帳戶呼叫速率限制(不含 Retry-After);不計費在 Retry-After 秒後重試
429cost_exceeds_burst單個請求的 CU 開銷超過該 key 的突發容量;不含 Retry-After(不計費)拆分請求;按原樣重試永遠不會成功
503unavailable暫時不可用;回應帶有 Retry-After。當某條鏈的 coverage.from_block 目前為 null 時,對它的歷史請求也會傳回此錯誤在 Retry-After 秒後重試
503gateway_overloaded帳戶跨所有 key 與所有鏈的並行限制已達上限,或服務暫時繁忙;Retry-After: 1(不計費)降低該帳戶的並行請求數,並在等待 Retry-After 秒後重試

端點一覽

以下為英文原規格。

Chain

方法路徑說明
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

方法路徑說明
GET/{chain}/status/freshnessFreshness and lag per dataset

Addresses

方法路徑說明
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

方法路徑說明
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

方法路徑說明
GET/{chain}/nfts/{contract}/{token_id}Get one NFT's owner/holders
GET/{chain}/nftsList NFTs owned by an address

DEX

方法路徑說明
GET/{chain}/dex/swapsList DEX swaps by pool or token
GET/{chain}/dex/pricesDaily DEX token prices

Stocks

方法路徑說明
GET/{chain}/stocksDaily leaderboard of tokenized stocks
GET/{chain}/stocks/{token}Get one tokenized stock

Traces

方法路徑說明
GET/{chain}/blocks/{number}/tracesHistorical callTracer trace tree for a whole block
GET/{chain}/transactions/{hash}/traceHistorical callTracer trace tree for one transaction

以下為英文原規格。

最後更新:

本頁目錄