Skip to main content

Что такое ограничения частоты запросов?

Ограничения частоты запросов определяют, сколько запросов в секунду вы можете выполнять. При превышении ограничений вы получите ответ HTTP 429. Рекомендации о том, что делать при получении ответа 429 или другой временной ошибке, приведены ниже в разделе Повторные попытки и обработка ошибок.

Стандартные ограничения частоты запросов

Для вашего тарифа предусмотрены две стандартные группы ограничений частоты запросов: одна для запросов RPC, другая — для запросов DAS API. Ниже приведены базовые ограничения для каждого тарифа Helius:
ТарифОграничение частоты запросов RPCDAS и расширенные API
Бесплатный10 запросов/с2 запроса/с
Developer50 запросов/с10 запросов/с
Business200 запросов/с50 запросов/с
Professional500 запросов/с100 запросов/с
EnterpriseИндивидуальноИндивидуально

Увеличение ограничений частоты запросов

Команды на тарифе Professional могут приобрести дополнительные 100 запросов/с за 100 долларов США в месяц. Если перед запуском вам нужны индивидуальные ограничения частоты запросов, свяжитесь с нашим отделом продаж. Если вы используете тариф Developer или Business, перейдите на более высокий тариф, чтобы увеличить ограничения частоты запросов.

Особые ограничения частоты запросов

Для некоторых конечных точек и специализированных продуктов Helius действуют особые ограничения частоты запросов из-за их требований к вычислительным ресурсам.

Отправка транзакций

Конечная точкаБесплатныйDeveloperBusinessProfessional
Sender50/с50/с50/с50/с
sendTransaction1/с5/с50/с100/с
sendBundle——5/с5/с
simulateBundle10/с50/с200/с500/с
Запросы Sender без ключа /fast ограничены одним запросом в секунду на исходящий IP-адрес в каждом регионе. Клиенты, использующие один и тот же NAT, совместно используют это ограничение. Отклонённые запросы 429 учитываются в ограничении, а /ping — нет. Добавьте существующий API-ключ проекта Helius, чтобы получить ограничение в 50 запросов в секунду на каждый ключ в каждом регионе.
Если вы используете тариф Professional и хотите увеличить ограничения частоты запросов sendTransaction, свяжитесь с нашим отделом продаж. Пользователи тарифа Professional также могут запросить увеличение ограничений частоты запросов и индивидуальные условия чаевых для Sender, чтобы обеспечить работу торговых приложений с более высокой пропускной способностью.

Сложные вызовы RPC

Конечная точкаБесплатныйDeveloperBusinessProfessional
getProgramAccounts5/с25/с50/с75/с

Исторические данные

При выполнении пакетных запросов к методам получения исторических данных действуют следующие ограничения:
МетодМаксимальный размер пакета
getTransaction100 элементов на запрос
getTransactionsForAddressПакетные запросы не разрешены
getTransfersByAddressПакетные запросы не разрешены
Все остальные методы получения исторических данных10 элементов на запрос
Превышение ограничений размера пакета приведёт к ответу с ошибкой. Для getTransactionsForAddress и getTransfersByAddress каждый адрес необходимо запрашивать отдельно.

LaserStream

РесурсБесплатныйDeveloperBusinessProfessional
Сети—DevnetDevnet, MainnetDevnet, Mainnet
Максимальное число публичных ключей—10 млн10 млн10 млн
Активные подключения——10100

Wallet API

Для Wallet API действуют те же ограничения частоты запросов, что и для DAS и расширенных API. Эти ограничения являются общими для всех конечных точек:
Конечная точкаБесплатныйDeveloperBusinessProfessional
Все конечные точки Wallet API2/с10/с50/с100/с
К ним относятся конечные точки поиска идентификационных данных, получения балансов и истории, выполнения переводов и определения источников пополнения. Подробнее см. в нашей документации по Wallet API.

Разобранные потоки

РесурсБесплатныйDeveloperBusinessProfessional
Одновременные подключения5105050
Подписки на одно подключение25252525
Подключения учитываются для каждого проекта суммарно по всем его API-ключам. Когда проект достигает предельного числа подключений, он получает ответ HTTP 429. Ограничения для отдельных фильтров и сообщений см. в разделе Ограничения Parsed Streams.

WebSocket LaserStream

РесурсБесплатныйDeveloperBusinessProfessional
Одновременные подключения51502501 000
Подписки на одно подключение1 0001 0001 0001 000
Типы WebSocketСтандартныеСтандартные, расширенныеСтандартные, расширенныеСтандартные, расширенные

Вебхуки

РесурсБесплатныйDeveloperBusinessProfessional
Максимальное число вебхуков5505050
Адресов на вебхук100 тыс.100 тыс.100 тыс.100 тыс.

ZK-сжатие

СервисБесплатныйDeveloperBusinessProfessional
API Photon2/с10/с50/с100/с
getValidityProof1/с5/с10/с20/с

Повторные попытки и обработка ошибок

Когда ваше приложение получает ответ 429 Too Many Requests, 503 Service Unavailable или временный ответ 5xx, немного подождите и повторите попытку — не отправляйте повторный запрос немедленно. Немедленные повторные попытки накапливают запросы и замедляют, а не ускоряют восстановление после превышения ограничения частоты запросов.

Рекомендуемая стратегия

  • Подождите около 1 секунды перед первой повторной попыткой.
  • Удваивайте время ожидания после каждой повторной попытки, но не более чем до 30 секунд.
  • Добавляйте к каждому периоду ожидания небольшое случайное отклонение в ±25%, чтобы несколько приложений не выполняли повторные попытки одновременно.
  • Прекратите попытки после 5 раз и верните ошибку вызывающему коду.

При каких ошибках следует повторять попытку

Пример

Формат ответа с ошибкой

При ошибке все API Helius возвращают структурированное тело JSON. Конечные точки JSON-RPC (Solana RPC, DAS, Sender, Priority Fee, ZK Compression) возвращают стандартную оболочку JSON-RPC 2.0:
Конечные точки REST (Wallet API, Admin API) возвращают:
Полный список кодов ошибок и их значений см. в разделе Распространённые коды ошибок.