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 | 含義 | 建議操作 |
|---|---|---|---|
402 | insufficient_balance | 付費餘額或免費額度已耗盡;餘額已知時 error.data 包含 balance_units 與 balance_cu(不計費) | 在控制台帳單頁進行鏈上儲值,或等待免費額度補足 |
404 | not_found | {chain} 未知或非公開,或該物件不存在 | 修正請求 |
409 | not_indexed_yet | 請求超過最新已完全寫入的區塊 as_of_block(包含 indexed_through)、雜湊解析出的區塊高於 as_of_block,或該鏈尚無已索引資料(不含 indexed_through) | 包含 indexed_through 時輪詢等待,直到你的區塊或 to_block 不高於該值;不包含時等待該鏈開始索引(GET /v1/data/chains 中的 coverage.has_data 顯示目前狀態) |
422 | no_coverage | 永久性缺口:該鏈缺乏該項能力,或區塊早於已索引/trace 涵蓋範圍 | 修改請求;重試不會有幫助 |
429 | rate_limited | key 的 CU 速率限制(回應包含 Retry-After)或帳戶呼叫速率限制(不含 Retry-After);不計費 | 在 Retry-After 秒後重試 |
429 | cost_exceeds_burst | 單個請求的 CU 開銷超過該 key 的突發容量;不含 Retry-After(不計費) | 拆分請求;按原樣重試永遠不會成功 |
503 | unavailable | 暫時不可用;回應帶有 Retry-After。當某條鏈的 coverage.from_block 目前為 null 時,對它的歷史請求也會傳回此錯誤 | 在 Retry-After 秒後重試 |
503 | gateway_overloaded | 帳戶跨所有 key 與所有鏈的並行限制已達上限,或服務暫時繁忙;Retry-After: 1(不計費) | 降低該帳戶的並行請求數,並在等待 Retry-After 秒後重試 |
端點一覽
以下為英文原規格。
Chain
| 方法 | 路徑 | 說明 |
|---|---|---|
| GET | /chains | List 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}/transactions | List a block's transactions |
| GET | /{chain}/transactions/{hash} | Get a transaction by hash |
Status
| 方法 | 路徑 | 說明 |
|---|---|---|
| GET | /{chain}/status/freshness | Freshness and lag per dataset |
Addresses
| 方法 | 路徑 | 說明 |
|---|---|---|
| GET | /{chain}/addresses/{address}/transactions | List an address's transactions |
| GET | /{chain}/addresses/{address}/transfers | List an address's token transfers |
| GET | /{chain}/addresses/{address}/balances | List an address's ERC-20 balances |
Tokens
| 方法 | 路徑 | 說明 |
|---|---|---|
| GET | /{chain}/tokens/{token}/transfers | List a token contract's transfers |
| GET | /{chain}/tokens/{token}/holders | List a token's holders |
| GET | /{chain}/tokens/{token} | Get token metadata |
| POST | /{chain}/tokens:batch | Batch get token metadata |
NFTs
| 方法 | 路徑 | 說明 |
|---|---|---|
| GET | /{chain}/nfts/{contract}/{token_id} | Get one NFT's owner/holders |
| GET | /{chain}/nfts | List NFTs owned by an address |
DEX
| 方法 | 路徑 | 說明 |
|---|---|---|
| GET | /{chain}/dex/swaps | List DEX swaps by pool or token |
| GET | /{chain}/dex/prices | Daily DEX token prices |
Stocks
| 方法 | 路徑 | 說明 |
|---|---|---|
| GET | /{chain}/stocks | Daily leaderboard of tokenized stocks |
| GET | /{chain}/stocks/{token} | Get one tokenized stock |
Traces
| 方法 | 路徑 | 說明 |
|---|---|---|
| GET | /{chain}/blocks/{number}/traces | Historical callTracer trace tree for a whole block |
| GET | /{chain}/transactions/{hash}/trace | Historical callTracer trace tree for one transaction |
以下為英文原規格。
最後更新: