APIキーはAPI認証に必要で、APIを利用するにあたるユーザー名とパスワードに相当するものです。
Kraken Proモバイルアプリ用のAPIキーとQRコードの作成についてはこちらをご覧ください
APIキーは、アカウント管理、取引、入出金などのプライベートAPI を呼び出すのに必要なものです。 パブリックAPI (マーケットデータ)は、Krakenアカウントにアクセスする必要がないため、APIキーは必要ありません。
APIキーの作成
- アカウントにログイン する
- 画面右上の プロフィールアイコンをクリックする
- 「セキュリティ」>「API」をクリックする
- 「キーを追加」ボタンをクリックする
APIキーのパーミッションを設定する
APIキーには使用する前に以下の画面から設定します。特に、キー名とキーのパーミッションです。
キー名
キー名は、APIキーの名前なのでお好みのものをご登録いただけますが、 アカウント上で作成されたキー毎に 異なる名前 をご使用ください。
デフォルトでは、「api-key-1605316109249」のようなものキー名として与えられます。このデフォルトの名前はそのままご使用いただくことも可能ですし、より分かりやすい名前(「取引キー」、「アカウント管理キー」、「Python APIキー6」、「モバイルアプリキー」等)に変更していただくことも可能です。
キーパーミッション設定
キーパーミッションは、APIキーが使用できるプライベートAPIの機能を決定します。
入出金
- 残高をクエリは、残高や合計残高などのアカウントの残高をクエリするアカウント管理に必要です。
- 資金を入金は、DepositMethodsやDepositAddressesなどの入金メソッドに必要です。
- 資金の出金は、WithdrawInfo、Withdraw、WithdrawCancelなどの出金メソッドに必要です。
注文 & 取引
- オープン注文&取引のクエリは、OpenOrders、QueryOrders、OpenPositionsなどの既存の注文とポジションをクエリするアカウント管理メソッドに必要です。
- クローズ済み注文 & 取引のクエリは、 ClosedOrders、QueryOrders、QueryTradesなどの以前クローズ/キャンセルされた注文とポジションをクエリするアカウント管理メソッドに必要です。
- 注文の訂正は、新規注文の作成、つまりAddOrderの取引メソッドに必要です。
- 注文のキャンセル/クローズは、オープン(未決済)注文のキャンセル、つまりCancelOrderの取引メソッドに必要です。
その他
- アカウント明細をクエリは、アカウント明細から履歴を取得、つまりLedgers and QueryLedgersのアカウント管理メソッドに必要です。
- データのエクスポートは、AddExport、RetrieveExport、ExportStatus、RemoveExportなどのアカウント明細をエクスポートするアカウント管理メソッドに必要です。
- WebSockets APIにアクセスは、WebSocket APIプライベートフィード/エンドポイントの認証トークンを取得するのに必要です。
APIキーパーミッションを正しく使用する例として、取引目的でサードパーティに提供されるAPIキーについて考えてみます。 このようなAPIキーには、注文の訂正、注文のキャンセル/クローズパーミッションが不可欠であり、オープン注文&取引のクエリパーミッションも必要となるかもしれません。しかしながら資金の出金パーミッションはほぼ確実に必要ありません。
権限を適切に構成することで、APIクライアントによりアカウント上での取引を実行できますが、APIクライアントがアカウント情報にアクセスしたり入出金を実行したりすることを防げます。
その他の設定 (ナンスウィンドウ、 キーの有効期限、クエリの開始日時、クエリの終了日時)
残りのAPIキー設定は、高度な構成にのみ必要であるため、通常はデフォルト値のままで問題ありません。
- ナンスウィンドウは短い時間枠(1秒、10秒など)であり、無効な ナンスを含むリクエスト、具体的には以前に使用されたナンス値よりも低い値が使用された場合、無効なナンスエラー(EAPI:Invalid nonce)は発生しません。ナンスウィンドウの主な目標は、ネットワークの不整合を克服することです。
- キーの有効期限は、ユーザーが指定した期間のみ使用することが可能なAPIキーを作成するためのものです。
- クエリの開始日時、クエリの終了日時は、その特定のAPIキーを使用してアカウントの履歴データをクエリできる時間枠を指定するためのものです。
APIキーの設定を適切に選択した後、「APIキーを作成」ボタンをクリックしてください。 QRコードをスキャン、もしくは公開鍵と秘密鍵を保存した後は、必ず「保存」をクリックしてください。保存されない限り、鍵は有効ではありません。
重要:「秘密鍵」とQRコードは、最初にAPIキーを作成した後に1度だけ表示されます。後で再度アクセスする必要がある場合は、パスワードマネージャーに保存してください。なお、暗号化されていない形式で保存しないでください。
「秘密鍵」とQRコードはパスワードと同様に扱ってください。悪意のある第三者の手に渡った場合、お客様のアカウントが不正アクセスされる可能性があります。
APIキーを使用する
APIキーは、公開鍵と秘密鍵のペアで構成されており、どちらもAPIクライアントソフトウェアに提供する必要があります。
3つの異なる方法で使用することが可能です。:
- キーペアは、プレーンテキストとしてAPIクライアントコードに直接コピー・ペーストすることができます。
- 例:PHP APIクライアントで使用されるメソッド
- キーペアは、APIクライアントがアクセスできるプレーンテキストファイルにコピー・ペーストすることができます。
- 例:コマンドライン APIクライアントで使用されるメソッド
- キーペアの値は、モバイルカメラでQRコード(上記のように)をスキャンすることで、iOSおよびAndroid用のモバイルアプリにインポートできます。詳細はこちらをご確認ください。
注意:秘密鍵は、一部のAPIクライアントソフトウェアではAPIシークレット(または単にシークレット)とも呼ばれます。
APIキー用の2要素認証を設定する
APIキーは、KrakenアカウントへのAPIアクセスを認証する安全な方法ですが、2要素認証を追加することで、セキュリティをさらに強化することができます。
APIキーの2要素認証は、セキュリティのページにて既存のAPIキーに追加でき、固定パスワードまたはGoogle認証のいずれかを使用できます。
注意:APIキーに2要素認証を追加するには、APIクライアントが2要素認証に対応している(プライベートAPIメソッドのコールごとに2要素認証のデータを提供している)必要があります。対応していない場合、APIアウトプットの代わりに予期しないエラーが返されます。
APIキーの2要素認証の詳細については、こちらをご確認ください。