# Hata Referansı

> Source: https://docs.blockvectra.com/tr/errors/

Bu referans, reddedilen bir çağrının faturalandırılıp faturalandırılmadığı, yeniden deneme politikaları, bekleme süreleri (backoff) ve yapay zeka ajanları ile otomatik istemciler için önerilen eylemler dahil olmak üzere BlockVectra hizmetlerindeki tüm hata kodlarını ve makine tarafından okunabilir `reason` değerlerini belgeler.

Makine tarafından okunabilir kullanım için kataloğun tamamını [/errors.json](https://docs.blockvectra.com/errors.json) adresinden JSON olarak alın. `docs_url` taşıyan her hata yanıtı, doğrudan bu sayfadaki kararlı bir bağlantı noktasına bağlanır: `https://docs.blockvectra.com/en/errors/#<reason>` (veya bir neden kodu bulunmayan hatalar için `#-<code-number>`).

### JSON-RPC hataları



| HTTP | Kod | Reason | Anlam | Faturalandırılır | Yeniden denenebilir | Bekleme Süresi (Retry-After) | Agent Eylemi |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 401 | -32024 | `missing_api_key` | `API key eksik: istek yolunda (/v1/{chain}/<api_key>) veya x-api-key başlığında gönderin` | Hayır | Hayır | — | JSON-RPC uç noktaları (/v1/{chain}) için, istek yolunda (/v1/{chain}/<api_key>) veya x-api-key başlığında API key sağlayın. Top-up API (/v1/topup/*) için API key'i yalnızca x-api-key başlığında sağlayın. |
| 401 | -32024 | `invalid_api_key` | `Bilinmeyen, devre dışı bırakılmış veya iptal edilmiş API key: JSON-RPC ve Data API'nin her ikisi de bir invalid_api_key hata zarfıyla HTTP 401 döndürür (JSON-RPC: error.code -32024 ve error.data.reason invalid_api_key; Data API: error.code ve error.data.reason invalid_api_key).` | Hayır | Hayır | — | API key'i kontrol edin; gerekirse yeni bir key oluşturmak için konsolda veya programatik kayıt yoluyla yeniden oturum açın (bkz. [Oturumunuzu veya API key'inizi mi kaybettiniz?](https://docs.blockvectra.com/en/guides/programmatic-signup/#lost-your-session-or-api-key)). |
| 403 | -32025 | `key_expired` | `API key'in süresi doldu; konsolda yeni bir key oluşturun` | Hayır | Hayır | — | API key'in süresi doldu; konsolda veya programatik kayıt yoluyla yeni bir key oluşturun. |
| 403 | -32025 | `key_cap_exhausted` | `API key yaşam boyu CU üst sınırı tükendi; konsolda yeni bir key oluşturun` | Hayır | Hayır | — | API key yaşam boyu CU üst sınırı tükendi; konsolda veya programatik kayıt yoluyla yeni bir key oluşturun. |
| 503 | -32021 | `auth_unavailable` | `Kimlik doğrulama verileri geçici olarak kullanılamıyor` | Hayır | Evet | Retry-After başlığına (saniye) uyun | Sunucu geçici olarak key'leri doğrulayamıyor; bu durum key'inizle ilgili bir sorun değildir. Retry-After süresince bekledikten sonra tekrar deneyin; **key'i yeniden oluşturmayın**. |
| 404 | -32600 | `unknown_chain` | `Bilinmeyen zincir` | Hayır | Hayır | — | Kullanılabilir zincirleri GET /v1/chains veya list_chains aracı üzerinden kontrol edin; URL yolunu doğrulayın. |
| 404 | 404 | `unknown_endpoint` | `Data API metodu ve yolu bilinen bir işlemle eşleşmiyor` | Hayır | Hayır | — | Metodu ve URL yolunu Data API belgelerine göre doğrulayın. |
| 200 | -32700 | `parse_error` | `JSON ayrıştırma hatası` | Hayır | Hayır | — | Gövdeyi göndermeden önce istek gövdesindeki geçerli JSON sözdizimini doğrulayın. |
| 200 | -32600 | `invalid_request` | `Geçersiz istek` | Hayır | Hayır | — | İstek yapısını inceleyin; yeniden göndermeden önce jsonrpc: '2.0', id ve method alanlarını doğrulayın. |
| 200 | -32602 | `invalid_params` | `İzleyiciye (tracer) izin verilmiyor` | Hayır | Hayır | — | Metot parametrelerini ayarlayın; zincir için desteklenen izleyicileri ve zaman aşımı sınırlarını kontrol edin. |
| 200 | -32602 | `logs_range_too_large` | `eth_getLogs blok aralığı çok büyük: maksimum <N> blok` | Hayır | Hayır | — | Sorgu blok aralığını GET /v1/chains içinde belirtilen max_logs_block_range sınırına daraltın. |
| 429 | -32005 | `public_rate_limit` | `Genel istek hız sınırı aşıldı` | Hayır | Evet | Retry-After başlığına (saniye) uyun | Retry-After başlığını bekleyip tekrar deneyin; veya isteği bir API key ile gönderin. [API key al](https://blockvectra.com/en/get-api-key/?ref=err-public). |
| 429 | -32005 | `public_pool_busy` | `Genel zincir havuzu meşgul` | Hayır | Evet | Retry-After başlığına uyun veya birkaç saniye bekleyip geri çekilme ile tekrar deneyin | Geri çekilme ile tekrar deneyin veya isteği bir API key ile gönderin. [API key al](https://blockvectra.com/en/get-api-key/?ref=err-public). |
| 200 | -32601 | `method_not_public` | `Metot genel uç noktada kullanılamıyor` | Hayır | Hayır | — | Genel uç noktanın desteklediği bir metot kullanın veya isteği bir API key ile gönderin. [API key al](https://blockvectra.com/en/get-api-key/?ref=err-public). |
| 200 | -32601 | `method_not_allowed` | `Metot bu zincirde kullanılamıyor veya politika tarafından devre dışı bırakıldı` | Hayır | Hayır | — | Desteklenen metotlar için GET /v1/chains içindeki methods.allow ve methods.deny alanlarını kontrol edin. İşlem gönderme desteği GET /v1/chains içindeki methods.allow tarafından belirlenir. İşlem gönderme şu anda şunlarda desteklenmemektedir: HyperEVM. |
| 200 | -32601 | `subscription_not_available` | `WebSocket aboneliği bu zincirde sunulmuyor` | Hayır | Hayır | — | Bu zincir için kullanılabilir abonelikleri GET /v1/chains üzerinden kontrol edin. |
| 200 | -32602 | `logs_filter_required` | `logs aboneliği bir adres veya topic0 gerektirir (ilk topic konumunda null olmayan bir değer)` | Hayır | Hayır | — | logs filtresinde bir adres veya null olmayan bir topic0 belirtin. |
| 200 | -32600 | `batch_too_large` | `Toplu istek çok büyük: maksimum <N> çağrı` | Hayır | Hayır | — | Toplu isteği, hata verisinde belirtilen maksimum çağrı sınırını karşılayan daha küçük parçalara bölün. |
| 413 | 413 | `request_too_large` | `Data API istek gövdesi boyut sınırını aşıyor` | Hayır | Hayır | — | İstek gövdesi boyutunu küçültün. |
| 200 | -32000 | `not_found` | `İşlem bulunamadı` | Hayır | Hayır | — | Yeni gönderildiyse veya yeni kazıldıysa ağ yayılımını bekleyip tekrar deneyin; aksi takdirde blok numarasını veya hash'i kontrol edin. |
| 200 | -32011 | `state_window` | `En son <N> blok dışındaki geçmiş durum kullanılamıyor` | Hayır | Hayır | — | GET /v1/chains içinde bildirilen state_window_blocks dahilindeki blokları sorgulayın veya geçmiş veriler için Data API kullanın. |
| 200 | -32011 | `range_not_indexed` | `İstenen geçmiş henüz tamamen dizine eklenmedi` | Hayır | Hayır | — | İstenen geçmişi dizine eklenmiş bir aralığa daraltın; kapsanmayan aynı aralığı değiştirmeden tekrar denemeyin. |
| 200 | -32011 | `history_not_ready` | `İstenen geçmiş henüz hazır değil` | Hayır | Evet | Dizine eklemenin yetişmesini bekleyin; varsa error.data.retry_after_seconds değerine uyun | Dizine ekleme yetiştikten sonra tekrar deneyin, belirtilmişse error.data.retry_after_seconds süresince bekleyin. |
| 429 | -32005 | `key_rate_limit` | `API key CU hız sınırı aşıldı` | Hayır | Evet | Retry-After başlığına (saniye) uyun | Tekrar denemeden önce Retry-After başlığında belirtilen süre kadar bekleyin veya yükü dağıtın. |
| 429 | rate_limited | `rate_limited` | `API veya GET /v1/account üzerinde istek hız sınırı aşıldı (bu key için saniyede 5'ten fazla istek)` | Hayır | Evet | Retry-After başlığına (saniye) uyun | Tekrar denemeden önce Retry-After içindeki süre kadar bekleyin. |
| 429 | -32005 | `concurrency_limit` | `Eşzamanlılık sınırı aşıldı` | Hayır | Evet | Retry-After başlığına uyun veya etkin çağrıların tamamlanmasını bekleyin | İstemci eşzamanlılık havuzu boyutunu sınırlayın ve boşalan yuvalarla tekrar deneyin. |
| 429 | -32005 | `free_plan_call_limit` | `Ücretsiz plan saniye başına çağrı sınırı aşıldı` | Hayır | Evet | Tekrar denemeden önce 1 saniye bekleyin | İstek hızını düşürün veya ücretli katman işlem hacmini açmak için bakiye yükleyin. |
| 429 | -32022 | `request_exceeds_burst` | `İstek maliyeti <N> CU, ani artış (burst) kapasitesi olan <M> CU sınırını aşıyor` | Hayır | Hayır | — | Beklemek başarılı olmayacaktır; toplu isteği bölün veya ani artış kapasitesine sığacak şekilde metot parametrelerini düşürün. |
| 429 | -32022 | `free_plan_batch_too_large` | `İstek <N> çağrı içeriyor, ücretsiz planın saniyede <M> çağrı sınırını aşıyor` | Hayır | Hayır | — | Beklemek başarılı olmayacaktır; çağrı sayısının ücretsiz plan sınırı içinde kalması için toplu isteği bölün veya bakiye yükleyin. |
| 429 | -32005 | `ws_connection_limit` | `Bu key veya hesap için WebSocket bağlantı sınırına ulaşıldı` | Hayır | Hayır | — | Kullanılmayan bir WebSocket bağlantısını kapatın veya mevcut bir bağlantıyı yeniden kullanın. |
| 200 | -32022 | `subscription_limit` | `Bu bağlantı için WebSocket abonelik sınırına ulaşıldı` | Hayır | Hayır | — | Mevcut bir aboneliği iptal edin veya başka bir bağlantı açın. |
| 200 | -32005 | `ws_filter_capacity` | `WebSocket logs filtreleri tam kapasiteye ulaştı` | Hayır | Hayır | — | Mevcut bir logs aboneliğini iptal edin veya daha dar bir filtre kullanın. |
| 200 | -32026 | `ws_push_overloaded` | `WebSocket bildirim kuyruğu aşırı yüklendi` | Hayır | Evet | Geri çekilme ile daha sonra tekrar deneyin veya yeniden bağlanın | eth_subscribe işlemini üstel geri çekilme ile tekrar deneyin veya yeniden bağlanın. Mevcut abonelikler bildirim almaya devam eder. |
| 200 | -32005 | `overloaded` | `Hizmet aşırı yüklendi, lütfen daha sonra tekrar deneyin` | Hayır | Evet | Birkaç saniye bekleyin ve üstel geri çekilme ile tekrar deneyin | Jitter ile geri çekilin ve isteği tekrar deneyin. |
| 402 | -32020 | `balance_exhausted` | `Yetersiz bakiye (bakiye bilindiğinde error.data balance_units ve balance_cu içerir)` | Hayır | Hayır | — | Zincir üstünde bakiye yükleyin: para yatırma adresinizi Konsol'dan veya `GET /v1/topup/deposit-address` (MCP `get_deposit_address`) üzerinden alın; [agent bakiye yükleme rehberine](https://docs.blockvectra.com/en/guides/agent-topup/) bakın veya uygunsa konsolda kota sıfırlamayı kullanın. Bakiye bilindiğinde error.data balance_units (aşım durumunda negatif) ve balance_cu taşır. |
| 402 | -32020 | `free_grant_exhausted` | `Ücretsiz hibe tükendi (bakiye bilindiğinde error.data balance_units ve balance_cu içerir)` | Hayır | Hayır | — | Zincir üstünde bakiye yükleyin: para yatırma adresinizi Konsol'dan veya `GET /v1/topup/deposit-address` (MCP `get_deposit_address`) üzerinden alın; [agent bakiye yükleme rehberine](https://docs.blockvectra.com/en/guides/agent-topup/) bakın, varsa kota sıfırlamayı kullanın veya bir sonraki döngü hibesini bekleyin. Bakiye bilindiğinde error.data balance_units (aşım durumunda negatif) ve balance_cu taşır. |
| 503 | -32021 | `billing_unavailable` | `Faturalandırma verileri geçici olarak kullanılamıyor` | Hayır | Evet | Retry-After başlığına (saniye) uyun | Bu bir bakiye sorunu değildir; yeni oluşturulan key'ler birkaç saniye içinde senkronize olur. Retry-After süresince bekleyin ve tekrar deneyin. |
| 200 | -32010 | `node_syncing` | `Node senkronize ediliyor; çağrılar geçici olarak kullanılamıyor` | Hayır | Evet | Birkaç saniye bekleyin ve tekrar deneyin | Node senkronizasyonunun bitmesini bekleyin veya GET /v1/status kontrol edin. |
| 200 | -32603 | `upstream_unavailable` | `Upstream hizmet kullanılamıyor` | Hayır | Evet | Birkaç saniye bekleyin ve tekrar deneyin | Üstel geri çekilme ile tekrar deneyin; node sağlığı için GET /v1/status kontrol edin. |
| 504 | 504 | `upstream_timeout` | `Upstream hizmet zaman sınırı içinde yanıt vermedi` | Hayır | Evet | Kısa bir gecikmeden sonra tekrar deneyin | İsteği üstel geri çekilme ile tekrar deneyin. |
| 200 | -32000 | `response_too_large` | `Upstream yanıtı çok büyük` | Hayır | Hayır | — | Sorgu parametrelerini daraltın (ör. eth_getLogs içindeki blok aralığını azaltın veya daha küçük izler isteyin). |
| 200 | -32603 | `internal_error` | `Dahili hizmet hatası` | Hayır | Hayır | — | İsteği tekrar deneyin; kalıcı arızaları zaman damgasıyla birlikte desteğe bildirin. |
| 200 | 4444 | — | `Budanmış geçmiş kullanılamıyor` | Hayır | Hayır | — | Blok, node'un budanmış geçmiş penceresinin dışındadır; geçmiş blokları Data API aracılığıyla sorgulayın. |
| 200 | -32000 | — | `Geçmiş durum kullanılamıyor; eski veriler budanmış olduğundan erişilemiyor` | Hayır | Hayır | — | Durum penceresi içindeki blokları sorgulayın veya geçmiş sorgular için Data API kullanın. |
| 200 | -32002 | — | `<node message>` | Hayır | Evet | Birkaç saniye bekleyin ve daha küçük bir toplu işlemle tekrar deneyin | Toplu işlemdeki çağrı sayısını azaltın ve tekrar deneyin. |
| 200 | -32003 | — | `<node message>` | Hayır | Hayır | — | Yanıt yükü boyutunu azaltmak için toplu işlemi daha küçük isteklere bölün. |
| 200 | -32601 | — | `<node message>` | Hayır | Hayır | — | Desteklenen metotlar için GET /v1/chains içindeki methods.allow ve methods.deny alanlarını kontrol edin. İşlem gönderme desteği GET /v1/chains içindeki methods.allow tarafından belirlenir. İşlem gönderme şu anda şunlarda desteklenmemektedir: HyperEVM. |
| 200 | -32603 | — | `<node message>` | Hayır | Evet | Kısa bir gecikmeden sonra tekrar deneyin | İsteği tekrar deneyin; kalıcı arızaları zaman damgasıyla birlikte desteğe bildirin. |
| 200 | -32600 | — | `<node message>` | Hayır | Hayır | — | Toplu işlemdeki bağımsız istekleri uyumsuz parametreler açısından inceleyin; bölün ve tekrar deneyin. |
| 200 | * | — | `<node message>` | Evet | Hayır | — | Node hesaplama yaptı ve faturalandırıldı. Geri alma (revert) nedenini/verisini veya çağrı parametrelerini inceleyin; körü körüne tekrar denemeyin. |
| 408 | 408 | — | `İstek başlığının tamamlanması ile yanıt arasında 35 saniye sonra istek zaman aşımına uğradı` | Olası | Evet | Okuma çağrılarını yeniden denemeden önce birkaç saniye bekleyin | Çağrılar node'a ulaşmış olabilir ve faturalandırılabilir. Okuma çağrıları için geri çekilme ile tekrar deneyin. Yazma çağrıları için (ör. eth_sendRawTransaction), önce hash ile işlem durumunu kontrol edin. |

### WebSocket Kapanış Kodları

WebSocket bağlantı kapanış kodları ve önerilen istemci eylemleri.

| Kod | Reason | Anlam | Yeniden denenebilir | Bekleme Süresi (Retry-After) | Agent Eylemi |
| --- | --- | --- | --- | --- | --- |
| 1001 | — | `bağlantı boşta (idle)` | Evet | Gerektiğinde yeniden bağlanın | Gerektiğinde yeniden bağlanın. |
| 1003 | — | `ikili (binary) çerçeveler kabul edilmez` | Hayır | — | Otomatik olarak yeniden bağlanmayın; yalnızca UTF-8 metin çerçeveleri gönderin. |
| 1009 | — | `mesaj çok büyük` | Hayır | — | Otomatik olarak yeniden bağlanmayın; 1 MiB altında kalmak için büyük istekleri bölün. |
| 1012 | — | `hizmet yeniden başlatılıyor` | Evet | Jitter uygulanmış geri çekilme ile yeniden bağlanın | Jitter uygulanmış geri çekilme ile yeniden bağlanın, tekrar abone olun ve kaçırılan verileri geriye dönük tamamlayın. |
| 1013 | — | `zincir kullanılamıyor; aşırı yüklü` | Evet | Üstel tam jitter geri çekilme ile yeniden bağlanın | Üstel tam jitter geri çekilme ile yeniden bağlanın, tekrar abone olun ve kaçırılan verileri geriye dönük tamamlayın. |
| 4402 | — | `yetersiz bakiye` | Hayır | — | Otomatik olarak yeniden bağlanmayın; zincir üstünde bakiye yükleyin: para yatırma adresinizi Konsol'dan veya `GET /v1/topup/deposit-address` (MCP `get_deposit_address`) üzerinden alın; [agent bakiye yükleme rehberine](https://docs.blockvectra.com/en/guides/agent-topup/) bakın veya uygunsa konsolda kota sıfırlamayı kullanın. |
| 4404 | — | `geçersiz API key` | Hayır | — | Otomatik olarak yeniden bağlanmayın; konsolda API key'i doğrulayın veya döndürün (rotate). |
| 4408 | — | `Hizmet, push kuyruğu 512 KiB'yi (524.288 bayt) aşan bir oturumu kapatır ve bekleyen bildirimleri bırakır; istemciler bir kapanış çerçevesi almayabilir (tarayıcı 1006 bildirir); beklenmeyen bağlantı kesilmelerini 4408 gibi ele alın.` | Evet | Geri çekilme ile yeniden bağlanın; daha az şeye abone olun veya daha hızlı okuyun | İstemciler beklenmeyen bir bağlantı kesilmesini (kapanış çerçevesi alınmadı, tarayıcı 1006 bildirir) 4408 gibi ele almalıdır: geri çekilme ile yeniden bağlanın, abonelikleri yeniden oluşturun ve bırakılan verileri eth_getLogs ile geriye dönük tamamlayın; daha az şeye abone olun veya daha hızlı okuyun. |
| 4429 | — | `push hızı aşıldı` | Evet | Geri çekilme ile yeniden bağlanın veya abonelikleri azaltın | Abonelikleri azaltın veya geri çekilme ile yeniden bağlanın. |
| 4503 | — | `faturalandırma kullanılamıyor` | Evet | Üstel tam jitter geri çekilme ile yeniden bağlanın | Üstel tam jitter geri çekilme ile yeniden bağlanın ve tekrar abone olun. |

### Data API Hataları

/v1/data/{chain}/ altındaki Blockchain Data API uç noktaları tarafından döndürülen hatalar.

| HTTP | Kod | Reason | Anlam | Faturalandırılır | Yeniden denenebilir | Bekleme Süresi (Retry-After) | Agent Eylemi |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 400 | bad_request | — | `Yinelenen sorgu parametresi, geçersiz sorgu dizesi veya hatalı biçimlendirilmiş istek` | Hayır | Hayır | — | Sorgu parametrelerini kontrol edin; limit gibi parametrelerin en fazla bir kez yer aldığından ve sorgu parametrelerinin geçerli olduğundan emin olun. |
| 409 | not_indexed_yet | — | `İstenen blok numarası veya pencere as_of_block'un üzerinde ya da hash as_of_block'un üzerinde çözümleniyor (zincirin dizine eklenmiş bloğu olmaması durumu hariç indexed_through içerir)` | Hayır | Evet | indexed_through istenen bloğa ulaşana kadar birkaç saniye bekleyin | İstenen blok veya to_block değeri indexed_through değerine eşit veya altında olana kadar yoklayın (poll) ya da zincirin blok yazmaya başlamasını bekleyin. |
| 409 | window_too_large | — | `Blok penceresi 100.000'den fazla bloğu kapsıyor ve clamp parametresi true olarak ayarlanmamış` | Hayır | Hayır | — | Blok aralığını (from_block ile to_block arası) <= 100.000 blok olacak şekilde daraltın veya clamp=true geçirin. |
| 409 | too_many_pools | — | `Token 200'den fazla likidite havuzuyla eşleşiyor; bunun yerine havuz boyutuna göre sorgulayın` | Hayır | Hayır | — | Token için tüm havuzları sorgulamak yerine belirli bir havuz adresine göre sorgulayın. |
| 409 | span_exceeded | — | `İstenen tarih aralığı 90 günlük maksimum sınırı aşıyor` | Hayır | Hayır | — | from_time ile to_time arasındaki tarih aralığını 90 gün içine sığacak şekilde daraltın. |
| 422 | no_coverage | — | `Özellik bu zincirde desteklenmiyor veya istenen blok veri kapsam penceresinden önce` | Hayır | Hayır | — | Sorgulamadan önce GET /v1/data/chains içindeki `features` ve `coverage.from_block` (veya ücretsiz GET /v1/status içindeki `data_features`) alanlarını kontrol edin. |
| 503 | unavailable | — | `Data API hizmeti geçici olarak kullanılamıyor` | Hayır | Evet | Birkaç saniye bekleyin ve üstel geri çekilme ile tekrar deneyin | Kısa bir gecikmeden sonra üstel geri çekilme ile tekrar deneyin. |
| 402 | insufficient_balance | — | `Ücretli bakiye veya ücretsiz hibe tükendi (bakiye bilindiğinde error.data balance_units ve balance_cu içerir)` | Hayır | Hayır | — | Zincir üstünde bakiye yükleyin: para yatırma adresinizi Konsol'dan veya `GET /v1/topup/deposit-address` (MCP `get_deposit_address`) üzerinden alın; [agent bakiye yükleme rehberine](https://docs.blockvectra.com/en/guides/agent-topup/) bakın veya ücretsiz ödeneğin yenilenmesini bekleyin. |
| 429 | cost_exceeds_burst | — | `Tek bir isteğin maliyeti key'in ani artış (burst) kapasitesinden daha fazla` | Hayır | Hayır | — | İsteği daha küçük parçalara bölün; gönderildiği haliyle yeniden denemek asla başarılı olmaz. |
| 503 | gateway_overloaded | — | `Data API kapasitesi geçici olarak kullanılamıyor` | Hayır | Evet | Geri çekilme ile tekrar deneyin (Retry-After: 1) | Bu hesabın key'leri ve zincirleri genelindeki eşzamanlı istekleri azaltın; yeniden denemeden önce Retry-After süresince bekleyin. error.data.reason null değerindedir. |

### Konsol, Hesap ve Faucet API Hataları

/v1/ altındaki yönetim, anahtar sağlama, kimlik doğrulama ve faucet uç noktaları tarafından döndürülen hatalar.

| HTTP | Kod | Reason | Anlam | Faturalandırılır | Yeniden denenebilir | Bekleme Süresi (Retry-After) | Agent Eylemi |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 409 | topup_disabled | — | `Bakiye yükleme duraklatıldı veya şu anda bakiye yükleme için uygun ağ yok; yeni adresler tahsis edilemez, ancak önceden tahsis edilmiş mevcut adresler hesapta kalmaya devam eder` | Hayır | Hayır | — | GET /v1/topup/status ile bakiye yükleme durumunu kontrol edin; bakiye yükleme etkinleştirildiğinde tekrar deneyin. |
| 503 | deposit_unavailable | — | `Geçici olarak para yatırma adresi tahsis edilemiyor; Retry-After başlığına göre tekrar deneyin` | Hayır | Evet | Retry-After başlığına (saniye) uyun ve üstel geri çekilme (exponential backoff) kullanın | Retry-After başlığına göre üstel geri çekilme ile tekrar deneyin. |
| 400 | invalid_request | `invalid_username` | `Kullanıcı adı biçimi geçersiz (alfasayısal veya alt çizgi olmalıdır)` | Hayır | Hayır | — | Karakter ve uzunluk gereksinimlerine uygun geçerli bir kullanıcı adı sağlayın. |
| 400 | invalid_request | `expires_at` | `Key son kullanma zamanı gelecekte değil veya izin verilen maksimum key geçerlilik süresini aşıyor` | Hayır | Hayır | — | expires_at değerini izin verilen geçerlilik süresi içinde (varsayılan 365 gün) gelecekteki bir RFC 3339 zaman damgasına ayarlayın veya expires_in_secs kullanın. |
| 400 | invalid_request | `cu_cap` | `cu_cap parametresi sınırların dışında (1 ile 9007199254740991 arasında bir tam sayı olmalıdır)` | Hayır | Hayır | — | cu_cap değerini 1 ile 9007199254740991 arasında bir tam sayı olacak şekilde ayarlayın veya sınırsız CU için boş bırakın. |
| 400 | siwe_invalid | `expired` | `Sign-In with Ethereum (SIWE) mesajının süresi doldu veya nonce zaten kullanıldı` | Hayır | Evet | Hemen yeni bir challenge alın ve imzalayın | /v1/auth/siwe/challenge üzerinden yeni bir challenge isteyin ve yeni verilen ifadeyi imzalayın. |
| 400 | siwe_invalid | `chain_mismatch` | `SIWE mesajındaki chainId sunucu ayarlarıyla eşleşmiyor` | Hayır | Hayır | — | SIWE mesajını oluştururken /v1/auth/siwe/challenge tarafından döndürülen chainId'yi kullanın. |
| 400 | siwe_invalid | `domain_mismatch` | `SIWE mesajındaki domain sunucu ana bilgisayarıyla eşleşmiyor` | Hayır | Hayır | — | domain ve uri değerlerinin challenge içinde döndürülen sunucu ana bilgisayarıyla eşleştiğinden emin olun. |
| 400 | siwe_invalid | `signature` | `SIWE şifreleme imzası doğrulaması başarısız oldu` | Hayır | Hayır | — | Mesajın belirtilen adrese karşılık gelen özel anahtarla imzalandığını doğrulayın. |
| 409 | key_limit_reached | `active_keys` | `Etkin (iptal edilmemiş) API key sayısı maksimum hesap sınırına ulaştı` | Hayır | Hayır | — | Yeni bir key oluşturmadan önce kullanılmayan mevcut bir key'i iptal edin. |
| 409 | no_reset_available | `nothing_to_reset` | `Bakiye zaten sıfırlama hedefinde veya üzerinde; sıfırlama hakkı saklı tutulur` | Hayır | Hayır | — | Şu anda sıfırlamaya gerek yok; bakiye tükendikten sonra sıfırlama hakkını kullanın. |
| 429 | rate_limited | `daily_creations` | `Hesabın 24 saatlik key oluşturma sınırına ulaşıldı` | Hayır | Evet | Retry-After başlığına (saniye) uyun | Yeni key'ler oluşturmak yerine mevcut key'leri döndürün (rotate) veya 24 saatlik pencerenin sıfırlanmasını bekleyin. |
| 429 | signup_rate_limited | `per_ip` | `İstemci IP alt ağı için kayıt olma hız sınırına ulaşıldı` | Hayır | Evet | Retry-After başlığına (saniye) uyun | Bu ağdan yeni bir hesap oluşturmadan önce Retry-After aralığı kadar bekleyin. |
| 429 | signup_rate_limited | `global` | `Tüm kaynaklar genelinde küresel yeni kullanıcı kayıt hızı sınırına ulaşıldı` | Hayır | Evet | Retry-After başlığına (saniye) uyun | Hesap oluşturmayı yeniden denemeden önce Retry-After aralığı kadar bekleyin. |
| 400 | oauth_invalid | — | `OAuth parametresi geçersiz veya geri arama durumu (state) bilinmiyor, süresi dolmuş ya da zaten kullanılmış` | Hayır | Evet | — | /v1/auth/{provider}/start üzerinden yeni bir OAuth giriş akışı başlatın. |
| 400 | login_code_invalid | — | `Giriş kodu bilinmiyor, süresi dolmuş, zaten kullanılmış veya PKCE doğrulayıcısı (verifier) ile uyuşmuyor` | Hayır | Hayır | — | Yeni bir giriş kodu almak için girişi yeniden başlatın. |
| 401 | unauthenticated | — | `Oturum eksik ya da oturum belirteci geçersiz, süresi dolmuş veya iptal edilmiş; Top-up API (/v1/topup/*) üzerinde bu hata, Authorization başlığının x-api-key yerine Bearer olmayan veya geçersiz bir belirteç içermesi durumunda da ortaya çıkar` | Hayır | Hayır | — | Yeni bir Bearer oturum belirteci almak için yeniden giriş yapın; Top-up API'sinde API key'i iletmek için Authorization başlığı yerine x-api-key istek başlığını kullanın. |
| 403 | user_disabled | — | `Hesap yönetim tarafından askıya alındı` | Hayır | Hayır | — | Hesap desteği için contact@blockvectra.com ile iletişime geçin. |
| 404 | provider_disabled | — | `OAuth sağlayıcısı tanındı ancak şu anda devre dışı` | Hayır | Hayır | — | SIWE veya desteklenen başka bir kimlik doğrulama sağlayıcısı kullanın. |
| 409 | identity_in_use | — | `Kimlik (cüzdan veya OAuth hesabı) zaten başka bir kullanıcıya bağlı` | Hayır | Hayır | — | Kimliği önceki hesaptan ayırın veya farklı bir kimlik kullanın. |
| 409 | identity_limit_reached | — | `Bu hesap için maksimum bağlı kimlik sayısına (5) ulaşıldı` | Hayır | Hayır | — | Yeni bir kimlik bağlamadan önce gereksiz bir kimliğin bağlantısını kaldırın. |
| 409 | last_identity | — | `Hesapta kalan tek kimliğin bağlantısı kaldırılamaz` | Hayır | Hayır | — | Bu kimliği kaldırmadan önce başka bir kimlik bağlayın. |
| 409 | key_not_active | — | `Devre dışı bırakılmış, iptal edilmiş veya süresi dolmuş bir API key döndürülmeye çalışıldı` | Hayır | Hayır | — | Yeni bir key oluşturun veya etkin bir key'i döndürün. |
| 409 | no_reset_available | — | `Bu hesapta kota sıfırlama hakkı kalmadı` | Hayır | Hayır | — | Zincir üstünde bakiye yükleyin: para yatırma adresinizi Konsol'dan veya `GET /v1/topup/deposit-address` (MCP `get_deposit_address`) üzerinden alın; [agent bakiye yükleme rehberine](https://docs.blockvectra.com/en/guides/agent-topup/) bakın veya bir sonraki promosyon döngüsünü bekleyin. |
| 413 | payload_too_large | — | `İstek gövdesi 64 KiB boyut sınırını aşıyor` | Hayır | Hayır | — | İstek gövdesi boyutunu 64 KiB'nin altına indirin. |
| 503 | signup_paused | — | `Küresel yeni kullanıcı kayıtları geçici olarak duraklatıldı; mevcut girişler etkilenmez` | Hayır | Evet | Kaydı daha sonra tekrar deneyin | Yeni kullanıcı kayıtları geçici olarak duraklatıldı; durumu kontrol edin ve daha sonra tekrar deneyin. |
| 503 | usage_unavailable | — | `Kullanım raporlama hizmeti geçici olarak kullanılamıyor` | Hayır | Evet | Birkaç saniye bekleyip tekrar deneyin | Yalnızca /usage uç noktasını etkiler; diğer uç noktalar normal şekilde çalışır. Kısa bir süre sonra tekrar deneyin. |
| 500 | internal | — | `Beklenmeyen sunucu hatası` | Hayır | Evet | Kısa bir gecikmeden sonra tekrar deneyin | İsteği üstel geri çekilme ile tekrar deneyin. |
| 400 | invalid_address | `invalid_address` | `Alıcı adres biçimi veya sağlama toplamı (checksum) geçersiz` | Hayır | Hayır | — | 0x ardından 40 onaltılık karakter kullanın, küçük harf veya EIP-55 sağlama toplamlı olmalıdır; data.field (/address) alanını kontrol edin. |
| 503 | faucet_empty | `faucet_empty` | `Faucet, talep ve işlem ücreti için yetersiz bakiyeye sahip` | Hayır | Evet | Retry-After başlığına (saniye) uyun | Yeniden denemeden önce Retry-After süresince bekleyin; kabul edilmiş bir yanıt olmadan test ETH'sinin gönderildiğini varsaymayın. |
| 503 | service_unavailable | `service_unavailable` | `Faucet talep işleme geçici olarak kullanılamıyor veya önceki bir talebin henüz makbuzu yok` | Hayır | Evet | Retry-After başlığına uyun | Yeniden denemeden önce Retry-After süresince bekleyin; kabul edilmiş bir yanıt olmadan test ETH'sinin gönderildiğini varsaymayın. |

### Push API Hataları

/v1/push/ altındaki webhook abonelik yönetimi ve olay geçmişi hataları.

| HTTP | Kod | Reason | Anlam | Faturalandırılır | Yeniden denenebilir | Bekleme Süresi (Retry-After) | Agent Eylemi |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 400 | invalid_request | — | `İstek alanları, adresler, sayfalandırma veya blok aralığı geçersiz.` | Hayır | Hayır | — | data.field ve data.invalid alanlarını inceleyin; isteği düzeltin. |
| 401 | missing_api_key | — | `x-api-key eksik.` | Hayır | Hayır | — | API key'inizi x-api-key başlığında sağlayın. |
| 401 | invalid_api_key | — | `Bilinmeyen, devre dışı bırakılmış veya iptal edilmiş API key.` | Hayır | Hayır | — | Hesabınızdan etkin bir key kullanın. |
| 402 | insufficient_balance | — | `Olay geçmişi için bakiye veya ücretsiz ödenek tükendi.` | Hayır | Hayır | — | data.reason (balance_exhausted veya free_grant_exhausted) ve varsa data.balance_units / data.balance_cu alanlarını kontrol edin; data.topup_url veya data.deposit_address_url üzerinden bakiye yükleyin. |
| 403 | key_cap_exhausted | — | `Olay geçmişi için API key CU üst sınırı tükendi.` | Hayır | Hayır | — | data.cu_cap değerini inceleyin ve konsolda yeni bir key oluşturun. |
| 403 | key_expired | — | `API key'in süresi doldu.` | Hayır | Hayır | — | Hesabınızdan süresi dolmamış bir key kullanın. |
| 404 | not_found | — | `Rota, metot veya abonelik bulunamadı.` | Hayır | Hayır | — | Yolu, metodu ve abonelik sahipliğini kontrol edin. |
| 409 | limit_reached | — | `Hesap aboneliği veya adres çifti sınırına ulaşıldı.` | Hayır | Hayır | — | data.limit ve data.max alanlarını inceleyin; abonelikleri veya adresleri azaltın. |
| 413 | request_too_large | — | `İstek gövdesi rota sınırını aşıyor.` | Hayır | Hayır | — | Adres grubunu bölün veya gövde boyutunu küçültün. |
| 422 | chain_not_available | — | `Zincir anlık iletme (push) için kullanılamıyor veya abonelikte yer almıyor.` | Hayır | Hayır | — | GET /v1/push/chains ve abonelik zincirlerini kontrol edin. |
| 422 | chains_required | — | `En az bir zincir gereklidir.` | Hayır | Hayır | — | Boş olmayan bir chains nesnesi sağlayın; dinlemeyi durdurmak için offline durumunu kullanın. |
| 422 | confirmations_out_of_range | — | `Onay derinliği zincir aralığının dışında.` | Hayır | Hayır | — | data.min ve data.max aralığında confirmations seçin. |
| 422 | destination_not_allowed | — | `Alıcı URL'sine izin verilmiyor.` | Hayır | Hayır | — | data.rule alanını inceleyin; kullanıcı bilgisi veya parça (fragment) içermeyen, 443 portundaki bir HTTPS ana bilgisayar adını kullanın. |
| 422 | block_out_of_range | — | `Blok aralığı mevcut yeniden oynatma veya geçmiş kapsamının dışında.` | Hayır | Hayır | — | Aralığı ayarlamak için data.min_block ve data.max_block kullanın. |
| 429 | cost_exceeds_burst | — | `Geçmiş sorgu maliyeti key ani artış (burst) kapasitesini aşıyor.` | Hayır | Hayır | — | data.reason (request_exceeds_burst) ve data.max alanlarını inceleyin; yeniden denemeden önce ani artış kapasitesini artırın. Değiştirmeden yeniden denemek fayda sağlamaz. |
| 429 | rate_limited | — | `Yönetim veya geçmiş sorgu hız sınırına ulaşıldı.` | Hayır | Evet | Retry-After süresince bekleyin | Geçmiş için data.reason (key_rate_limit veya free_plan_call_limit) alanını inceleyin; Retry-After saniyesi kadar bekleyin ve istek sıklığını veya eşzamanlılığı azaltın. |
| 500 | internal_error | — | `Beklenmeyen hizmet hatası.` | Hayır | Hayır | — | x-request-id değerini saklayın ve destek ile iletişime geçin. |
| 503 | auth_unavailable | — | `API key doğrulaması geçici olarak kullanılamıyor.` | Hayır | Evet | Retry-After saniyesi kadar bekleyin. | Yeniden denemeden önce Retry-After saniyesi kadar bekleyin. |
| 503 | billing_unavailable | — | `Geçmiş faturalandırma durumu geçici olarak kullanılamıyor.` | Hayır | Evet | Retry-After saniyesi kadar bekleyin. | Yeniden denemeden önce Retry-After saniyesi kadar bekleyin. |
| 503 | upstream_unavailable | — | `Push hizmetine geçici olarak ulaşılamıyor.` | Hayır | Evet | Retry-After saniyesi kadar bekleyin. | Yeniden denemeden önce Retry-After saniyesi kadar bekleyin. |
| 503 | service_unavailable | — | `Push hizmeti veya adres kapasitesi geçici olarak kullanılamıyor.` | Hayır | Evet | Retry-After saniyesi kadar bekleyin. | Yeniden denemeden önce Retry-After saniyesi kadar bekleyin. |

Webhook aboneliği veya replay hataları için [Push teslimat kurtarma rehberini](https://docs.blockvectra.com/tr/guides/webhook-push/#delivery-retries-and-replay) takip edin. Alıcı entegrasyonu [ham gövde imza doğrulaması](https://docs.blockvectra.com/tr/guides/webhook-push/#verify-signatures) ile başlar; [stabil kripto para ödeme örneği](https://docs.blockvectra.com/tr/guides/stablecoin-payments/#receive-payments-with-webhooks) olay tekilleştirme, makbuz kontrolleri, boşluk doldurma ve reorg mutabakatını ekler. Ölçüm için [faturalandırma kurallarına](https://docs.blockvectra.com/tr/guides/billing-rules/#webhook-push-billing) ve bağlantı tabanlı abonelikler için [WebSocket yeniden bağlanma](https://docs.blockvectra.com/tr/guides/websocket-subscriptions/#reconnection-and-exponential-backoff) rehberine bakın.

`logs_range_too_large` için [eth\_getLogs yöntem parametrelerini](https://docs.blockvectra.com/tr/api/json-rpc/methods/eth_getLogs/) kontrol edin ve [blok aralığı sınırı ve parçalı sorgular rehberini](https://docs.blockvectra.com/tr/guides/getlogs-block-range/) takip edin.

Robinhood Chain üzerindeki faucet talepleri için uygunluk ve paylaşılan hata kodlarının işlenmesi konusunda [testnet faucet rehberine](https://docs.blockvectra.com/tr/guides/robinhood-testnet-faucet/) bakın.
