Что такое ограничения частоты запросов?
Ограничения частоты запросов определяют, сколько запросов в секунду вы можете выполнять. При превышении ограничений вы получите ответ HTTP 429. Рекомендации о том, что делать при получении ответа 429 или другой временной ошибке, приведены ниже в разделе Повторные попытки и обработка ошибок.Стандартные ограничения частоты запросов
Для вашего тарифа предусмотрены две стандартные группы ограничений частоты запросов: одна для запросов RPC, другая — для запросов DAS API. Ниже приведены базовые ограничения для каждого тарифа Helius:| Тариф | Ограничение частоты запросов RPC | DAS и расширенные API |
|---|---|---|
| Бесплатный | 10 запросов/с | 2 запроса/с |
| Developer | 50 запросов/с | 10 запросов/с |
| Business | 200 запросов/с | 50 запросов/с |
| Professional | 500 запросов/с | 100 запросов/с |
| Enterprise | Индивидуально | Индивидуально |
Увеличение ограничений частоты запросов
Команды на тарифе Professional могут приобрести дополнительные 100 запросов/с за 100 долларов США в месяц. Если перед запуском вам нужны индивидуальные ограничения частоты запросов, свяжитесь с нашим отделом продаж. Если вы используете тариф Developer или Business, перейдите на более высокий тариф, чтобы увеличить ограничения частоты запросов.Особые ограничения частоты запросов
Для некоторых конечных точек и специализированных продуктов Helius действуют особые ограничения частоты запросов из-за их требований к вычислительным ресурсам.Отправка транзакций
| Конечная точка | Бесплатный | Developer | Business | Professional |
|---|---|---|---|---|
Sender | 50/с | 50/с | 50/с | 50/с |
sendTransaction | 1/с | 5/с | 50/с | 100/с |
sendBundle | — | — | 5/с | 5/с |
simulateBundle | 10/с | 50/с | 200/с | 500/с |
Запросы Sender без ключа
/fast ограничены одним запросом в секунду на исходящий
IP-адрес в каждом регионе. Клиенты, использующие один и тот же NAT, совместно используют это ограничение. Отклонённые запросы 429
учитываются в ограничении, а /ping — нет. Добавьте существующий API-ключ проекта Helius,
чтобы получить ограничение в 50 запросов в секунду на каждый ключ в каждом регионе.sendTransaction, свяжитесь с нашим отделом продаж.
Пользователи тарифа Professional также могут запросить увеличение ограничений частоты запросов и индивидуальные условия чаевых для Sender, чтобы обеспечить работу торговых приложений с более высокой пропускной способностью.
Сложные вызовы RPC
| Конечная точка | Бесплатный | Developer | Business | Professional |
|---|---|---|---|---|
getProgramAccounts | 5/с | 25/с | 50/с | 75/с |
Исторические данные
При выполнении пакетных запросов к методам получения исторических данных действуют следующие ограничения:| Метод | Максимальный размер пакета |
|---|---|
getTransaction | 100 элементов на запрос |
getTransactionsForAddress | Пакетные запросы не разрешены |
getTransfersByAddress | Пакетные запросы не разрешены |
| Все остальные методы получения исторических данных | 10 элементов на запрос |
LaserStream
| Ресурс | Бесплатный | Developer | Business | Professional |
|---|---|---|---|---|
| Сети | — | Devnet | Devnet, Mainnet | Devnet, Mainnet |
| Максимальное число публичных ключей | — | 10 млн | 10 млн | 10 млн |
| Активные подключения | — | — | 10 | 100 |
Wallet API
Для Wallet API действуют те же ограничения частоты запросов, что и для DAS и расширенных API. Эти ограничения являются общими для всех конечных точек:| Конечная точка | Бесплатный | Developer | Business | Professional |
|---|---|---|---|---|
| Все конечные точки Wallet API | 2/с | 10/с | 50/с | 100/с |
Разобранные потоки
| Ресурс | Бесплатный | Developer | Business | Professional |
|---|---|---|---|---|
| Одновременные подключения | 5 | 10 | 50 | 50 |
| Подписки на одно подключение | 25 | 25 | 25 | 25 |
WebSocket LaserStream
| Ресурс | Бесплатный | Developer | Business | Professional |
|---|---|---|---|---|
| Одновременные подключения | 5 | 150 | 250 | 1 000 |
| Подписки на одно подключение | 1 000 | 1 000 | 1 000 | 1 000 |
| Типы WebSocket | Стандартные | Стандартные, расширенные | Стандартные, расширенные | Стандартные, расширенные |
Вебхуки
| Ресурс | Бесплатный | Developer | Business | Professional |
|---|---|---|---|---|
| Максимальное число вебхуков | 5 | 50 | 50 | 50 |
| Адресов на вебхук | 100 тыс. | 100 тыс. | 100 тыс. | 100 тыс. |
ZK-сжатие
| Сервис | Бесплатный | Developer | Business | Professional |
|---|---|---|---|---|
| API Photon | 2/с | 10/с | 50/с | 100/с |
getValidityProof | 1/с | 5/с | 10/с | 20/с |
Повторные попытки и обработка ошибок
Когда ваше приложение получает ответ429 Too Many Requests, 503 Service Unavailable или временный ответ 5xx, немного подождите и повторите попытку — не отправляйте повторный запрос немедленно. Немедленные повторные попытки накапливают запросы и замедляют, а не ускоряют восстановление после превышения ограничения частоты запросов.
Рекомендуемая стратегия
- Подождите около 1 секунды перед первой повторной попыткой.
- Удваивайте время ожидания после каждой повторной попытки, но не более чем до 30 секунд.
- Добавляйте к каждому периоду ожидания небольшое случайное отклонение в ±25%, чтобы несколько приложений не выполняли повторные попытки одновременно.
- Прекратите попытки после 5 раз и верните ошибку вызывающему коду.