Hızlı Başlangıç

Anahtar olmadan bir blok yüksekliği okuyun, bir API key oluşturun, ilk kimlik doğrulamalı çağrınızı gönderin, ardından hisse senedi aktivitesini sorgulayın, logları geriye dönük çekin veya webhook'ları alın.

Geliştiriciler ve yapay zeka ajanları, genel RPC'yi bir anahtar olmadan deneyebilir, ardından devam etmek için bir anahtar oluşturabilir.

1. Anahtar olmadan bir blok yüksekliğini okuyun

Örnek zincir robinhood_mainnet için genel JSON-RPC uç noktasını bir hesap oluşturmadan veya bir API key sağlamadan çağırın:

curl -s "https://api.blockvectra.com/v1/robinhood_mainnet/public" \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

Yanıttaki id: 1 bu istekle eşleşir; result onaltılık bir blok yüksekliğidir ve çağrılar arasında değişebilir. Yanıt error içeriyorsa kodunu ve nedenini kontrol edin. Genel yöntemler, geçmiş aralıkları ve IP başına limitler için ücretsiz genel RPC uç noktaları sayfasına bakın.

2. Bir API key oluşturun

Konsol'a gidin, GitHub, Google veya bir Ethereum cüzdanı ile giriş yapın (hesabınız ilk girişte oluşturulur) ve bir API key oluşturun. Gizli anahtar yalnızca bir kez görüntülenir: Güvenli bir şekilde saklayın ve BLOCKVECTRA_API_KEY ortam değişkeni olarak ayarlayın. İstemci tarafı tarayıcı kodundan uzak tutun. Yeni hesaplar kaydolduklarında 30,000,000 CU kazanır — kredi kartı gerekmez.

Henüz bir API key'iniz yok mu?

Bir Ethereum cüzdanınız varsa: Tarayıcı olmadan bir Ethereum cüzdan imzası kullanarak kaydolmak ve bir API key oluşturmak için Programatik kayıt rehberini takip edin. Bir cüzdanınız yoksa: Kullanıcıdan console.blockvectra.com adresinde oturum açmasını, bir anahtar oluşturmasını ve bunu BLOCKVECTRA_API_KEY ortam değişkeni olarak ayarlamasını isteyin. Kullanıcıdan anahtarı sohbete yapıştırmasını istemeyin.

3. İlk kimlik doğrulamalı çağrınızı gönderin

Aynı zincirin blok yüksekliğini x-api-key başlığıyla okuyun. URL, sonunda eğik çizgi olmadan zincir adıyla biter:

: "${BLOCKVECTRA_API_KEY:?Set BLOCKVECTRA_API_KEY first}"

curl -s "https://api.blockvectra.com/v1/robinhood_mainnet" \
  -H 'Content-Type: application/json' \
  -H "x-api-key: $BLOCKVECTRA_API_KEY" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

result yine onaltılık bir blok yüksekliğidir. Bu istek CU tüketir; yöntem ağırlıkları ve hata kodları için JSON-RPC referansına, güncel fiyatlar için Fiyatlandırma sayfasına bakın. Yeni bir anahtar yaklaşık 5 saniye içinde yürürlüğe girer; invalid_api_key alırsanız biraz bekleyip yeniden deneyin. Diğer aksaklıklar için aşağıdaki Sık karşılaşılan hatalar bölümüne bakın.

4. Bir iş göreviyle devam edin

Referans

API key'leri ve bakiye

Eksiksiz başlangıç şablonu: blockvectra/agent-quickstart

Her anahtar, rgw_ ve ardından gelen 64 onaltılık karakterden oluşur; örneğin rgw_1f2e... (kısaltılmış). Gizli tutun — anahtara sahip olan herkes bakiyenizi harcayabilir.

Bakiyeniz yetersiz olduğunda sunucu HTTP 402 döndürür (JSON-RPC hata kodu -32020; Data API error.code insufficient_balance). Bakiyenizi ve bakiye yükleme yöntemlerini kontrol etmek için konsol Faturalandırma sayfasına gidin.

Anahtar olmadan deneyin

Bir hesap oluşturmadan veya bir API key sağlamadan genel JSON-RPC uç noktasını hemen çağırabilirsiniz.

# Doğrudan genel uç nokta:
curl -s "https://api.blockvectra.com/v1/robinhood_mainnet/public" \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

# Veya API key geri dönüş (fallback) modelini kullanarak (BLOCKVECTRA_API_KEY ayarlanmadığında varsayılan olarak genel):
curl -s "https://api.blockvectra.com/v1/robinhood_mainnet/${BLOCKVECTRA_API_KEY:-public}" \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

Aşağıdaki örnekteki uç nokta IP başına oran sınırlıdır (3 istek/sn, ani istek 20, toplu istek maksimum 10). Oran sınırlarını aşan istekler public_rate_limit veya public_pool_busy nedeni ile HTTP 429 döndürür (bir Retry-After başlığı ile); desteklenmeyen yöntemler JSON-RPC hatası -32601 (method_not_public) döndürür.

Zincire göre genel uç noktalar

  • Arbitrum One: https://api.blockvectra.com/v1/arb_mainnet/public — İmzalanmış işlemleri okuma ve yayınlama (eth_sendRawTransaction)
  • Base: https://api.blockvectra.com/v1/base_mainnet/public — İmzalanmış işlemleri okuma ve yayınlama (eth_sendRawTransaction)
  • BNB Smart Chain: https://api.blockvectra.com/v1/bsc_mainnet/public — İmzalanmış işlemleri okuma ve yayınlama (eth_sendRawTransaction)
  • Ethereum: https://api.blockvectra.com/v1/eth_mainnet/public — İmzalanmış işlemleri okuma ve yayınlama (eth_sendRawTransaction)
  • Ethereum Sepolia: https://api.blockvectra.com/v1/eth_sepolia/public — İmzalanmış işlemleri okuma ve yayınlama (eth_sendRawTransaction)
  • HyperEVM: https://api.blockvectra.com/v1/hyperevm_mainnet/public — Salt okunur
  • Polygon: https://api.blockvectra.com/v1/polygon_mainnet/public — İmzalanmış işlemleri okuma ve yayınlama (eth_sendRawTransaction)
  • Robinhood Chain: https://api.blockvectra.com/v1/robinhood_mainnet/public — İmzalanmış işlemleri okuma ve yayınlama (eth_sendRawTransaction)
  • Robinhood Chain Testnet: https://api.blockvectra.com/v1/robinhood_testnet/public — İmzalanmış işlemleri okuma ve yayınlama (eth_sendRawTransaction)

Aşağıdaki iki genel meta veri uç noktası, hizmet durumunu ve her zincirin yapılandırmasını gösterir; API key gerektirmezler ve faturalandırılmazlar.

Hizmet ve zincir sağlık durumunu kontrol edin

curl https://api.blockvectra.com/v1/status

Kontrol zaman damgası checked_at, hizmet operasyonel durumu gateway.status ve desteklenen her zincirin düğüm senkronizasyon ilerlemesi sync, tepe blok yüksekliği ve gecikme süresi head değerlerini döndürür:

{
  "checked_at": "2026-10-03T13:30:47Z",
  "gateway": {
    "status": "ok"
  },
  "chains": [
    {
      "chain": "bsc_mainnet",
      "name": "BNB Smart Chain",
      "chain_id": 56,
      "jsonrpc": true,
      "data": true,
      "data_features": [
        "blocks",
        "transactions",
        "address_transactions",
        "transfers",
        "token_metadata",
        "freshness"
      ],
      "data_status": "ok",
      "data_head_block": 125492675,
      "data_head_age_seconds": 3,
      "status": "ok",
      "sync": {
        "stage": "synced",
        "node_block": 125492676,
        "target_block": null
      },
      "head": {
        "block": 125492676,
        "time": "2026-10-03T13:30:45Z",
        "lag_seconds": 2
      }
    }
  ]
}

Desteklenen zincirleri ve yöntem politikalarını sorgulayın

curl https://api.blockvectra.com/v1/chains

Desteklenen her zincirin chain_id değerini, JSON-RPC, Data API ve WebSocket yetenek bayraklarını, yöntem izin verme ve reddetme politikalarını (methods.allow ve methods.deny), tek sorguluk log blok aralığı sınırını max_logs_block_range ve geçmiş durum penceresini state_window_blocks döndürür:

{
  "chains": [
    {
      "chain": "bsc_mainnet",
      "name": "BNB Smart Chain",
      "chain_id": 56,
      "jsonrpc": true,
      "data": true,
      "ws": false,
      "subscriptions": [],
      "methods": {
        "allow": [
          "eth_blockNumber",
          "eth_call",
          "eth_chainId",
          "eth_getLogs"
        ],
        "deny": [
          "eth_newFilter",
          "eth_subscribe",
          "eth_unsubscribe"
        ]
      },
      "max_logs_block_range": 1000,
      "state_window_blocks": 990000,
      "info": {}
    }
  ]
}

Bir zincir seçin

Her BlockVectra uç noktası bir zincir kapsamındadır: JSON-RPC istekleri URL yolunda {chain} zincir adını taşır ve Data API istekleri rotanın başına bunu ekler. Şu anda kullanılabilir olan zincirler ve tanımlayıcıları için Desteklenen Zincirler sayfasına bakın.

Zincir{chain}Chain IDTracingGenel EndpointWebSocketData APIAPI anahtarıyla kullanılabilen metot sayısıWebhook bildirimleriİşlem Göndermeİşlem Gönderme (Key Gerektirmeyen Genel Uç Nokta)Durum geçmişi penceresieth_getLogs maksimum blok aralığıData API Veri Kümeleriİlgili test ağlarıİlgili kılavuzlar
arb_mainnet RPC ve Data APIarb_mainnet42161✓https://api.blockvectra.com/v1/arb_mainnet/publicDesteklenmiyorAçık43Destekleniyor · Onay sayısı 1–1 (varsayılan 1)
Webhook bildirimleri kılavuzu
DestekleniyorDestekleniyorEn son 6,000 blok için geçmiş durum1,000 blokBloklar, İşlemler, Adres işlemleri, Transferler, Token meta verileri, Veri güncelliğiBilinmiyorBilinmiyor
base_mainnet RPC ve Data APIbase_mainnet8453—https://api.blockvectra.com/v1/base_mainnet/publicDesteklenmiyorAçık39Destekleniyor · Onay sayısı 1–1 (varsayılan 1)
Webhook bildirimleri kılavuzu
DestekleniyorDestekleniyorEn son 10,000 blok için geçmiş durum1,000 blokBloklar, İşlemler, Adres işlemleri, Transferler, Token meta verileri, Veri güncelliğiBilinmiyorBase
bsc_mainnet RPC ve Data APIbsc_mainnet56—https://api.blockvectra.com/v1/bsc_mainnet/publicDesteklenmiyorAçık25Destekleniyor · Onay sayısı 1–1 (varsayılan 1)
Webhook bildirimleri kılavuzu
DestekleniyorDestekleniyorEn son 100 blok için geçmiş durum1,000 blokBloklar, İşlemler, Adres işlemleri, Transferler, Token meta verileri, Veri güncelliğiBilinmiyorBilinmiyor
Ethereum RPC ve Data APIeth_mainnet1✓https://api.blockvectra.com/v1/eth_mainnet/publicDesteklenmiyorAçık38Destekleniyor · Onay sayısı 1–1 (varsayılan 1)
Webhook bildirimleri kılavuzu
DestekleniyorDestekleniyorEn son 250,000 blok için geçmiş durum1,000 blokBloklar, İşlemler, Adres işlemleri, Transferler, Token meta verileri, Veri güncelliğiBilinmiyorBilinmiyor
eth_sepolia RPC ve Data APIeth_sepolia11155111—https://api.blockvectra.com/v1/eth_sepolia/publicDesteklenmiyorAçık29Destekleniyor · Onay sayısı 1–1 (varsayılan 1)
Webhook bildirimleri kılavuzu
DestekleniyorDestekleniyorBilinmiyor1,000 blokBloklar, İşlemler, Adres işlemleri, Transferler, Token meta verileri, Veri güncelliğiBilinmiyorBilinmiyor
HyperEVM RPC ve Data APIhyperevm_mainnet999—https://api.blockvectra.com/v1/hyperevm_mainnet/publicDesteklenmiyorAçık24Destekleniyor · Onay sayısı 1–1 (varsayılan 1)
Webhook bildirimleri kılavuzu
DesteklenmiyorDesteklenmiyorBilinmiyor1,000 blokBloklar, İşlemler, Adres işlemleri, Transferler, Token meta verileri, Bakiyeler, Sahipler, NFT'ler, Veri güncelliğiBilinmiyorHyperEVM backfill and polling
polygon_mainnet RPC ve Data APIpolygon_mainnet137✓https://api.blockvectra.com/v1/polygon_mainnet/publicDesteklenmiyorAçık43Destekleniyor · Onay sayısı 1–1 (varsayılan 1)
Webhook bildirimleri kılavuzu
DestekleniyorDestekleniyorEn son 126 blok için geçmiş durum1,000 blokBloklar, İşlemler, Adres işlemleri, Transferler, Token meta verileri, Veri güncelliğiBilinmiyorBilinmiyor
Robinhood Chain RPC ve Data APIrobinhood_mainnet4663✓https://api.blockvectra.com/v1/robinhood_mainnet/publicDestekleniyor (newHeads, logs)Açık43Destekleniyor · Onay sayısı 1–1 (varsayılan 1)
Webhook bildirimleri kılavuzu
DestekleniyorDestekleniyorEn son 900 blok için geçmiş durum1,000 blokBloklar, İşlemler, Adres işlemleri, Transferler, Token meta verileri, Bakiyeler, Sahipler, NFT'ler, DEX takasları, DEX fiyatları, Tokenlaştırılmış hisse senetleri, İzler, Veri güncelliğiBilinmiyorRobinhood Chain
Stock token multiplier

Tokenized stocks
robinhood_testnet RPCrobinhood_testnet46630✓https://api.blockvectra.com/v1/robinhood_testnet/publicDestekleniyor (newHeads, logs)Henüz kullanılabilir değil43Destekleniyor · Onay sayısı 1–1 (varsayılan 1)
Webhook bildirimleri kılavuzu
DestekleniyorDestekleniyorEn son 1,023 blok için geçmiş durum1,000 blokDesteklenmiyorBilinmiyorTestnet faucet
Robinhood Chain Testnet starter

API anahtarı aldıktan sonra

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

Webhook aboneliği oluştur · Webhook aboneliği oluştur · Kullanım ve CU · Bakiye yükle

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

Webhook aboneliği oluştur · Webhook aboneliği oluştur · Kullanım ve CU · Bakiye yükle

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

Webhook aboneliği oluştur · Webhook aboneliği oluştur · Kullanım ve CU · Bakiye yükle

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

Webhook aboneliği oluştur · Webhook aboneliği oluştur · Kullanım ve CU · Bakiye yükle

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

Webhook aboneliği oluştur · Webhook aboneliği oluştur · Kullanım ve CU · Bakiye yükle

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

Webhook aboneliği oluştur · Webhook aboneliği oluştur · Kullanım ve CU · Bakiye yükle

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

Webhook aboneliği oluştur · Webhook aboneliği oluştur · Kullanım ve CU · Bakiye yükle

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

Webhook aboneliği oluştur · Webhook aboneliği oluştur · Kullanım ve CU · Bakiye yükle

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

Webhook aboneliği oluştur · Webhook aboneliği oluştur · Kullanım ve CU · Bakiye yükle

HyperEVM

HyperEVM blokları HyperCore sistem işlemlerini içerir (0x2222…2222 veya 0x20… adresinden, gasPrice 0).

Bu zincirde henüz işlem gönderme desteklenmemektedir (eth_sendRawTransaction -32601 method_not_allowed döndürür); okuma yöntemleri normal çalışır.

Canlı durumu görüntüleyin →

Başka bir zincire mi ihtiyacınız var? Bize bildirin →

Bu sayfadaki tüm örnekler robinhood_mainnet kullanır.

İpucu: Yukarıdaki matriste örneğin hizmetini, yöntemini ve geçmiş penceresini destekleyen bir zincir seçin, ardından robinhood_mainnet yerine o zincirin {chain} değerini koyun. Aynı API key, desteklenen tüm zincirlerde çalışır.

Diğer kimlik doğrulama seçenekleri ve dil örnekleri

JSON-RPC uç noktaları bir zincir kapsamındadır: Anahtar yolda olacak şekilde POST /v1/{chain}/{api_key} veya anahtar x-api-key başlığında olacak şekilde POST /v1/{chain}. {chain}, Data API'nin de kullandığı zincir adıdır; Robinhood Chain için bu robinhood_mainnet değeridir, dolayısıyla bu sayfadaki uç nokta https://api.blockvectra.com/v1/robinhood_mainnet şeklindedir. HTTP üzerinden eth_subscribe çağırmak -32601 döndürür; WebSocket abonelikleri Desteklenen Zincirler sayfasında zincir başına listelenmiştir. API Access-Control-Allow-Origin: * gönderir, ancak API key'inizi gizli tutmalı ve istekleri istemci tarafı tarayıcı kodu yerine bir arka uç hizmetinden yapmalısınız.

Anahtarı üç yoldan biriyle iletebilirsiniz: URL yolunda (POST /v1/{chain}/{api_key}; yalnızca yoldaki anahtarı kullanır ve her iki başlığı da yok sayar), x-api-key başlığında veya bir Authorization: Bearer <api_key> başlığında.

URL yolunda anahtar

: "${BLOCKVECTRA_API_KEY:?Set BLOCKVECTRA_API_KEY first}"

curl -s "https://api.blockvectra.com/v1/robinhood_mainnet/$BLOCKVECTRA_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

İstek başlığında anahtar

: "${BLOCKVECTRA_API_KEY:?Set BLOCKVECTRA_API_KEY first}"

curl -s "https://api.blockvectra.com/v1/robinhood_mainnet" \
  -H 'Content-Type: application/json' \
  -H "x-api-key: $BLOCKVECTRA_API_KEY" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

Sonda eğik çizgi yok

Anahtarı bir başlıkta ilettiğinizde, https://api.blockvectra.com/v1/robinhood_mainnet adresini tam olarak gösterildiği gibi çağırın: URL, sonunda eğik çizgi olmadan zincir adıyla biter. JSON-RPC yalnızca /v1/{chain} ve /v1/{chain}/{api_key} yollarında sunulur. Sonda bir eğik çizgi (örneğin /v1/{chain}/) veya zincir bölümü olmayan bir istek (örneğin /v1 veya /v1/), gövdesi boş bir 404 döndürür.

Bir Authorization: Bearer <api_key> başlığı da çalışır. POST /v1/{chain} üzerinde, boş olmayan bir x-api-key Bearer'a göre önceliklidir ve Bearer yalnızca x-api-key bulunmadığında veya boş olduğunda kullanılır. Yol biçimi her iki başlığı da yok sayar.

Toplu çağrılar

Tek bir istekte birden fazla çağrı yapmak için bir dizi gönderin (toplu işlem başına en fazla 100). Her API key'in bir CU havuzuna (cu_per_sec yenileme, burst_cu kapasitesi — varsayılanlar 400 CU/s ve ani artış (burst) 1,600 CU; konsol Keys tablosunda anahtar başına gösterilir) sahip olduğunu unutmayın; toplam CU'su anahtarın burst kapasitesini aşan tek bir istek — tüm bir JSON-RPC toplu işlemi dahil — toplu işlem başına 100 çağrı sınırının altında olsa bile -32022 request_exceeds_burst ile reddedilir; bunu daha küçük partilere bölün. Bu örnek, zincir kimliğini ve bir hesap bakiyesini tek bir gidiş-dönüşte okur:

curl -s "https://api.blockvectra.com/v1/robinhood_mainnet" \
  -H 'Content-Type: application/json' \
  -H "x-api-key: $BLOCKVECTRA_API_KEY" \
  -d '[
    {"jsonrpc":"2.0","id":1,"method":"eth_chainId"},
    {"jsonrpc":"2.0","id":2,"method":"eth_getBalance","params":["0x1111111111111111111111111111111111111111","latest"]}
  ]'

Yanıtlar, isteklerle aynı sırada, id ile eşleşen bir dizi olarak geri gelir.

Sunucu bunun yerine tüm toplu işlemi reddederse — yetersiz bakiye, hız sınırlaması, burst kapasitesi veya aşırı büyük bir parti nedeniyle (aşağıdaki Sık karşılaşılan hatalar bölümüne bakın) — bir dizi yerine tek bir JSON-RPC hata nesnesi döndürür; viem'in batch: true modu bunu ayrıntısız bir UnknownRpcError olarak gösterir, bu nedenle gerçek hatayı görmek için tek bir çağrıyı yeniden deneyin.

CU faturalandırmasını anlayın

Faturalandırılan her çağrı Compute Units (CU) tüketir: eth_blockNumber veya eth_chainId gibi ucuz çağrılar en az maliyete sahiptir, eth_getBlockByNumber gibi yaygın okumalar biraz daha pahalıdır, eth_call veya eth_getLogs gibi daha ağır çağrılar daha fazla tutar ve yürütme izleme yöntemleri (debug_traceTransaction gibi) en yüksek maliyete sahiptir. Kullanım, hesap başına saatlik dönem bazında, tam faturalandırma birimlerine aşağı yuvarlanarak ücretlendirilir (1 birim = 1,000 CU); kalan miktar bir sonraki döneme devreder (böylece dönemler boyunca toplam ücretlendirilen miktar floor(toplam CU / 1,000) olur); mutabakat, dönem sona erdikten yaklaşık 15 dakika sonra gerçekleşir. Örneğin: 508 CU devreden + 2557 CU tüketilen = 3065 CU; bu da 3 faturalandırma biriminin ücretlendirilmesi ve 65 CU'nun bir sonraki döneme devretmesiyle sonuçlanır. Güncel fiyatlar için Fiyatlandırma sayfasına bakın.

Yöntem yöntem tam ağırlık tablosu ve hata kodları API Referansı → JSON-RPC sayfasında yer almaktadır — bu sayfa yalnızca bir isteğin biçimini kapsar.

Sık karşılaşılan hatalar

Ne yaptınızNe döndüEylem
Bilinmeyen veya henüz herkese açık olmayan zincirJSON gövdesinde error.data.reason: "unknown_chain" ile HTTP 404URL'deki zincir adını kontrol edin
Zincir bölümü olmayan istek (örneğin /v1 veya /v1/)Boş gövdeyle HTTP 404URL'ye zincir adını dahil edin (/v1/{chain})
API key eksik, bilinmiyor veya devre dışıHTTP 401, JSON-RPC kodu -32024 (missing_api_key veya invalid_api_key)Geçerli ve aktif bir API key kullanın (yeni oluşturulan veya döndürülen anahtarlar yaklaşık 5 saniye içinde tüm bulut sunucularında yürürlüğe girer; bu süre zarfında 401 invalid_api_key veya faturalandırma durumu geçici olarak doğrulanamadığında 503 -32021 (Retry-After ile) döndürebilir, bu nedenle biraz bekleyip yeniden deneyin)
Bakiye sıfır veya negatifHTTP 402, JSON-RPC kodu -32020Bakiyenizi yükleyin veya ücretsiz yenilemeyi bekleyin
İstekler çok hızlı gönderildi (hız sınırı veya geçici aşırı yük)HTTP 429 (veya 200), JSON-RPC kodu -32005Daha sonra tekrar deneyin (varsa Retry-After değerine uyun)
Tek bir istek veya toplu işlem anahtarın burst kapasitesini aşıyor (burst_cu, varsayılan 1,600 CU; varsayılan hız 400 CU/s) veya ücretsiz plan toplu çağrısı çağrı/sn limitini aşıyor (25 çağrı/sn)HTTP 429, JSON-RPC kodu -32022 (request_exceeds_burst)İsteği daha küçük partilere bölün (gönderildiği şekliyle asla başarılı olamaz)
Üst kaynak düğüm geçici olarak kullanılamıyorHTTP 200, JSON-RPC kodu -32603 (upstream unavailable), faturalandırılmazİsteği yeniden deneyin
Bu zincirin durum penceresinin dışındaki geçmiş durum (GET /v1/chains içindeki state_window_blocks değerine bakın)HTTP 200, JSON-RPC kodu -32011, faturalandırılmazDaha yeni bir bloğu sorgulayın
İşlem veya blok bulunamadı ya da yanıt çok büyük; Ethereum'da, yakın geçmiş penceresinin dışındaki blok / makbuz / log sorguları da -32000 "old data not available due to pruning" döndürür (faturalandırılmaz; bkz. Desteklenen Zincirler → Ethereum)HTTP 200, JSON-RPC kodu -32000İsteği değiştirin (özeti veya blok numarasını doğrulayın; hatalı biçimlendirilmiş trace karmaları işlem bulunamadı döndürür)
İzin verilmeyen tracer veya izin verilmeyen trace zaman aşımı (debug_trace çağrıları)HTTP 200, JSON-RPC kodu -32602, faturalandırılmazİzin verilen bir yerel tracer kullanın (callTracer, flatCallTracer, prestateTracer, 4byteTracer, noopTracer veya boş bırakın) ve zaman aşımı ≤ 30s olmalıdır
Zincirin yöntem listesinin izin vermediği bir yöntem (bkz. Desteklenen Zincirler)HTTP 200, JSON-RPC kodu -32601, faturalandırılmazYalnızca zincirin izin verdiği yöntemleri çağırın
Hatalı biçimlendirilmiş JSON gövdesiHTTP 200, JSON-RPC kodu -32700, faturalandırılmazİstek JSON sözdizimini düzeltin
Bir toplu işlemde 100'den fazla çağrıHTTP 200, JSON-RPC kodu -32600 (batch too large), faturalandırılmazToplu işlemi en fazla 100 çağrıya bölün

Yukarıdaki retler asla faturalandırılmaz. Yanıt alan kabul edilmiş her çağrı, yöntemin yayınlanan CU ağırlığı üzerinden ücretlendirilir; hata kodu tablosu faturalandırılmayan durumları listeler (Hata Kodları tablosundaki Faturalandırılır sütununa bakın).

Data API'yi çağırın

Data API, salt okunur zincir verilerini (bloklar, işlemler, bakiyeler, sahipler, DEX aktivitesi ve daha fazlası) REST/JSON olarak sunar. GET https://api.blockvectra.com/v1/data/chains dışındaki her rota bir zincir tanımlayıcısıyla başlar: Aşağıdaki her yolda kullanılan zincir tanımlayıcısı robinhood_mainnet'tir (/chains tarafından ve meta içinde döndürülen chain alanı). GET https://api.blockvectra.com/v1/data/chains yalnızca herkese açık zincirleri listeler ve yalnızca {"data": [...]} döndürür (meta yok, next_cursor yok). İstekler Compute Units (CU) cinsinden ölçülür ve faturalandırılır; yalnızca 2xx başarılı yanıtlar faturalandırılır.

Her istek, JSON-RPC ile aynı API key'i gerektirir — bunu x-api-key başlığında iletin. Zincir kapsamındaki her başarılı yanıt aynı zarf yapısını kullanır: data (yük), next_cursor (belirsiz bir dize, yalnızca başka bir sayfa olduğunda bulunur — aksi takdirde anahtar tamamen yoktur, asla null olmaz) ve meta (chain, chain_slug (chain'in büyük harfli hali), chain_external_id, as_of_block, safe_block, finalized_block, coverage, refreshed_at; refreshed_at null olabilir, bu da verinin güncelleme zamanının bilinmediği ve güncelliğini yitirmiş (stale) olarak değerlendirilmesi gerektiği anlamına gelir — blok tabanlı uç noktalar her zaman bir değer döndürür). Hata yanıtları genellikle {"error":{"code","message"}} içerir — 409 not_indexed_yet, indexed_through alanını ekler (indekslenen en yüksek blok). Bilinmeyen veya herkese açık olmayan bir zincir, error.code not_found ile HTTP 404 döndürür (faturalandırılmaz; zincir adları tam olarak küçük harfli slug olmalıdır); eksik, bilinmeyen veya devre dışı bırakılmış bir API key, error.code missing_api_key veya invalid_api_key ile HTTP 401 döndürür. Hız sınırına takılan istekler HTTP 429 (error.code rate_limited, data.reason: "key_rate_limit"), tükenen bakiye ise HTTP 402 (error.code insufficient_balance) döndürür; her ikisi de faturalandırılmaz. 2^53'ü aşabilecek değerler (bakiyeler, token miktarları) asla JSON sayıları değil, ondalık dizelerdir.

Numarasına göre bir bloğu arayın:

curl -s "https://api.blockvectra.com/v1/data/robinhood_mainnet/blocks/72838701" \
  -H "x-api-key: $BLOCKVECTRA_API_KEY"
{
  "data": {
    "number": 72838701,
    "hash": "0x9f2c1e7a4b6d3f805e1c9a72b4d6f1e0a3c8b5d7e2f4a1c6b9d3e7f0a2c4b6d8",
    "parent_hash": "0x1a3c5e7f9b1d3f5a7c9e1b3d5f7a9c1e3b5d7f9a1c3e5b7d9f1a3c5e7b9d1f3a",
    "timestamp": "2026-09-26T05:41:07Z",
    "miner": "0x00000000000000000000000000000000000a4b05",
    "gas_limit": 32000000,
    "gas_used": 4821932,
    "base_fee_per_gas": "100000000",
    "state_root": "0x2b4d6f8a1c3e5b7d9f1a3c5e7b9d1f3a5c7e9b1d3f5a7c9e1b3d5f7a9c1e3b5d",
    "transactions_root": "0x3c5e7b9d1f3a5c7e9b1d3f5a7c9e1b3d5f7a9c1e3b5d7f9a1c3e5b7d9f1a3c5e",
    "receipts_root": "0x4d6f8a1c3e5b7d9f1a3c5e7b9d1f3a5c7e9b1d3f5a7c9e1b3d5f7a9c1e3b5d7f",
    "tx_count": 239,
    "size": 48213,
    "l1_block_number": null,
    "extra": {}
  },
  "meta": {
    "chain": "robinhood_mainnet",
    "chain_slug": "ROBINHOOD_MAINNET",
    "chain_external_id": "eip155:4663",
    "as_of_block": 72838957,
    "safe_block": 72838800,
    "finalized_block": 72838701,
    "coverage": "full",
    "refreshed_at": "2026-09-27T02:15:03Z"
  }
}

İndekslenen tepenin üzerindeki bir numara (as_of_block), en yüksek indekslenen bloğu bildiren indexed_through ile birlikte 409 (error.code: "not_indexed_yet") döndürür — veri henüz orada değildir, bu nedenle daha sonra tekrar deneyin. Tamamen zincirin kapsanan geçmişinden (coverage.from_block) önceki bir blok numarası 422 (error.code: "no_coverage") döndürür. Kapsam dahilinde, as_of_block hizasında veya altında olup geçerli bir satırı bulunmayan bir numara (hiç indekslenmemiş veya reorg nedeniyle geri alınmış) 404 (error.code: "not_found") döndürür.

Veri güncelliğini kontrol edin (takip edilen her veri kümesinin zincir tepesinin ne kadar gerisinde kaldığı — bir durum sayfası veya bir sorguya güvenmeden önce uçuş öncesi kontrol için yararlıdır):

curl -s "https://api.blockvectra.com/v1/data/robinhood_mainnet/status/freshness" \
  -H "x-api-key: $BLOCKVECTRA_API_KEY"
{
  "data": [
    {
      "dataset": "blocks",
      "category": "raw",
      "max_block_number": 72838957,
      "max_day": null,
      "max_time": "2026-09-27T02:15:01Z",
      "seconds_behind": 0,
      "blocks_behind": null,
      "days_behind": null,
      "checked_at": "2026-09-27T02:15:07Z"
    }
  ],
  "meta": {
    "chain": "robinhood_mainnet",
    "chain_slug": "ROBINHOOD_MAINNET",
    "chain_external_id": "eip155:4663",
    "as_of_block": 72838957,
    "safe_block": 72838800,
    "finalized_block": 72838701,
    "coverage": "full",
    "refreshed_at": "2026-09-27T02:15:07Z"
  }
}

(Kısaltılmış: Yanıt, veri kümesi başına bir satır içerir; yalnızca blocks satırı gösterilmiştir. traces satırı ayrıca coverage_from_block, coverage_to_block ve coverage_complete alanlarını taşır.)

Bu zincir için güncellik verisi geçici olarak kullanılamıyorsa, bu kısmi bir sonuç yerine 503 (error.code: "unavailable") döndürür; yanıt bir Retry-After başlığı (saniye) taşır — en az bu kadar bekleyin, ardından yeniden deneyin.

Bir adresin ERC-20 bakiyelerini listeleyin (sıfır olmayan bakiyelere göre filtrelenmiş, tokene göre sıralanmış bir anlık görüntü):

curl -s "https://api.blockvectra.com/v1/data/robinhood_mainnet/addresses/0x1111111111111111111111111111111111111111/balances" \
  -H "x-api-key: $BLOCKVECTRA_API_KEY"
{
  "data": [
    { "token": "0x0bd7d308f8e1639fab988df18a8011f41eacad73", "balance": "185371464119396", "symbol": "WETH", "decimals": 18 },
    { "token": "0x2295f15bd4914ae9b4685f01d52f4e6f89bf8b03", "balance": "10000000000000000", "symbol": "WNVDA", "decimals": 18 }
  ],
  "meta": {
    "chain": "robinhood_mainnet",
    "chain_slug": "ROBINHOOD_MAINNET",
    "chain_external_id": "eip155:4663",
    "as_of_block": 72838957,
    "safe_block": 72838800,
    "finalized_block": 72838701,
    "coverage": "full",
    "refreshed_at": "2026-09-27T02:10:00Z"
  }
}

Sıfır olmayan bakiyesi bulunmayan bir adres yine de 404 değil, data: [] ile 200 döndürür. Daha fazla sayfalamak için ?limit= (varsayılan 50, maksimum 500) ve döndürülen next_cursor değerini iletin.

Tüm uç nokta kapsamı — bloklar, işlemler, adresler, token'lar, NFT'ler, DEX, tokenlaştırılmış hisse senetleri — API Referansı → Data API sayfasında mevcuttur.

Daha fazla bilgi

SSS

Hangi zincirler destekleniyor?

9 zincir desteklenmektedir: Arbitrum One, Base, BNB Smart Chain, Ethereum, Ethereum Sepolia, HyperEVM, Polygon, Robinhood Chain, Robinhood Chain Testnet. Liste GET /v1/chains sonucunu takip eder ve yeni zincirler başlatıldığında güncellenir. Canlı durum için durum sayfasını inceleyin. Desteklenen zincirleri görün →

WebSocket destekleniyor mu?

HTTP üzerinden eth_subscribe çağrısı yapmak -32601 döndürür; /v1/chains içinde ws değeri true olan zincirlerde eth_subscribe WebSocket üzerinden kullanılabilir. Aksi takdirde eth_getLogs ile yoklama yapın. Desteklenen zincirleri görün →

Geçmiş durumu ve izleri sorgulayabilir miyim?

Evet, ancak zincire göre değişir. Geçmiş durum penceresi /v1/chains içindeki state_window_blocks alanıdır (null tam geçmiş anlamına gelir); izlerin mevcut olup olmadığı o zincir için methods.allow alanının debug_trace yöntemlerini (örneğin debug_traceTransaction) içerip içermediğine bağlıdır; tek bir eth_getLogs isteği için maksimum blok aralığı max_logs_block_range değeridir. Zincir dizinini ve zincir başına parametreleri görün →

Tüm zincirlerde tek bir API anahtarı kullanılabilir mi?

Evet. Tek bir API anahtarı, desteklenen her zincirde JSON-RPC ve bunu sunan zincirlerde Data API için çalışır; anahtar belirli bir zincire değil, hesaba aittir. Tek anahtar, birçok zincir rehberini okuyun →

Son güncelleme:

Bu sayfada