レート制限とは?
レート制限は、1秒あたりに行えるリクエストの数を制御します。レート制限を超えると、HTTP 429 応答を受け取ります。429 やその他の一時的な失敗が発生した場合の対応方法については、以下の 再試行とエラー処理 を参照してください。標準レート制限
プランには、RPC リクエスト用と DAS API リクエスト用の2つの標準レート制限グループがあります。各 Helius プランの基本レート制限は次のとおりです:| プラン | RPC レート制限 | DAS & Enhanced APIs |
|---|---|---|
| Free | 10 requests/s | 2 requests/s |
| Developer | 50 requests/s | 10 requests/s |
| Business | 200 requests/s | 50 requests/s |
| Professional | 500 requests/s | 100 requests/s |
| Enterprise | Custom | Custom |
レート制限の引き上げ
Professional プランのチームは、月額 100 USD で 100 RPS を追加購入できます。 カスタムレート制限が必要な場合は、営業チームにお問い合わせください。Developer または Business ティアの場合、プランをアップグレードしてレート制限を増やしてください。特別レート制限
一部のエンドポイントおよび特殊な Helius 製品には、計算要件のため特別なレート制限があります。取引の送信
| エンドポイント | Free | Developer | Business | Professional |
|---|---|---|---|---|
Sender | 50/sec | 50/sec | 50/sec | 50/sec |
sendTransaction | 1/sec | 5/sec | 50/sec | 100/sec |
sendBundle | — | — | 5/sec | 5/sec |
simulateBundle | 10/sec | 50/sec | 200/sec | 500/sec |
Sender のキーレス
/fast リクエストは、リージョンごとに送信元
IP あたり毎秒 1 リクエストに制限されます。同じ NAT の背後にいる呼び出し元は、この制限を共有します。拒否された 429
リクエストは制限にカウントされますが、/ping はカウントされません。既存の Helius
プロジェクト API キーを追加すると、キーおよびリージョンごとに毎秒 50 リクエストの制限が適用されます。sendTransaction のレート制限を引き上げる必要がある場合は、営業チームにお問い合わせください。
Professional プランのユーザーは、高スループットの取引アプリを Sender でサポートするために、レート制限の引き上げやカスタムチップ設定をリクエストすることもできます。
複雑な RPC 呼び出し
| エンドポイント | 無料 | Developer | Business | Professional |
|---|---|---|---|---|
getProgramAccounts | 5回/秒 | 25回/秒 | 50回/秒 | 75回/秒 |
履歴データ
履歴データのメソッドに対してバッチリクエストを行う場合、次の制限が適用されます。| メソッド | 最大バッチサイズ |
|---|---|
getTransaction | 1リクエストあたり100項目 |
getTransactionsForAddress | バッチリクエストは許可されていません |
getTransfersByAddress | バッチリクエストは許可されていません |
| その他すべての履歴メソッド | 1リクエストあたり10項目 |
LaserStream
| リソース | 無料 | Developer | Business | Professional |
|---|---|---|---|---|
| ネットワーク | — | Devnet | Devnet、Mainnet | Devnet、Mainnet |
| 最大公開鍵数 | — | 10M | 10M | 10M |
| アクティブな接続数 | — | — | 10 | 100 |
Wallet API
Wallet API には、DAS および Enhanced API と同じレート制限が適用されます。すべてのエンドポイントで次の制限が共有されます。| エンドポイント | 無料 | Developer | Business | Professional |
|---|---|---|---|---|
| すべての Wallet API エンドポイント | 2回/秒 | 10回/秒 | 50回/秒 | 100回/秒 |
解析済みストリーム
| リソース | 無料 | Developer | Business | Professional |
|---|---|---|---|---|
| 同時接続数 | 5 | 10 | 50 | 50 |
| 接続あたりのサブスクリプション数 | 25 | 25 | 25 | 25 |
LaserStream WebSocket
| リソース | 無料 | Developer | Business | Professional |
|---|---|---|---|---|
| 同時接続数 | 5 | 150 | 250 | 1,000 |
| 接続あたりのサブスクリプション数 | 1,000 | 1,000 | 1,000 | 1,000 |
| WebSocket の種類 | Standard | Standard、Enhanced | Standard、Enhanced | Standard、Enhanced |
Webhook
| リソース | 無料 | Developer | Business | Professional |
|---|---|---|---|---|
| 最大 Webhook 数 | 5 | 50 | 50 | 50 |
| Webhook あたりのアドレス数 | 100k | 100k | 100k | 100k |
ZK 圧縮
| サービス | 無料 | Developer | Business | Professional |
|---|---|---|---|---|
| Photon API | 2回/秒 | 10回/秒 | 50回/秒 | 100回/秒 |
getValidityProof | 1回/秒 | 5回/秒 | 10回/秒 | 20回/秒 |
再試行とエラー処理
アプリケーションが429 Too Many Requests、503 Service Unavailable、または一時的な 5xx レスポンスを受信した場合は、少し待ってから再試行してください。すぐには再試行しないでください。即時に再試行するとリクエストが積み重なり、レート制限からの回復が速くなるどころか遅くなります。
推奨戦略
- 最初の再試行まで約 1 秒待ってください。
- 再試行するたびに待機時間を 2 倍にし、最大 30 秒まで延長してください。
- 複数のアプリケーションが同時に再試行しないように、各待機時間に ±25% の小さなランダム変動を加えてください。
- 5 回試行しても成功しない場合は中止し、呼び出し元のコードにエラーを返してください。