Binance API Keyの作成は6つのステップに分かれています:Binance公式サイトにログインし(API機能はWeb版のみで、アプリでは作成できません)、「アカウント - API管理」にアクセスし、「API作成」をクリックして「システム生成」を選択します。カスタムラベル名を入力し、メール+2FA+SMSの3重検証を通過すると、システムはAPI KeyとSecret Keyを一度だけ表示します。すぐにコピーして保存してください(Secret Keyは一度しか表示されません!)。最後に、権限(現物取引/先物取引/出金/読み取りなど)とIPホワイトリストを設定します。強くお勧めします:作成したすべてのAPI Keyには必ずIPホワイトリストをバインドしてください。IPホワイトリストのないAPI Keyが流出することは、資産を直接他人に渡すのと同じです。Binanceの2024年の統計データによると、API Keyの盗難による資金損失の93%は、IPホワイトリストが設定されていないKeyで発生しています。IPホワイトリストをバインドしていれば、Secret Keyが流出しても、攻撃者は自分のサーバーからAPIを呼び出すことができません。Binance公式アプリではAPI Keyを作成できませんが、既存のKeyの確認と削除はできるため、緊急時の対応に便利です。まだアプリをインストールしていない場合は、iOSインストールチュートリアルを参照してください。本記事では、作成、権限設定、ホワイトリスト、利用、監視、漏洩時の緊急対応といったAPIのライフサイクル全体を網羅しています。
API Keyとは?何ができるのか?
API Key(アプリケーションプログラミングインターフェースキー)は、外部プログラムがあなたの代わりにBinanceアカウントを操作するための認証情報です。API Keyがあれば、プログラムは毎回パスワードを入力することなく、24時間休むことなくアカウントデータの読み取り、注文の売買、履歴の照会を行うことができます。
典型的なユースケースは以下の5つです:クオンツ取引(Python戦略を実行して自動で売買する)、コピートレード(プログラムにインフルエンサーのポジションをコピーさせる)、相場データの取得(バックテストのために過去のK線をまとめて取得する)、資産の棚卸し(複数アカウントの総資産を自動で集計する)、会計記帳(企業の財務システムと連携する)。
API Keyは2つの部分で構成されています:API Key(公開鍵)は身分を識別するためのもので、公開されても問題ありません。Secret Key(秘密鍵)はリクエストに署名するためのもので、厳重に機密に保つ必要があります。銀行のキャッシュカードに例えると、API Keyは口座番号、Secret Keyは暗証番号に相当します。口座番号を他人に見せても問題ありませんが、暗証番号が漏れると終わりです。
API Key作成の詳細手順
ステップ1:API管理ページに入る。 Binance公式サイトにログインし(スマホのブラウザでも可能ですが、アプリ内での作成は現在サポートされていません)、右上のプロフィールアイコンをクリックして、「API管理」(API Management)を選択します。ページの上部には作成済みのすべてのAPI Keyリストが表示され、下部には「API作成」ボタンがあります。
ステップ2:作成方法の選択。 Binanceは2つの方法を提供しています。「システム生成」(System-generated)は大部分のユーザーに適しており、キーはBinanceによってランダムに生成されます。「自己生成」(Self-generated)は、RSA/Ed25519キーペアを持つ上級ユーザーに適しており、自分で公開鍵と秘密鍵を生成して公開鍵をBinanceにアップロードするため、安全性が高くなります(Binanceはあなたの秘密鍵を知りません)。
一般ユーザーは「システム生成」を選べば十分に安全です。企業ユーザーやプロのクオンツチームには、「自己生成」のEd25519キーペアを使用することをお勧めします。Binanceは2024年5月からこの方法を推奨しており、署名パフォーマンスはHMAC-SHA256の10倍以上高速です。
ステップ3:API Keyの命名。 「現物グリッド戦略」「先物マーケットメイク」「残高監視」など、意味のあるラベル名を入力します。ラベルは自分だけが見ることができ、後で異なる用途を区別するのに便利です。1つの戦略につき1つのKeyを使用し、1つのKeyを複数の用途に使い回さないことをお勧めします。
ステップ4:身分検証。 メールで受信した6桁の認証コード、SMSで受信した6桁の認証コード、Google Authenticatorの6桁の動的コードを入力します。3重の検証すべてに合格しないと次のステップに進めません。
ステップ5:Secret Keyの保存。 検証に合格すると、ページにAPI KeyとSecret Keyが表示されます。Secret Keyはこの時一度だけ表示され、ページを閉じると二度と確認できなくなります。 必ずすぐに安全な場所にコピーして保存してください。推奨される保存先:
- パスワードマネージャー(1Password、Bitwardenなど)の「暗号化メモ」フィールド
- ローカルの暗号化ファイル(GPGで暗号化してUSBメモリに保存)
- 最も安全:紙に書いて金庫に保管(高額アカウントに適しています)
絶対に推奨しない保存先:WeChatの「お気に入り」、QQメールの下書き、プレーンテキストのtxtファイル、暗号化されていないクラウドストレージ——これらは簡単に情報が漏洩します。
ステップ6:権限とIPの設定(詳細は後述)。
4段階の権限システム
BinanceのAPI権限は、低いものから高いものまで4段階に分かれており、原則は「最小権限」——あなたの戦略に必要な権限のみを有効にすることです。
Level 1:読み取り専用(Read Only)。 アカウントの残高、注文履歴、現在のポジションを照会できますが、注文、出金、設定の変更はできません。これは最も安全なレベルであり、資産の監視、財務の照合、税務申告に適しています。
Level 2:現物およびマージン取引(Spot & Margin Trading)。 Level 1に加えて注文機能が追加され、現物やマージンの売買が可能です。先物の操作や出金はできません。現物のクオンツ戦略に適しています。
Level 3:先物取引(Futures Trading)。 独立したスイッチであり、U本位先物、コイン本位先物、オプションの取引権限を有効にできます。先物にはレバレッジがあり高リスクなため、十分にバックテストされた戦略にのみこの権限を有効にすることをお勧めします。
Level 4:出金(Enable Withdrawals)。 最も危険なレベルです。これを有効にすると、プログラムがあなたのアカウントから資産を引き出すことができます!99%のユーザーはこの権限を有効にする必要はありません。出金は常に手動で行うべきです。取引所間のアービトラージや自動資金集約といったごく少数のシナリオでのみ必要とされ、その場合は必ず出金アドレスのホワイトリストを厳格に制限する必要があります。
権限が高くなるほど攻撃されるリスクが大きくなります。推奨される原則:読み取り、現物、先物は必要に応じてオンにし、出金は決してオンにしないこと。もしある日、あなたの戦略が「出金権限を必要としている」ことに気づいたら、まずは出金の代わりに内部送金(例:U本位先物から現物への振替など)で代用できないか考えてみてください。ほとんどのシナリオで代用可能です。
IPホワイトリストは生命線
ここは本記事で最も重要な部分です。IPホワイトリストが設定されていないAPI Keyの漏洩は、アカウントの盗難と同義です。
IPホワイトリストの仕組み:戦略を実行しているサーバーのIPアドレス(例:Alibaba Cloud ECSのパブリックIP:47.98.xx.xx)をホワイトリストに追加すると、BinanceのAPIサーバーはそれらのIPからのリクエストのみを受け入れます。他のIPからのリクエストは、Secret Keyによる署名が正しくても拒否されます。
作成時のIP設定オプション:
- 信頼されたIPのみのアクセスを制限(推奨): 1行に1つずつ、1〜20個のIPアドレスを入力します。「47.98.123.45」のようなIPv4形式のみで、セグメント(192.168.1.0/24のような書き方)はサポートされていません。
- 無制限(全く推奨しません): どのIPからでもこのKeyを使用できます。Binanceは2024年から、「IP無制限」のKeyの有効期限を90日に制限しました。有効期限が切れると自動的に無効になり、再作成が必要となるため、ユーザーにIPホワイトリストの使用を強制しています。
サーバーIPの確認方法: サーバーにSSHログインした後、curl ifconfig.me または curl ip.sb を実行すると、パブリックIPが返されます。家庭用ブロードバンドのユーザーは注意してください。家庭用IPのほとんどは動的であり、再接続のたびに変わる可能性があるため、APIホワイトリストには適していません。VPS(固定IP)やクラウドファンクションサービスを使用することをお勧めします。
複数地域での展開: あなたの戦略が複数のサーバー(メインとバックアップ、または複数の地域)で稼働している場合は、すべてのIPをホワイトリストに追加します。Binanceは最大20個のIPを許可しています。
一時的なデバッグ: 開発段階で、ローカルのPCで戦略をデバッグしたい場合は、一時的に自宅のパブリックIPをホワイトリストに追加し、デバッグが完了したらすぐに削除して、サーバーのIPだけを残すことができます。
API利用におけるセキュリティの実践
実践1:Secret Keyをコード内にハードコーディングしてはいけない。 .pyや.jsファイルに直接書き込まないでください。Gitリポジトリ(特に公開リポジトリ)にコミットされるのを避けるためです。正しい方法は、環境変数(export BINANCE_SECRET=xxx)または設定ファイル(.env、.gitignoreに追加)を使用することです。
実践2:独立したサブアカウントを使用してリスクを隔離する。 Binanceは最大200個のサブアカウントを無料で作成できます。各戦略は独立したサブアカウントで実行し、メインアカウントには資金移動のための少額の資金のみを残しておくことをお勧めします。サブアカウントのAPI Keyが盗まれたとしても、損失はサブアカウントの残高のみに限定されます。
実践3:権限の分離。 残高の読み取りにはRead OnlyのKeyを使用し、取引にはSpot TradingのKeyを使用します。フロントエンドの表示やレポートに使用される読み取り用KeyはIP無制限にできますが、取引用KeyはIPを厳格にバインドし、権限を設定します。
実践4:定期的なローテーション。 90日ごとにAPI Keyを新しく作成し、古いものを削除します。古いKeyが長期間監視されていたとしても、90日後には無効になります。BinanceのAPI管理ページには各Keyの作成時間が表示されるため、追跡に便利です。
実践5:異常な呼び出しを監視する。 BinanceはAPI Keyの呼び出し統計を提供しています。「API管理」ページでKeyの右側にある「詳細を表示」をクリックすると、1分あたりの呼び出し回数、最大ウェイト消費量、および制限に引っかかった回数が表示されます。あるKeyの呼び出し量が突然倍増した場合、誰かが乱用している可能性があります。
もしAPI Keyが流出したらどうするか?
ステップ1:すぐにアプリまたはWebで該当のAPI Keyを削除する。 API管理ページに入り、漏洩したKeyの右側にある「削除」ボタンをクリックします。確認後、Keyはすぐに無効になります。削除は復元できないので、ためらわないでください。
ステップ2:アカウントの操作履歴を確認する。 過去24時間の取引、出金、入金履歴を確認し、異常な取引がないかを特定します。もし攻撃者がすでにKeyを使ってマイナーなゴミコインを注文・購入している場合(典型的なパンプ・アンド・ダンプ攻撃)、すぐにカスタマーサポートに連絡してアカウントを凍結してください。
ステップ3:その他の関連するセキュリティ設定をリセットする。 ログインパスワードを変更し、2FAをリセットし、他のAPI Keyが安全かどうかを確認します。攻撃者はアカウントの他の認証情報も同時に取得している可能性があるためです。
ステップ4:漏洩の経路を調査する。 よくある漏洩経路には、コードが公開Gitリポジトリにプッシュされた(github.com/searchcodeなどのツールを使って自分のSecret Keyを検索)、サーバーが侵入された(auth.logを確認)、スクリーンショットにうっかり写り込んだ、「カスタマーサポート」にキーを提供した(詐欺)、悪意のあるオープンソースのクオンツフレームワークを使用した、などがあります。根本原因を見つけてこそ、再発を防ぐことができます。
ステップ5:チケットを提出する。 損失がない場合でも、Binanceのカスタマーサポートにチケットを提出して状況を説明し、「API漏洩冷却期間」の有効化をリクエストすることをお勧めします。アカウントは7日間、出金審査が強化された状態になり、いかなる出金にも手動の審査が必要になります。
よくあるエラーコードと対応
| エラーコード | 意味 | 対応方法 |
|---|---|---|
| -1021 | タイムスタンプがサーバーの時間枠を超えている | NTPでサーバー時間を校正する |
| -1022 | 署名が無効 | Secret Key、パラメータの結合順序を確認する |
| -2010 | 注文失敗:残高不足 | 利用可能な残高と凍結状況を確認する |
| -2014 | API Keyのフォーマットエラー | Keyの文字列が完全かどうかを確認する |
| -2015 | API Keyが無効/無効化されている/IPホワイトリストの不一致 | IPホワイトリストを重点的に確認する |
| -1003 | リクエストの頻度が高すぎる | 呼び出し頻度を下げ、ウェイトに注意する |
| -4131 | 先物API権限が有効になっていない | API管理ページで先物権限を有効にする |
-2015エラーが発生する最も一般的な理由は、IPホワイトリストの設定ミス、またはサーバーのIPが変更されたことです。curl ifconfig.me を使用して現在のIPを再確認し、ホワイトリストと照らし合わせてください。
よくある質問(FAQ)
Q:API Keyはいくつ作成できますか? A:現在、1つのアカウントにつき最大30個のAPI Keyに制限されています。ほとんどのユーザーにとっては十分な数です。
Q:Secret Keyを紛失した場合はどうすればよいですか? A:新しいAPI Keyを作成し直すしかありません。古いKeyとSecretの組み合わせは二度と取り戻せません。作成時にすぐにSecret Keyを保存しなければならない理由はこれです。
Q:API Keyの利用に料金はかかりますか? A:無料です。取引手数料は手動で取引する場合と同じで、APIによる追加費用はありません。
Q:API Keyに有効期限はありますか? A:永久に有効です(IPホワイトリストが設定されていないものは2024年から90日間に制限されます)。しかし、セキュリティを高めるために90日ごとにローテーション(再作成)することを積極的に推奨します。
Q:問題の調査のために、カスタマーサポートにAPI Keyを送ってもよいですか? A:絶対にダメです! 本物のカスタマーサポートがあなたにSecret Keyの提供を求めることは絶対にありません。Secret Keyを要求してくる者はすべて詐欺師です。