レート制限とは?
レート制限は、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/月で追加の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 |
Professional プランでレート制限を増やす必要がある場合は、営業チームにお問い合わせください。
Professional プランのユーザーは、高スループットのトレーディングアプリをサポートするために、Sender のレートリミット増加やカスタムチップの手配をリクエストすることもできます。
複雑な RPC コール
| エンドポイント | Free | Developer | Business | Professional |
|---|
getProgramAccounts | 5/sec | 25/sec | 50/sec | 75/sec |
履歴データ
履歴データメソッドのバッチリクエストを行う場合、次の制限が適用されます:
| メソッド | 最大バッチサイズ |
|---|
getTransaction | 100 items per request |
getTransactionsForAddress | バッチリクエスト不可 |
getTransfersByAddress | バッチリクエスト不可 |
| 他のすべての履歴メソッド | 10 items per request |
バッチ制限を超えるとエラー応答が発生します。getTransactionsForAddress および getTransfersByAddress については、各アドレスを個別のリクエストで照会する必要があります。
LaserStream
| リソース | Free | Developer | Business | Professional |
|---|
| ネットワーク | — | Devnet | Devnet, Mainnet | Devnet, Mainnet |
| 最大パブキー | — | 10M | 10M | 10M |
| アクティブ接続 | — | — | 10 | 100 |
Wallet API
Wallet API は、DAS & Enhanced APIs と同じレート制限に従います。すべてのエンドポイントはこれらの制限を共有します:
| エンドポイント | Free | Developer | Business | Professional |
|---|
| すべてのWallet APIエンドポイント | 2/sec | 10/sec | 50/sec | 100/sec |
これには、アイデンティティの検索、残高、履歴、転送、および資金源のエンドポイントが含まれます。当社の Wallet API ドキュメント で詳細をご覧ください。
LaserStream WebSocket
| リソース | Free | Developer | Business | Professional |
|---|
| 同時接続 | 5 | 150 | 250 | 1,000 |
| 接続ごとのサブスクリプション | 1,000 | 1,000 | 1,000 | 1,000 |
| WebSocket タイプ | 標準 | 標準, 拡張 | 標準, 拡張 | 標準, 拡張 |
Webhooks
| リソース | Free | Developer | Business | Professional |
|---|
| 最大 Webhooks | 5 | 50 | 50 | 50 |
| Webhook ごとのアドレス | 100k | 100k | 100k | 100k |
ZK Compression
| サービス | Free | Developer | Business | Professional |
|---|
| Photon APIs | 2/sec | 10/sec | 50/sec | 100/sec |
getValidityProof | 1/sec | 5/sec | 10/sec | 20/sec |
再試行とエラー処理
アプリケーションが 429 Too Many Requests、503 Service Unavailable または一時的な 5xx 応答を受け取った場合、少し待って再試行してください — 即座には再試行しないでください。即時の再試行はリクエストを積み重ね、レート制限の回復を遅らせます。
推奨戦略
- 最初の再試行まで約 1秒 待ちます。
- 再試行するたびに待ち時間を 2倍 にし、最大で 30秒 までとします。
- 複数のアプリケーションが同時に再試行しないように各待ち時間に ±25% の小さなランダムな変動を追加します。
- 5回 試行後に諦め、呼び出し元にエラーを返します。
再試行すべきエラー
エラー応答形式
すべての Helius API は、エラー時に構造化された JSON 本文を返します。JSON-RPC エンドポイント(Solana RPC、DAS、Sender、Priority Fee、ZK Compression)は、標準的な JSON-RPC 2.0 エンベロープを返します:
REST エンドポイント(Wallet API、Admin API)は次のように返します:
CODE_PLACEHOLDER_8060fb8e9e559c_END
共通エラーコードで、完全なエラーコードのリストと各コードの意味を確認してください。