Довідник помилок

Коди помилок BlockVectra, тарифікація та рекомендації щодо повторних спроб для JSON-RPC, Data API, Push Webhooks, консолі та крана, включно з діапазонами блоків eth_getLogs та помилками повтору Webhook.

Цей довідник документує всі коди помилок і машинозчитувані значення reason у сервісах BlockVectra, зокрема інформацію про те, чи тарифікується відхилений виклик, політики повторних спроб, тривалість відступу і рекомендовані дії для AI-агентів та автоматизованих клієнтів.

Для машинного використання завантажуйте повний каталог у форматі JSON за адресою /errors.json. Кожна відповідь з помилкою, що містить docs_url, посилається безпосередньо на стабільний якір на цій сторінці: https://docs.blockvectra.com/en/errors/#<reason> (або #-<code-number> для помилок без коду причини).

Помилки JSON-RPC

HTTPКодReasonЗначенняТарифікуєтьсяМожна повторитиЧас очікування (Retry-After)Дія агента
401-32024missing_api_keyВідсутній API key: передайте його в шляху запиту (/v1/{chain}/<api_key>) або в заголовку x-api-keyНіНі—Для ендпоінтів JSON-RPC (/v1/{chain}) передайте API key у шляху запиту (/v1/{chain}/<api_key>) або в заголовку x-api-key. Для Top-up API (/v1/topup/*) передавайте API key лише в заголовку x-api-key.
401-32024invalid_api_keyAPI key невідомий, вимкнений або відкликаний: JSON-RPC та Data API повертають HTTP 401 зі структурою відповіді про помилку invalid_api_key (JSON-RPC: error.code -32024 та error.data.reason invalid_api_key; Data API: error.code та error.data.reason invalid_api_key).НіНі—Перевірте свій API key; якщо потрібно, увійдіть повторно в консоль або виконайте програмну реєстрацію, щоб створити новий ключ (див. Втратили сесію або API key?).
403-32025key_expiredТермін дії API key закінчився; створіть новий ключ у консоліНіНі—Термін дії API key закінчився; створіть новий ключ у консолі або через програмну реєстрацію.
403-32025key_cap_exhaustedЗагальний ліміт CU для API key вичерпано; створіть новий ключ у консоліНіНі—Загальний ліміт CU для API key вичерпано; створіть новий ключ у консолі або через програмну реєстрацію.
503-32021auth_unavailableДані автентифікації тимчасово недоступніНіТакДотримуйтесь заголовка Retry-After (секунди)Сервер тимчасово не може перевірити ключі; це не проблема вашого ключа. Повторіть спробу після очікування відповідно до Retry-After; не створюйте ключ заново.
404-32600unknown_chainНевідома мережаНіНі—Перевірте доступні мережі через GET /v1/chains або інструмент list_chains; перевірте шлях URL.
404404unknown_endpointМетод і шлях Data API не відповідають відомій операціїНіНі—Перевірте метод і шлях URL за документацією Data API.
200-32700parse_errorПомилка синтаксичного аналізу JSONНіНі—Перевірте коректність синтаксису JSON у тілі запиту перед надсиланням.
200-32600invalid_requestНедійсний запитНіНі—Перевірте структуру запиту; переконайтеся в наявності полів jsonrpc: '2.0', id та method перед повторним надсиланням.
200-32602invalid_paramsТрейсер забороненоНіНі—Скоригуйте параметри методу; перевірте підтримувані трейсери та ліміти таймаутів для мережі.
200-32602logs_range_too_largeДіапазон блоків eth_getLogs завеликий: максимум <N> блоківНіНі—Звузьте діапазон блоків запиту до max_logs_block_range, зазначеного в GET /v1/chains.
429-32005public_rate_limitПеревищено ліміт частоти загальнодоступних запитівНіТакДотримуйтесь заголовка Retry-After (секунди)Зачекайте відповідно до заголовка Retry-After і повторіть спробу; або надішліть запит з API key. Отримати API key.
429-32005public_pool_busyПублічний пул мережі зайнятийНіТакДотримуйтесь заголовка Retry-After або зачекайте кілька секунд і повторіть спробу із затримкоюПовторіть спробу із затримкою або надішліть запит з API key. Отримати API key.
200-32601method_not_publicМетод недоступний на публічному ендпоінтіНіНі—Використовуйте метод, який підтримується публічним ендпоінтом, або надішліть запит з API key. Отримати API key.
200-32601method_not_allowedМетод недоступний у цій мережі або вимкнений політикоюНіНі—Перевірте methods.allow та methods.deny у GET /v1/chains щодо підтримуваних методів. Підтримка надсилання транзакцій визначається через methods.allow у GET /v1/chains. Надсилання транзакцій наразі недоступне на: HyperEVM.
200-32601subscription_not_availableПідписки WebSocket не надаються для цієї мережіНіНі—Перевірте доступні підписки для цієї мережі через GET /v1/chains.
200-32602logs_filter_requiredПідписка на logs вимагає вказати адресу або topic0 (ненульове значення на першій позиції topic)НіНі—Вкажіть адресу або ненульовий topic0 у фільтрі логів.
200-32600batch_too_largeПакет завеликий: максимум <N> викликівНіНі—Розбийте пакет на менші частини, які відповідають максимальному ліміту викликів, зазначеному в даних помилки.
413413request_too_largeТіло запиту Data API перевищує ліміт розміруНіНі—Зменшіть розмір тіла запиту.
200-32000not_foundТранзакцію не знайденоНіНі—Якщо транзакція щойно надіслана або щойно видобута, зачекайте розповсюдження мережею та повторіть спробу; інакше перевірте номер блоку або хеш.
200-32011state_windowІсторичний стан недоступний за межами останніх <N> блоківНіНі—Запитуйте блоки в межах state_window_blocks, опублікованих у GET /v1/chains, або використовуйте Data API для історичних даних.
200-32011range_not_indexedЗапитану історію ще не повністю проіндексованоНіНі—Звузьте запитану історію до діапазону, який уже проіндексовано; не повторюйте той самий запит для непокритого діапазону.
200-32011history_not_readyЗапитана історія ще не готоваНіТакЗачекайте, поки індексація наздожене дані; дотримуйтесь error.data.retry_after_seconds, якщо доступноПовторіть спробу, коли індексація наздожене дані, зачекавши кількість секунд з error.data.retry_after_seconds, якщо вони вказані.
429-32005key_rate_limitПеревищено ліміт швидкості CU для API keyНіТакДотримуйтесь заголовка Retry-After (секунди)Зачекайте кількість секунд, зазначену в заголовку Retry-After, перед повторною спробою, або розподіліть навантаження.
429rate_limitedrate_limitedПеревищено ліміт частоти запитів до API або GET /v1/account (понад 5 запитів на секунду для цього ключа)НіТакДотримуйтесь заголовка Retry-After (секунди)Зачекайте інтервал, зазначений у Retry-After, перед повторною спробою.
429-32005concurrency_limitПеревищено ліміт паралельних запитівНіТакДотримуйтесь заголовка Retry-After або зачекайте завершення активних викликівОбмежте розмір пулу одночасних запитів клієнта та повторіть спробу, коли з'явиться вільне місце.
429-32005free_plan_call_limitПеревищено ліміт викликів на секунду для безкоштовного плануНіТакЗачекайте 1 секунду перед повторною спробоюЗменшіть частоту запитів або поповніть баланс, щоб відкрити платну пропускну здатність.
429-32022request_exceeds_burstВартість запиту <N> CU перевищує місткість сплеску <M> CUНіНі—Очікування не допоможе; розділіть пакет або зменшіть параметри методу, щоб укластися в місткість сплеску.
429-32022free_plan_batch_too_largeЗапит містить <N> викликів, що перевищує ліміт безкоштовного плану в <M> викликів на секундуНіНі—Очікування не допоможе; розбийте пакет, щоб кількість викликів відповідала ліміту безкоштовного плану, або поповніть баланс.
429-32005ws_connection_limitДосягнуто ліміту з'єднань WebSocket для цього ключа або облікового записуНіНі—Закрийте невикористовувані з'єднання WebSocket або повторно використовуйте наявні з'єднання.
200-32022subscription_limitДосягнуто ліміту підписок WebSocket для цього з'єднанняНіНі—Скасуйте підписку на події, які більше не потрібні, або відкрийте нове з'єднання WebSocket.
200-32005ws_filter_capacityФільтр логів WebSocket досяг максимальної місткостіНіНі—Скасуйте наявну підписку на логи або використовуйте вужчий фільтр.
200-32026ws_push_overloadedЧергу push-сповіщень WebSocket перевантаженоНіТакПовторіть спробу пізніше із затримкою або перепідключітьсяПовторіть eth_subscribe з експоненційною затримкою або перепідключіться. Наявні підписки продовжують отримувати сповіщення.
200-32005overloadedСервіс перевантажений, будь ласка, спробуйте пізнішеНіТакЗачекайте кілька секунд і повторіть спробу з експоненційною затримкоюЗастосуйте затримку з джитером і повторіть запит.
402-32020balance_exhaustedНедостатньо коштів на балансі (якщо баланс відомий, error.data містить balance_units і balance_cu)НіНі—Поповніть баланс ончейн: отримайте адресу для депозиту в консолі або через `GET /v1/topup/deposit-address` (MCP `get_deposit_address`); див. посібник із поповнення балансу для агентів, або скиньте ліміт у консолі, якщо маєте на це право. Якщо баланс відомий, error.data містить balance_units (від'ємний у разі овердрафту) та balance_cu.
402-32020free_grant_exhaustedБезкоштовну квоту вичерпано (якщо баланс відомий, error.data містить balance_units і balance_cu)НіНі—Поповніть баланс ончейн: отримайте адресу для депозиту в консолі або через `GET /v1/topup/deposit-address` (MCP `get_deposit_address`); див. посібник із поповнення балансу для агентів, скиньте ліміт, якщо це можливо, або дочекайтеся квоти наступного циклу. Якщо баланс відомий, error.data містить balance_units (від'ємний у разі овердрафту) та balance_cu.
503-32021billing_unavailableДані тарифікації тимчасово недоступніНіТакДотримуйтесь заголовка Retry-After (секунди)Це не проблема з балансом; щойно створені ключі синхронізуються за кілька секунд. Зачекайте відповідно до Retry-After і повторіть спробу.
200-32010node_syncingВузол синхронізується; виклики тимчасово недоступніНіТакЗачекайте кілька секунд і повторіть спробуЗачекайте завершення синхронізації вузла або перевірте GET /v1/status.
200-32603upstream_unavailableАпстрім-сервіс недоступнийНіТакЗачекайте кілька секунд і повторіть спробуПовторіть спробу з експоненційною затримкою; перевірте GET /v1/status щодо справності вузла.
504504upstream_timeoutАпстрім-сервіс не відповів протягом ліміту часуНіТакПовторіть спробу після короткої затримкиПовторіть запит з експоненційною затримкою.
200-32000response_too_largeВідповідь апстріму занадто великаНіНі—Звузьте параметри запиту (наприклад, зменшіть діапазон блоків в eth_getLogs або запитайте менший trace).
200-32603internal_errorВнутрішня помилка сервісуНіНі—Повторіть запит; про тривалі збої повідомте службу підтримки із зазначенням мітки часу.
2004444—Усічена (pruned) історія недоступнаНіНі—Блок знаходиться за межами вікна збереженої історії усіченого вузла; запитуйте історичні блоки через Data API.
200-32000—Історичний стан недоступний; старі дані недоступні через усіченняНіНі—Запитуйте блоки у вікні стану або використовуйте Data API для історичних запитів.
200-32002—<node message>НіТакЗачекайте кілька секунд і спробуйте знову з меншим пакетомЗменшіть кількість викликів у пакеті та повторіть спробу.
200-32003—<node message>НіНі—Розбийте пакет на менші запити, щоб зменшити розмір відповіді.
200-32601—<node message>НіНі—Перевірте methods.allow та methods.deny у GET /v1/chains щодо підтримуваних методів. Підтримка надсилання транзакцій визначається через methods.allow у GET /v1/chains. Надсилання транзакцій наразі недоступне на: HyperEVM.
200-32603—<node message>НіТакПовторіть спробу після короткої затримкиПовторіть запит; про тривалі збої повідомте службу підтримки із зазначенням мітки часу.
200-32600—<node message>НіНі—Перевірте кожен запит у пакеті на невідповідні параметри; розділіть і повторіть спробу.
200*—<node message>ТакНі—Вузол виконав обчислення, і виклик було тарифіковано. Перевірте причину/дані скасування (revert) або параметри виклику; не повторюйте спробу наосліп.
408408—Таймаут запиту через 35 секунд між завершенням заголовків запиту та відповіддюМожливоТакЗачекайте кілька секунд перед повторною спробою викликів читанняВиклик міг дійти до вузла й бути тарифікованим. Для викликів читання повторіть спробу із затримкою. Для викликів запису (наприклад, eth_sendRawTransaction) спочатку перевірте статус транзакції за хешем.

Коди закриття WebSocket

Коди закриття з'єднань WebSocket та рекомендовані дії для клієнта.

КодReasonЗначенняМожна повторитиЧас очікування (Retry-After)Дія агента
1001—Простій з'єднання (idle)ТакПерепідключіться за потребиПерепідключіться за потреби.
1003—Бінарні фрейми не підтримуютьсяНі—Не виконуйте автоматичне перепідключення; надсилайте лише текстові фрейми UTF-8.
1009—Повідомлення завеликеНі—Не виконуйте автоматичне перепідключення; розбийте великі запити так, щоб вони не перевищували 1 МіБ.
1012—Перезапуск сервісуТакПерепідключіться із затримкою та джитеромПерепідключіться із затримкою та джитером, відновіть підписку та надолужте пропущені дані.
1013—Мережа недоступна; перевантаженняТакПерепідключіться з експоненційною затримкою та повним джитеромПерепідключіться з експоненційною затримкою та повним джитером, відновіть підписку та надолужте пропущені дані.
4402—Недостатній балансНі—Не виконуйте автоматичне перепідключення; поповніть баланс ончейн: отримайте адресу для депозиту в консолі або через `GET /v1/topup/deposit-address` (MCP `get_deposit_address`); див. посібник із поповнення балансу для агентів, або скиньте ліміт у консолі, якщо маєте на це право.
4404—Недійсний API keyНі—Не виконуйте автоматичне перепідключення; перевірте ключ або виконайте ротацію API key у консолі.
4408—Сервіс закриває сесію, якщо черга push перевищує 512 КіБ (524,288 байтів), і скасовує незавершені сповіщення; клієнт може не отримати фрейм закриття (браузер повідомляє про 1006); обробляйте несподівані розриви з'єднання так само, як 4408.ТакПерепідключіться із затримкою; зменшіть кількість підписок або читайте швидшеОбробляйте несподівані розриви з'єднання без фрейму закриття (браузер повідомляє про 1006) як 4408: перепідключіться із затримкою, повторно встановіть підписки та надолужте втрачені дані за допомогою eth_getLogs; зменшіть кількість підписок або читайте швидше.
4429—Перевищено швидкість pushТакПерепідключіться із затримкою або зменшіть кількість підписокЗменшіть кількість підписок або перепідключіться із затримкою.
4503—Сервіс тарифікації недоступнийТакПерепідключіться з експоненційною затримкою та повним джитеромПерепідключіться з експоненційною затримкою та повним джитером, потім підпишіться знову.

Помилки Data API

Помилки, які повертаються ендпоінтами Blockchain Data API у /v1/data/{chain}/.

HTTPКодReasonЗначенняТарифікуєтьсяМожна повторитиЧас очікування (Retry-After)Дія агента
400bad_request—Дублювання параметрів запиту, недійсний рядок запиту або некоректно сформований запитНіНі—Перевірте параметри запиту; переконайтеся, що такі параметри, як limit, зустрічаються щонайбільше один раз і всі параметри дійсні.
409not_indexed_yet—Запитаний номер блоку або вікно перевищує as_of_block, або визначений хеш перевищує as_of_block (містить indexed_through, якщо в мережі вже проіндексовано хоча б один блок)НіТакЗачекайте кілька секунд, доки indexed_through не досягне запитаного блокуОпитуйте, доки запитаний блок або to_block не стане меншим або рівним indexed_through, або зачекайте, поки мережа почне записувати блоки.
409window_too_large—Вікно блоків перевищує 100,000 блоків, а параметр clamp не встановлено в trueНіНі—Звузьте діапазон блоків (від from_block до to_block) до <= 100,000 блоків або передайте clamp=true.
409too_many_pools—Токен відповідає більш ніж 200 пулам ліквідності; виконайте запит за пуломНіНі—Вкажіть конкретний пул для запиту замість загального запиту за токеном.
409span_exceeded—Запитаний інтервал дат перевищує максимальний ліміт у 90 днівНіНі—Звузьте діапазон дат від from_time до to_time максимум до 90 днів.
422no_coverage—Функція не підтримується в цій мережі або запитаний блок передує вікну данихНіНі—Перевірте `features` та `coverage.from_block` у GET /v1/data/chains (або `data_features` у безкоштовному GET /v1/status) перед виконанням запиту.
503unavailable—Сервіс Data API тимчасово недоступнийНіТакЗачекайте кілька секунд і повторіть спробу з експоненційною затримкоюПовторіть спробу після короткої паузи з експоненційною затримкою.
402insufficient_balance—Платний баланс або безкоштовна квота вичерпані (якщо баланс відомий, error.data містить balance_units і balance_cu)НіНі—Поповніть баланс ончейн: отримайте адресу для депозиту в консолі або через `GET /v1/topup/deposit-address` (MCP `get_deposit_address`); див. посібник із поповнення балансу для агентів, або дочекайтеся поповнення безкоштовної квоти.
429cost_exceeds_burst—Один запит коштує більше, ніж місткість сплеску (burst capacity) ключаНіНі—Розбийте запит на менші частини; повторна спроба того самого запиту ніколи не буде успішною.
503gateway_overloaded—Пропускна здатність Data API тимчасово вичерпанаНіТакПовторіть спробу із затримкою (Retry-After: 1)Зменшіть кількість одночасних запитів за всіма ключами та мережами цього облікового запису; зачекайте відповідно до Retry-After перед повторною спробою. error.data.reason має значення null.

Помилки Console, Account та Faucet API

Помилки, які повертаються ендпоінтами керування, надання ключів, автентифікації та крана у /v1/.

HTTPКодReasonЗначенняТарифікуєтьсяМожна повторитиЧас очікування (Retry-After)Дія агента
409topup_disabled—Поповнення призупинено або наразі немає доступних мереж для поповнення; нові адреси призначити неможливо, але раніше призначені адреси залишаються закріпленими за обліковим записомНіНі—Перевірте доступність поповнення через GET /v1/topup/status; повторіть спробу пізніше, коли поповнення буде увімкнено.
503deposit_unavailable—Тимчасово неможливо призначити адресу для депозиту; повторіть спробу відповідно до заголовка Retry-AfterНіТакДотримуйтесь заголовка Retry-After (секунди) та використовуйте експоненційну затримкуПовторіть спробу відповідно до заголовка Retry-After з експоненційною затримкою.
400invalid_requestinvalid_usernameНедійсний формат імені користувача (має містити літери, цифри або підкреслення)НіНі—Вкажіть дійсне ім'я користувача, яке відповідає вимогам щодо символів і довжини.
400invalid_requestexpires_atЧас закінчення дії ключа не в майбутньому або перевищує максимально дозволений термін діїНіНі—Встановіть expires_at як позначку часу RFC 3339 у майбутньому в межах дозволеного періоду (за замовчуванням 365 днів) або використовуйте expires_in_secs.
400invalid_requestcu_capПараметр cu_cap поза допустимими межами (має бути цілим числом від 1 до 9007199254740991)НіНі—Встановіть cu_cap цілим числом від 1 до 9007199254740991 або пропустіть його для необмеженої кількості CU.
400siwe_invalidexpiredПовідомлення Sign-In with Ethereum (SIWE) застаріло або nonce уже використаноНіТакНегайно отримайте новий challenge і підпишіть йогоЗапитайте новий challenge через /v1/auth/siwe/challenge та підпишіть щойно видане повідомлення.
400siwe_invalidchain_mismatchchainId у повідомленні SIWE не збігається з налаштуваннями сервераНіНі—Використовуйте chainId, повернутий /v1/auth/siwe/challenge, під час формування повідомлення SIWE.
400siwe_invaliddomain_mismatchdomain у повідомленні SIWE не збігається з хостом сервераНіНі—Переконайтеся, що domain та uri збігаються з хостом сервера, повернутим у challenge.
400siwe_invalidsignatureПомилка криптографічної перевірки підпису SIWEНіНі—Переконайтеся, що повідомлення підписано приватним ключем, який відповідає вказаній адресі.
409key_limit_reachedactive_keysКількість активних (не відкликаних) API key досягла максимального ліміту облікового записуНіНі—Відкличте наявний невикористовуваний ключ перед створенням нового.
409no_reset_availablenothing_to_resetБаланс уже дорівнює цільовому значенню скидання або перевищує його; можливість скидання збереженоНіНі—Немає потреби скидати баланс, доки він не вичерпаний; використайте можливість, коли баланс закінчиться.
429rate_limiteddaily_creationsДосягнуто ліміту створення ключів за 24 години для облікового записуНіТакДотримуйтесь заголовка Retry-After (секунди)Виконуйте ротацію наявних ключів замість створення нових або зачекайте завершення 24-годинного вікна.
429signup_rate_limitedper_ipДосягнуто ліміту частоти реєстрації для IP-підмережі клієнтаНіТакДотримуйтесь заголовка Retry-After (секунди)Зачекайте інтервал Retry-After перед створенням нових облікових записів із цієї мережі.
429signup_rate_limitedglobalДосягнуто глобального ліміту частоти реєстрації нових користувачів з усіх джерелНіТакДотримуйтесь заголовка Retry-After (секунди)Зачекайте інтервал Retry-After перед повторною спробою створення облікового запису.
400oauth_invalid—Недійсні параметри OAuth або невідомий, прострочений чи вже використаний стан зворотного викликуНіТак—Розпочніть новий потік входу через OAuth із /v1/auth/{provider}/start.
400login_code_invalid—Код входу невідомий, прострочений, уже використаний або не відповідає верифікатору PKCEНіНі—Почніть вхід спочатку, щоб отримати свіжий код входу.
401unauthenticated—Сесія відсутня, або токен сесії недійсний, прострочений чи відкликаний; у Top-up API (/v1/topup/*) ця помилка також виникає, якщо заголовок Authorization містить не Bearer або недійсний токен замість x-api-keyНіНі—Увійдіть повторно, щоб отримати новий токен сесії Bearer; для Top-up API передавайте API key у заголовку x-api-key замість Authorization.
403user_disabled—Обліковий запис призупинено адміністраторомНіНі—Зверніться до contact@blockvectra.com для підтримки облікового запису.
404provider_disabled—Провайдер OAuth розпізнаний, але наразі вимкненийНіНі—Використовуйте SIWE або іншого підтримуваного провайдера автентифікації.
409identity_in_use—Ідентифікатор (гаманець або обліковий запис OAuth) уже прив'язаний до іншого користувачаНіНі—Відв'яжіть ідентифікатор від попереднього облікового запису або скористайтеся іншим.
409identity_limit_reached—Досягнуто максимальної кількості прив'язаних ідентифікаторів (5) для цього облікового записуНіНі—Відв'яжіть старий ідентифікатор перед додаванням нового.
409last_identity—Неможливо відв'язати єдиний залишковий ідентифікатор від облікового записуНіНі—Додайте новий ідентифікатор перед відв'язуванням поточного.
409key_not_active—Спроба виконати ротацію вимкненого, відкликаного або простроченого API keyНіНі—Створіть новий ключ або виконайте ротацію активного ключа.
409no_reset_available—Для цього облікового запису більше немає доступних скидань квотиНіНі—Поповніть баланс ончейн: отримайте адресу для депозиту в консолі або через `GET /v1/topup/deposit-address` (MCP `get_deposit_address`); див. посібник із поповнення балансу для агентів, або дочекайтеся наступного промо-циклу.
413payload_too_large—Тіло запиту перевищує ліміт розміру в 64 КіБНіНі—Зменшіть розмір корисного навантаження запиту до менш ніж 64 КіБ.
503signup_paused—Глобальну реєстрацію нових користувачів тимчасово призупинено; чинні облікові записи входять у звичайному режиміНіТакСпробуйте пізнішеРеєстрацію нових користувачів призупинено; перевірте статус і спробуйте пізніше.
503usage_unavailable—Служба звітування про використання тимчасово недоступнаНіТакЗачекайте кілька секунд і спробуйте зновуВпливає лише на ендпоінт /usage; інші ендпоінти працюють у звичайному режимі. Повторіть спробу після короткої паузи.
500internal—Неочікувана внутрішня помилка сервераНіТакПовторіть спробу після короткої затримкиПовторіть запит з експоненційною затримкою.
400invalid_addressinvalid_addressНедійсний формат або контрольна сума (checksum) адреси одержувачаНіНі—Використовуйте 0x із 40 шістнадцятковими символами, у нижньому регістрі або з контрольною сумою EIP-55; перевірте data.field (/address).
503faucet_emptyfaucet_emptyУ крані недостатньо коштів для виплати запиту та покриття комісії за транзакціюНіТакДотримуйтесь заголовка Retry-After (секунди)Зачекайте відповідно до Retry-After перед повторною спробою; не вважайте, що тестовий ETH надіслано, доки не отримано відповідь про успішне прийняття.
503service_unavailableservice_unavailableОбробка запитів крана тимчасово недоступна, або попередня виплата ще не отримала квитанції (receipt) транзакціїНіТакДотримуйтесь заголовка Retry-AfterЗачекайте відповідно до Retry-After перед повторною спробою; не вважайте, що тестовий ETH надіслано, доки не отримано відповідь про успішне прийняття.

Помилки Push API

Помилки керування підписками webhook та історії подій у /v1/push/.

HTTPКодReasonЗначенняТарифікуєтьсяМожна повторитиЧас очікування (Retry-After)Дія агента
400invalid_request—Недійсні поля запиту, адреси, пагінація або діапазон блоків.НіНі—Перевірте data.field та data.invalid; виправте запит.
401missing_api_key—Відсутній x-api-key.НіНі—Надішліть API key у заголовку x-api-key.
401invalid_api_key—API key невідомий, вимкнений або відкликаний.НіНі—Використовуйте активний ключ вашого облікового запису.
402insufficient_balance—Баланс або безкоштовний ліміт вичерпано для історії подій.НіНі—Перевірте data.reason (balance_exhausted або free_grant_exhausted) і data.balance_units / data.balance_cu, якщо доступні; поповніть баланс через data.topup_url або data.deposit_address_url.
403key_cap_exhausted—Ліміт CU для API key вичерпано для історії подій.НіНі—Перевірте data.cu_cap і створіть новий ключ у консолі.
403key_expired—Термін дії API key закінчився.НіНі—Використовуйте ключ вашого облікового запису, термін дії якого не закінчився.
404not_found—Маршрут, метод або підписку на webhook не знайдено.НіНі—Перевірте шлях, метод і обліковий запис, якому належить підписка.
409limit_reached—Досягнуто ліміту підписок або пар адрес для облікового запису.НіНі—Перевірте data.limit та data.max; зменшіть кількість підписок або адрес.
413request_too_large—Тіло запиту перевищує ліміт маршруту.НіНі—Зменшіть розмір списку адрес або розділіть його на пакети.
422chain_not_available—Мережа недоступна для push або не входить до підписки.НіНі—Перевірте GET /v1/push/chains та мережі підписки.
422chains_required—Потрібна хоча б одна мережа.НіНі—Вкажіть непорожній об'єкт chains; використовуйте статус offline, щоб припинити прослуховування.
422confirmations_out_of_range—Глибина підтверджень виходить за межі діапазону мережі.НіНі—Виберіть confirmations у межах від data.min до data.max.
422destination_not_allowed—URL-адреса призначення webhook неприпустима.НіНі—Перевірте data.rule; використовуйте ім'я хоста HTTPS на порту 443 без облікових даних користувача або фрагментів.
422block_out_of_range—Діапазон блоків виходить за межі допустимого відтворення або доступної історії.НіНі—Використовуйте data.min_block та data.max_block для коригування діапазону.
429cost_exceeds_burst—Вартість запиту історії перевищує місткість сплеску (burst capacity) ключа.НіНі—Перевірте data.reason (request_exceeds_burst) та data.max; збільште місткість сплеску перед повторною спробою. Повторення того самого запиту не допоможе.
429rate_limited—Досягнуто ліміту частоти запитів для керування або запитів історії.НіТакЗачекайте відповідно до Retry-AfterДля історії перевірте data.reason (key_rate_limit або free_plan_call_limit); зачекайте кількість секунд у Retry-After та зменшіть частоту або паралелізм запитів.
500internal_error—Неочікувана помилка сервісу.НіНі—Збережіть x-bv-request-id і зверніться до служби підтримки.
503auth_unavailable—Автентифікація API key тимчасово недоступна.НіТакЗачекайте кількість секунд у Retry-After.Зачекайте кількість секунд у Retry-After перед повторною спробою.
503billing_unavailable—Статус тарифікації історії тимчасово недоступний.НіТакЗачекайте кількість секунд у Retry-After.Зачекайте кількість секунд у Retry-After перед повторною спробою.
503upstream_unavailable—Сервіс Push тимчасово недосяжний.НіТакЗачекайте кількість секунд у Retry-After.Зачекайте кількість секунд у Retry-After перед повторною спробою.
503service_unavailable—Сервіс Push або місткість адрес тимчасово недоступні.НіТакЗачекайте кількість секунд у Retry-After.Зачекайте кількість секунд у Retry-After перед повторною спробою.

У разі помилок підписки на Webhook або повтору доставки дотримуйтесь посібника з відновлення Push-доставки. Інтеграція отримувача починається з перевірки підпису вихідного тіла запиту; приклад платежів у стейблкоїнах додає дедуплікацію подій, перевірку квитанцій, заповнення прогалин і узгодження реорганізацій мережі. Див. правила білінгу щодо обліку та перепідключення до WebSocket для підписок на основі з'єднання.

Для logs_range_too_large перевірте параметри методу eth_getLogs і скористайтеся посібником з обмеження діапазону блоків та фрагментованих запитів.

Для запитів до крана у Robinhood Chain див. посібник із тестнет-крана щодо критеріїв доступності та обробки спільних кодів помилок.

Востаннє оновлено: