Skip to main content

レート制限とは?

レート制限は、1秒あたりに行えるリクエストの数を制御します。レート制限を超えると、HTTP 429 応答を受け取ります。429 やその他の一時的な失敗が発生した場合の対応方法については、以下の 再試行とエラー処理 を参照してください。

標準レート制限

プランには、RPC リクエスト用と DAS API リクエスト用の2つの標準レート制限グループがあります。各 Helius プランの基本レート制限は次のとおりです:
プランRPC レート制限DAS & Enhanced APIs
Free10 requests/s2 requests/s
Developer50 requests/s10 requests/s
Business200 requests/s50 requests/s
Professional500 requests/s100 requests/s
EnterpriseCustomCustom

レート制限の引き上げ

Professional プランのチームは、月額 100 USD で 100 RPS を追加購入できます。 カスタムレート制限が必要な場合は、営業チームにお問い合わせください。Developer または Business ティアの場合、プランをアップグレードしてレート制限を増やしてください。

特別レート制限

一部のエンドポイントおよび特殊な Helius 製品には、計算要件のため特別なレート制限があります。

取引の送信

エンドポイントFreeDeveloperBusinessProfessional
Sender50/sec50/sec50/sec50/sec
sendTransaction1/sec5/sec50/sec100/sec
sendBundle——5/sec5/sec
simulateBundle10/sec50/sec200/sec500/sec
Sender のキーレス /fast リクエストは、リージョンごとに送信元 IP あたり毎秒 1 リクエストに制限されます。同じ NAT の背後にいる呼び出し元は、この制限を共有します。拒否された 429 リクエストは制限にカウントされますが、/ping はカウントされません。既存の Helius プロジェクト API キーを追加すると、キーおよびリージョンごとに毎秒 50 リクエストの制限が適用されます。
Professional プランを利用中で、sendTransaction のレート制限を引き上げる必要がある場合は、営業チームにお問い合わせください。 Professional プランのユーザーは、高スループットの取引アプリを Sender でサポートするために、レート制限の引き上げやカスタムチップ設定をリクエストすることもできます。

複雑な RPC 呼び出し

エンドポイント無料DeveloperBusinessProfessional
getProgramAccounts5回/秒25回/秒50回/秒75回/秒

履歴データ

履歴データのメソッドに対してバッチリクエストを行う場合、次の制限が適用されます。
メソッド最大バッチサイズ
getTransaction1リクエストあたり100項目
getTransactionsForAddressバッチリクエストは許可されていません
getTransfersByAddressバッチリクエストは許可されていません
その他すべての履歴メソッド1リクエストあたり10項目
バッチ制限を超えると、エラーレスポンスが返されます。getTransactionsForAddress と getTransfersByAddress では、各アドレスを個別のリクエストで照会する必要があります。

LaserStream

リソース無料DeveloperBusinessProfessional
ネットワーク—DevnetDevnet、MainnetDevnet、Mainnet
最大公開鍵数—10M10M10M
アクティブな接続数——10100

Wallet API

Wallet API には、DAS および Enhanced API と同じレート制限が適用されます。すべてのエンドポイントで次の制限が共有されます。
エンドポイント無料DeveloperBusinessProfessional
すべての Wallet API エンドポイント2回/秒10回/秒50回/秒100回/秒
これには、ID 検索、残高、履歴、送金、資金源の各エンドポイントが含まれます。詳しくは、Wallet API ドキュメントをご覧ください。

解析済みストリーム

リソース無料DeveloperBusinessProfessional
同時接続数5105050
接続あたりのサブスクリプション数25252525
接続数は、そのプロジェクトのすべての API キーを合算してプロジェクト単位でカウントされます。接続数の上限に達したプロジェクトには HTTP 429 が返されます。フィルターごとおよびメッセージの制限については、解析済みストリームの制限をご覧ください。

LaserStream WebSocket

リソース無料DeveloperBusinessProfessional
同時接続数51502501,000
接続あたりのサブスクリプション数1,0001,0001,0001,000
WebSocket の種類StandardStandard、EnhancedStandard、EnhancedStandard、Enhanced

Webhook

リソース無料DeveloperBusinessProfessional
最大 Webhook 数5505050
Webhook あたりのアドレス数100k100k100k100k

ZK 圧縮

サービス無料DeveloperBusinessProfessional
Photon API2回/秒10回/秒50回/秒100回/秒
getValidityProof1回/秒5回/秒10回/秒20回/秒

再試行とエラー処理

アプリケーションが 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 圧縮)は、標準の JSON-RPC 2.0 エンベロープを返します。
REST エンドポイント(Wallet API、Admin API)は次を返します。
エラーコードの完全な一覧と各コードの意味については、一般的なエラーコードをご覧ください。