USDC / USDT / USDG ile RPC ödemesi yapın: AI Agent'lar için programatik bakiye yükleme
HTTP üzerinden zincir üstünde bir RPC ve Data API hesabına bakiye yükleyin. Geliştiriciler ve AI Agent'lar, desteklenen tokenları kontrol etmek, özel bir yatırma adresi almak ve bakiye yansıma durumunu sorgulamak için bir API key kullanır.
Geliştiriciler ve AI Agent'lar, HTTP üzerinden bir RPC ve Data API hesabına bakiye yükleyebilir: açık ağları ve tokenları kontrol edin, hesabın EVM yatırma adresini almak için mevcut bir API key kullanın, ardından fonları transfer ettikten sonra bakiye yansıma durumunu sorgulayın. Fon aktarmadan önce fiyatlandırma sayfasını kontrol edin ve CU ağırlıklarından RPC ve Data API maliyetlerini tahmin edin.
- İlk adım: Fonları transfer etmeden önce açık ağları, tokenları ve
min_deposit_usddeğerini kontrol etmek içincurl -s https://api.blockvectra.com/v1/topup/statuskomutunu çalıştırın. - Tamamlanma koşulu:
tx_hashdeğeriniz için depozito kaydınınstatus: creditedolması;credited_unitsvecredited_cudeğerlerinin hesabınıza eklenen kredileri göstermesi.
Faturalandırma sayfasında yatırma adresinizi alın
Oturum açın, yatırma adresinizi almak için Faturalandırma sayfasını açın ve hesabınız için gösterilen yatırma adresini ve token ayrıntılarını kullanın. Fon transfer etmeden önce GET /v1/topup/status adresinden güncel ağları, tokenları ve minimum depozitoyu kontrol edin.
API key güvenliği ve sunucu tarafı gereksinimi
x-api-key başlığı yalnızca sunucu tarafı ortamlarından çağrılabilir. Bakiye yükleme uç noktalarını asla istemci tarafı tarayıcı kodundan çağırmayın ve API key'inizi asla ön uç paketlerinde, herkese açık depolarda veya AI sohbet konuşmalarında açığa çıkarmayın.
Ön koşullar
- Mevcut API key: Kimlik doğrulamalı bakiye yükleme uç noktalarını çağırmak, aktif bir BlockVectra RPC API key gerektirir. Henüz bir API key'iniz yoksa, bir Ethereum cüzdan imzası kullanarak kaydolmak ve bir anahtar oluşturmak için Programatik kayıt rehberini takip edin veya Konsol'da bir anahtar oluşturun.
- Zincir üstü varlıklar: Agent ortamınız veya fonlama cüzdanınız, desteklenen bir ağda
GET /v1/topup/statustarafından listelenen USDC / USDT / USDG varlıklarını ve işlemleri yayınlamak için yeterli yerel gas tokenlarını bulundurmalıdır. - Ortam değişkeni: Anahtarınızı
BLOCKVECTRA_API_KEYortam değişkeninde saklayın.
Kimlik doğrulamalı bakiye yükleme uç noktaları, RPC çağrıları için kullanılan API key'in aynısını kullanarak doğrudan x-api-key başlığını kabul eder. Tarayıcı oturumu gerekmez.
Dört adımlı bakiye yükleme iş akışı
İlk ücretli bakiye yüklemesi yansıtıldığında, ücretsiz döngü yenilemeleri durur, kullanılmayan ücretsiz krediler kullanılabilir kalır ve hesap düzeyindeki çağrı hızı sınırı kaldırılır; anahtar başına hız sınırları değişmeden kalır. Fiyatlandırma kurallarına ve ücretsiz plan kurallarına bakın; güncel sınırları ve minimum yükleme tutarını GET /v1/plans üzerinden okuyun (free, key_defaults ve pricing.min_topup_usd).
Bakiye yükleme uç noktaları (durum, yatırma adresi ve depozitolar) üretim API sunucusunu kullanır:
https://api.blockvectra.comPlan sınırları ve fiyatlandırma parametreleri Console API tarafından https://console-api.blockvectra.com adresinden sunulur (GET https://console-api.blockvectra.com/v1/plans gibi).
1. Kullanılabilirliği kontrol edin (GET /v1/topup/status)
Bir transfer başlatmadan önce genel bakiye yükleme durumunu doğrulayın, hangi ağların ve tokenların açık olduğunu kontrol edin ve aktif minimum depozito eşiğini okuyun. Bu uç nokta herkese açıktır ve kimlik bilgisi gerektirmez.
curl -s https://api.blockvectra.com/v1/topup/statusÖrnek yanıt (seçilen ağlar ve tokenlar):
{
"enabled": true,
"networks": [
{
"network": "base_mainnet",
"chain_id": 8453,
"token": "USDC",
"enabled": true
},
{
"network": "bsc_mainnet",
"chain_id": 56,
"token": "USDT",
"enabled": true
},
{
"network": "bsc_mainnet",
"chain_id": 56,
"token": "USDC",
"enabled": true
}
]
}enabled: Genel anahtar.falseise tüm ağlarda bakiye yükleme kapalıdır.networks: Ağ ve token başına açık olma durumu. Bir ağ veya token içinenabledfalseolduğunda, bu ağda fon transferi yapmayın.min_deposit_usd: USD cinsinden 6 ondalık basamakla biçimlendirilmiş küresel minimum depozito tutarı. Minimum depozito eşiği dinamiktir: her zamanGET https://api.blockvectra.com/v1/topup/statustarafından gerçek zamanlı döndürülenmin_deposit_usddeğerini esas alın.
Aktif min_deposit_usd değerini doğrudan okumak için:
curl -s https://api.blockvectra.com/v1/topup/status | jq -r .min_deposit_usd2. Yatırma adresini ve parametreleri alın (GET /v1/topup/deposit-address)
Müşteri EVM yatırma adresini alın veya tahsis edin ve desteklenen ağları ile token sözleşmelerini inceleyin. Bu uç nokta x-api-key kimlik doğrulaması gerektirir ve yalnızca sunucu tarafı ortamlarından çağrılmalıdır.
curl -s \
-H "x-api-key: $BLOCKVECTRA_API_KEY" \
https://api.blockvectra.com/v1/topup/deposit-addressÖrnek yanıt (seçilen ağlar ve tokenlar):
{
"address": "0x<your-dedicated-deposit-address>",
"deposits_url": "https://api.blockvectra.com/v1/topup/deposits",
"networks": [
{
"chain": "base_mainnet",
"chain_id": 8453,
"name": "Base",
"typical_credit_seconds": 30,
"explorer_tx_url": "https://basescan.org/tx/{tx_hash}",
"tokens": [
{
"symbol": "USDC",
"contract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"decimals": 6,
"min_amount_raw": "1000000"
}
]
},
{
"chain": "bsc_mainnet",
"chain_id": 56,
"name": "BNB Smart Chain",
"typical_credit_seconds": 60,
"explorer_tx_url": "https://bscscan.com/tx/{tx_hash}",
"tokens": [
{
"symbol": "USDT",
"contract": "0x55d398326f99059fF775485246999027B3197955",
"decimals": 18,
"min_amount_raw": "1000000000000000000"
},
{
"symbol": "USDC",
"contract": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
"decimals": 18,
"min_amount_raw": "1000000000000000000"
}
]
}
]
}address: Hesabınıza özel, EIP-55 sağlama toplamlı EVM yatırma adresi.deposits_url: Müşteri bakiye yükleme kayıtlarını sorgulama URL'si.networks: Açık EVM ağlarının listesi. Kapalı ağlar hariç tutulur. Zincir slug'ıchain, EVM zincir kimliğichain_id, görünen adname, blok onayından sonra saniye cinsinden tipik yansıma gecikmesitypical_credit_secondsve blok gezgini işlem URL şablonuexplorer_tx_urlalanlarını içerir.tokens: Bu ağdaki tokenlar; token sembolüsymbol(USDC / USDT / USDG), sözleşme adresicontract, token ondalık basamak sayısıdecimalsve ham atomik birimler cinsinden minimum depozito tutarımin_amount_raw(uç nokta tarafından döndürülen gerçek değere bakın; ölçeklendirilmiş bir miktar varsaymayın) dahildir.
Token ondalık basamakları ve miktar dönüşümü
Aynı token farklı zincirlerde farklı ondalık basamaklara sahip olabilir (örneğin, BSC üzerindeki USDT ve USDC 18 basamaklıyken, Base üzerindeki USDC 6 basamaklıdır). Miktar hesaplaması, tek bir token ondalık değerini sabit kodlamak yerine o belirli ağ için döndürülen decimals değerini kullanmalıdır.
Hata yanıtları
Kimlik doğrulamalı bakiye yükleme uç noktaları (/v1/topup/deposit-address ve /v1/topup/deposits) standart JSON hata yapıları döndürür:
- HTTP 401 (Kimlik doğrulama hatası):
x-api-keybaşlığı eksik olduğunda (missing_api_key) veya anahtar geçersiz, iptal edilmiş ya da devre dışı bırakılmış olduğunda (invalid_api_key) döndürülür:
{
"error": {
"code": "missing_api_key",
"message": "missing API key: send it in the x-api-key header",
"data": {
"reason": "missing_api_key",
"docs_url": "https://docs.blockvectra.com/en/errors/#missing_api_key",
"retryable": false
}
}
}- HTTP 409 (Bakiye yükleme devre dışı): Genel olarak veya tüm ağlarda bakiye yükleme kapalı olduğunda (
topup_disabled) döndürülür:
{
"error": {
"code": "topup_disabled",
"data": {
"reason": "topup_disabled",
"docs_url": "https://docs.blockvectra.com/en/errors/#topup_disabled",
"retryable": false
}
}
}Hata kodlarının tam listesi için Hata Referansı sayfasına bakın.
3. Zincir üstü transferi yayınlayın
Agent'ınızın cüzdanını veya betiğini kullanarak, 2. Adımda alınan yatırma adresine (address) bir ERC-20 transfer işlemi gönderin.
Transfer gereksinimleri:
- Yalnızca ilgili ağ için
tokensdizisinde listelenen tokenları ve sözleşmeleri gönderin. - Transfer miktarının, o ağdaki token
decimalsdeğerine göre biçimlendirilmiş olarakmin_amount_rawdeğerine eşit veya bu değerden büyük olduğundan emin olun (GET /v1/topup/deposit-addresstarafından döndürülen gerçek değere veyaGET /v1/topup/statustarafından döndürülenmin_deposit_usddeğerine tabidir). - Desteklenmeyen zincirlere veya yanlış tokenlarla gönderilen transferler otomatik olarak bakiyeye yansıtılamaz; yayınlamadan önce ağı ve token sözleşmesini doğrulayın.
- Gönderildikten sonra zincir üstü işlem karmasını (
tx_hash) kaydedin.
4. Depozito kayıtlarını sorgulayın ve bakiyeyi doğrulayın (GET /v1/topup/deposits)
İşlem bir bloğa dahil edildikten sonra, bakiye yansıma durumunu izlemek için bakiye yükleme transfer geçmişini sorgulayın. Bu uç nokta x-api-key gerektirir ve yalnızca sunucu tarafı içindir.
Sorgu parametreleri
limit: Sayfa başına döndürülecek depozito kaydı sayısı. Varsayılan20'dir, geçerli aralık1–100arasındadır.before:deposit_iddeğerine dayalı imleç sayfalama parametresi. Daha önceki kayıtların sonraki sayfasını getirmek için önceki sayfa yanıtındakinext_beforedeğerini iletin.tx_hash: Belirli bir transferi filtrelemek için isteğe bağlı, 0x ön ekli 64 karakterlik onaltılık işlem karması.
Belirli transferinizi incelemek için işlem karmasına (tx_hash) göre filtreleyin:
curl -s \
-H "x-api-key: $BLOCKVECTRA_API_KEY" \
"https://api.blockvectra.com/v1/topup/deposits?tx_hash=0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890"Örnek yanıt:
{
"items": [
{
"deposit_id": 42,
"chain": "base_mainnet",
"chain_id": 8453,
"token": "USDC",
"contract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "25.000000",
"tx_hash": "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890",
"tx_log_ordinal": 0,
"block_number": 123456789,
"external_ref": "eip155:8453:0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890:0",
"status": "credited",
"reason": null,
"credited_units": 250000,
"credited_cu": 250000000,
"detected_at": "2026-10-02T10:00:00Z"
}
],
"next_before": null
}items: Sorgu parametreleriyle eşleşen depozito kayıtları dizisi.next_before: Daha fazla kayıt olduğunda sonraki sayfa için imleç kimliği; daha eski kayıt yoksanull. İmleç tabanlı sayfalama içinbeforesorgu parametresiyle birleştirin.
Depozito status değerleri:
processing: Transfer zincir üzerinde algılandı, bakiyeye yansıtma devam ediyor.credited: Hesap bakiyesine yansıtıldı.credited_unitsvecredited_cu, hesaba eklenen tutarları belirtir.not_credited: Transfer bakiyeye yansıtılamıyor.reasonalanı nedeni belirtir:below_minimum: Depozito miktarı minimum eşiğin altında.large_amount: Depozito miktarı eşiği aşıyor ve manuel inceleme gerektiriyor.other: Diğer bakiye yansıtma istisnası.
Yansıma gecikmesi ve sorgulama rehberi:
- Varış ve bakiyeye yansıma süresi: Yansıma süresi, 2. Adımda döndürülen
typical_credit_secondsdeğerine tabidir. - Sorgulama aralığı: Hız sınırlarını tetiklemekten kaçınmak için daha sık değil, her 20–60 saniyede bir önerilen aralıkla sorgulayın.
Kod örnekleri
Aşağıdaki örnekler, ortamdan BLOCKVECTRA_API_KEY değerinin nasıl okunacağını ve Node.js ile Python'da bakiye yükleme uç noktalarının nasıl sorgulanacağını gösterir.
Node.js (fetch)
import process from "node:process";
const apiKey = process.env.BLOCKVECTRA_API_KEY;
if (!apiKey) {
throw new Error("Missing BLOCKVECTRA_API_KEY environment variable");
}
const BASE_URL = "https://api.blockvectra.com";
// 1. Check availability and read minimum deposit threshold
const statusRes = await fetch(`${BASE_URL}/v1/topup/status`);
const status = await statusRes.json();
if (!status.enabled) {
throw new Error("Top-up is currently disabled");
}
const minDepositUsd = status.min_deposit_usd;
console.log("Minimum deposit (USD):", minDepositUsd);
// 2. Retrieve deposit address and open networks
const addressRes = await fetch(`${BASE_URL}/v1/topup/deposit-address`, {
headers: { "x-api-key": apiKey },
});
if (addressRes.status === 401) {
throw new Error("Missing or invalid API key (HTTP 401)");
}
if (addressRes.status === 409) {
throw new Error("Top-up is disabled (topup_disabled)");
}
if (!addressRes.ok) {
throw new Error(`Failed to retrieve deposit address: ${addressRes.status}`);
}
const depositData = await addressRes.json();
console.log("Deposit address:", depositData.address);
console.log("Open networks count:", depositData.networks.length);
// 3. Poll deposit status
async function checkDepositStatus(txHash) {
const url = new URL(`${BASE_URL}/v1/topup/deposits`);
url.searchParams.set("tx_hash", txHash);
const res = await fetch(url, {
headers: { "x-api-key": apiKey },
});
if (res.status === 401) {
throw new Error("Missing or invalid API key (HTTP 401)");
}
if (!res.ok) {
throw new Error(`Failed to query deposits: ${res.status}`);
}
return res.json();
}Python (requests)
# pip install requests
import os
import requests
api_key = os.environ.get("BLOCKVECTRA_API_KEY")
if not api_key:
raise ValueError("Missing BLOCKVECTRA_API_KEY environment variable")
base_url = "https://api.blockvectra.com"
# 1. Check availability and read minimum deposit threshold
resp = requests.get(f"{base_url}/v1/topup/status", timeout=10)
resp.raise_for_status()
status_data = resp.json()
if not status_data.get("enabled"):
raise RuntimeError("Top-up is currently disabled")
min_deposit_usd = status_data.get("min_deposit_usd")
print("Minimum deposit (USD):", min_deposit_usd)
# 2. Retrieve deposit address
resp = requests.get(
f"{base_url}/v1/topup/deposit-address",
headers={"x-api-key": api_key},
timeout=10,
)
if resp.status_code == 401:
raise RuntimeError("Missing or invalid API key (HTTP 401)")
if resp.status_code == 409:
raise RuntimeError("Top-up is disabled (topup_disabled)")
resp.raise_for_status()
deposit_data = resp.json()
print("Deposit address:", deposit_data["address"])
# 3. Poll deposit status
def check_deposit_status(tx_hash: str):
resp = requests.get(
f"{base_url}/v1/topup/deposits",
headers={"x-api-key": api_key},
params={"tx_hash": tx_hash},
timeout=10,
)
if resp.status_code == 401:
raise RuntimeError("Missing or invalid API key (HTTP 401)")
resp.raise_for_status()
return resp.json()Sonraki adımlar
- Bakiye sorgulayın (
GET /v1/account) ile hesap bakiyenizi ve kalan Compute Units (CU) miktarınızı doğrulayın. - Compute Unit (CU) ölçümü, hız sınırları ve faturalandırılmayan hataları incelemek için Faturalandırma kuralları sayfasına bakın.
- Ücretsiz katman sınırlarını ve yükseltme kurallarını incelemek için Ücretsiz plan rehberi sayfasına bakın.
- Cüzdan imzalarını kullanarak hesap oluşturmak ve API key temin etmek için Programatik kayıt rehberi sayfasına bakın.
Son güncelleme:
Agent çerçevesi tarifleri
ElizaOS, viem, wagmi ve Coinbase AgentKit için blokzincir RPC yapılandırın ve belge MCP'si aracılığıyla yetenekleri keşfedin.
AI Agent'ları bağlayın
AI Agent'ları blokzincir RPC ve belge MCP'sine bağlayın: yetenekleri anahtarsız keşfedin, HTTP üzerinden kaydolun, ardından bir API key ile RPC ve Data API çağırın.