Справочник ошибок

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

В этом справочнике описаны все коды ошибок и машиночитаемые значения reason во всех сервисах BlockVectra, включая информацию о том, тарифицируется ли отклоненный вызов, политики повторных попыток, время ожидания (backoff) и рекомендуемые действия для ИИ-агентов и автоматизированных клиентов.

Для машиночитаемого использования скачайте полный каталог в формате 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_keyНеизвестный, отключенный или отозванный API 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Подписка на логи требует указания адреса или topic0 (ненулевое значение в первой позиции topics)НетНет—Укажите адрес или ненулевой 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 превышает емкость всплеска (burst) <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Очередь уведомлений WebSocket перегруженаНетДаПовторите попытку позже с задержкой либо переподключитесьПовторите вызов eth_subscribe с экспоненциальной задержкой либо переподключитесь. Существующие подписки продолжат получать уведомления.
200-32005overloadedСервис перегружен, повторите попытку позжеНетДаПодождите несколько секунд и повторите попытку с экспоненциальной задержкойПримените задержку с джиттером и повторите запрос.
402-32020balance_exhaustedНедостаточно средств (когда баланс известен, error.data содержит balance_units и balance_cu)НетНет—Пополните баланс on-chain: получите адрес депозита в консоли или через `GET /v1/topup/deposit-address` (MCP `get_deposit_address`); см. руководство по пополнению для агентов или сбросьте квоту в консоли, если доступно. Когда баланс известен, error.data содержит balance_units (отрицательный при овердрафте) и balance_cu.
402-32020free_grant_exhaustedБесплатный лимит исчерпан (когда баланс известен, error.data содержит balance_units và balance_cu)НетНет—Пополните баланс on-chain: получите адрес депозита в консоли или через `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 MiB.
1012—Перезапуск сервисаДаПереподключитесь с задержкой и джиттеромПереподключитесь с задержкой и джиттером, оформите подписку заново и восполните пропущенные данные.
1013—Сеть недоступна; перегрузкаДаПереподключитесь с экспоненциальной задержкой и полным джиттеромПереподключитесь с экспоненциальной задержкой и полным джиттером, оформите подписку заново и восполните пропущенные данные.
4402—Недостаточно средствНет—Не переподключайтесь автоматически; пополните баланс on-chain: получите адрес депозита в консоли или через `GET /v1/topup/deposit-address` (MCP `get_deposit_address`); см. руководство по пополнению для агентов или сбросьте лимит в консоли, если доступно.
4404—Недействительный API keyНет—Не переподключайтесь автоматически; проверьте или выполните ротацию API key в консоли.
4408—Сервис закрывает сессию, когда очередь push превышает 512 KiB (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—Сервис данных временно недоступенНетДаПодождите несколько секунд и повторите попытку с экспоненциальной задержкойПовторите попытку через небольшую паузу с экспоненциальной задержкой.
402insufficient_balance—Платный баланс или бесплатная квота исчерпаны (когда баланс известен, error.data содержит balance_units и balance_cu)НетНет—Пополните баланс on-chain: получите адрес депозита в консоли или через `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 либо состояние callback неизвестно, истекло или уже использованоНетДа—Начните процесс входа 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—У этого аккаунта не осталось возможностей сброса квотыНетНет—Пополните баланс on-chain: получите адрес депозита в консоли или через `GET /v1/topup/deposit-address` (MCP-инструмент `get_deposit_address`); см. руководство по пополнению для агентов или дождитесь следующего промо-цикла.
413payload_too_large—Тело запроса превышает ограничение размера в 64 KiBНетНет—Уменьшите размер тела запроса до значения менее 64 KiB.
503signup_paused—Регистрация новых пользователей временно приостановлена; вход для существующих пользователей работает штатноНетДаПовторите попытку регистрации позжеРегистрация новых пользователей временно приостановлена; проверьте статус и повторите попытку позже.
503usage_unavailable—Сервис статистики использования временно недоступенНетДаПодождите несколько секунд и повторите попыткуВлияет только на эндпоинт /usage; остальные эндпоинты работают в штатном режиме. Повторите попытку чуть позже.
500internal—Непредвиденная ошибка сервераНетДаПовторите попытку после небольшой задержкиПовторите запрос с экспоненциальной задержкой.
400invalid_addressinvalid_addressФормат или контрольная сумма адреса получателя недействительныНетНет—Используйте 0x и 40 шестнадцатеричных символов, в нижнем регистре или с контрольной суммой EIP-55; проверьте data.field (/address).
503faucet_emptyfaucet_emptyНа балансе крана недостаточно средств для выплаты запрошенной суммы и комиссии за транзакциюНетДаСледуйте заголовку Retry-After (в секундах)Подождите время из Retry-After перед повторной попыткой; не предполагайте, что тестовый ETH отправлен, пока не получен ответ о принятии.
503service_unavailableservice_unavailableОбработка запросов крана временно недоступна либо по предыдущему запросу еще не получен чек транзакцииНетДаСледуйте заголовку 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—Маршрут, метод или подписка не найдены.НетНет—Проверьте путь, метод и принадлежность подписки аккаунту.
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—Глубина подтверждений выходит за пределы диапазона сети.НетНет—Выберите число подтверждений в диапазоне от 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-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 количество секунд перед повторной попыткой.

При ошибках подписки на вебхуки или повторной отправки (replay) следуйте руководству по восстановлению доставки Push-уведомлений. Интеграция получателя начинается с проверки подписи исходного тела запроса; пример платежей в стейблкоинах включает дедупликацию событий, проверку квитанций, восполнение пропусков и согласование при реорганизациях цепи (reorgs). Правила учета см. в правилах тарификации, а инструкции по переподключению WebSocket — для подписок на основе постоянного соединения.

При ошибке logs_range_too_large ознакомьтесь с параметрами метода eth_getLogs и следуйте руководству по ограничению диапазона блоков и пакетным запросам.

По вопросам получения тестовых средств из крана в Robinhood Chain см. руководство по тестнет-крану, где описаны критерии доступа и обработка общих кодов ошибок.

Последнее обновление: