時価総額: $2.2043T 0.58%
ボリューム(24時間): $56.8553B 3.76%
恐怖と貪欲の指数:

39 - 恐れ

  • 時価総額: $2.2043T 0.58%
  • ボリューム(24時間): $56.8553B 3.76%
  • 恐怖と貪欲の指数:
  • 時価総額: $2.2043T 0.58%
暗号
トピック
暗号化
ニュース
暗号造園
動画
トップクリプトスペディア

言語を選択する

言語を選択する

通貨の選択

暗号
トピック
暗号化
ニュース
暗号造園
動画

Kraken 取引 API での無効な API 署名エラーを修正するにはどうすればよいですか?

Kraken API requires HMAC-SHA512 signatures built from `/endpoint + SHA256(nonce+postdata)`, using Base64-decoded secret—timestamps must be unique, millisecond-precise, and <60s old.

2026/06/27 02:59

Kraken API 署名要件を理解する

1. Kraken は、取引エンドポイントへのすべての認証されたリクエストに対して厳密な署名検証を強制します。

2. 署名は、データ要素の特定の連結に対して HMAC-SHA512 を使用して計算する必要があります。

3. すべてのリクエストにはミリ秒単位の一意のタイムスタンプが必要で、サーバーは 60 秒を超えるリクエストを拒否します。

4. POST 本文は、署名ベースに含める前に、URL エンコードされた文字列としてエンコードする必要があります。

5. リクエストヘッダーで使用される API キーは、署名に使用されるシークレットに関連付けられたものと一致する必要があります。

正しい署名構築シーケンス

1.署名フィールド自体を除く、すべてのリクエスト パラメータを辞書にアセンブルします。

2. パラメータ キーをアルファベット順に並べ替え、 key1=value1&key2=value2 の形式で単一の文字列に連結します。

3. API エンドポイント パス (例: /0/private/AddOrder ) を並べ替えられたパラメーター文字列の先頭に追加します。

4. 結果の文字列を UTF-8 を使用してエンコードし、デコードされた Base64 API シークレットをキーとして使用して HMAC-SHA512 を計算します。

5. 結果のダイジェストを Base64 に変換し、それを要求ペイロードの符号パラメーターとして含めます。

Python 実装における一般的なエンコーディングの落とし穴

1. Base64 でエンコードされた API シークレットをhmac.new()に渡す前にデコードできないと、無効な出力が発生します。

2. POST 本文を構築するときに、URL エンコードされたフォーム データではなく生の JSON を使用すると、署名入力の不一致が発生します。

3. 連結前にタイムスタンプを文字列に変換せずに整数として渡すと、サイレント型エラーが発生します。

4. パラメーター値を誤って二重エンコードすると (URL エンコード中に 1 回、JSON シリアル化中に 2 回)、署名の位置合わせが壊れます。

5. JSON ペイロードの空白正規化の無視: Kraken はスペースのないコンパクトな JSON を想定しているため、 separators=(',', ':') を強制する必要があります。

ヘッダー構成の基本事項

1. API キーヘッダーには、Kraken アカウント ダッシュボードに登録されている正確な API キー文字列が含まれている必要があります。

2. API-Signヘッダーは、16 進数ダイジェストまたは生のバイトではなく、Base64 でエンコードされた HMAC-SHA512 結果を伝送する必要があります。

3. すべてのプライベート エンドポイントでContent-Typeヘッダーをapplication/x-www-form-urlencodedに設定する必要があります。

4. ヘッダーで渡されるタイムスタンプは、署名の計算で使用されるタイムスタンプと正確に一致している必要があり、丸めや切り捨ては許可されません。

5. すべてのヘッダーでは大文字と小文字が区別されます。 api-keyまたはApi-Sign はすぐに認証に失敗します。

無効な署名応答のトラブルシューティング

1. mitmproxyWiresharkなどのツールを使用して完全な生のリクエストおよびレスポンスの本文をキャプチャし、予期される署名入力と実際の署名入力を比較します。

2. Python REPL で署名文字列を手動で再構築し、各コンポーネントのバイト表現が Kraken の期待と一致することを確認します。

3. シークレットの長さをバイト単位で出力して、シークレットの Base64 デコードを検証します。Kraken シークレットは、SHA512 との互換性のために正確に 64 バイトにデコードされます。

4. エンコードする前にパラメータ値に隠し文字 (BOM、ゼロ幅スペースなど) が存在しないことを確認します。

5. プライベート呼び出しを試みる前に、まず Kraken の/0/public/Timeエンドポイントに対してテストして、タイムスタンプの同期を検証します。

よくある質問

Q: Kraken では、KuCoin のようにパスフレーズを個別に署名する必要がありますか?いいえ、Kraken は署名スキームにパスフレーズを使用しません。 HMAC の計算には API キーとシークレットのみが関係します。

Q: 複数のリクエスト間で同じ署名を再利用できますか?いいえ。各署名は一意のタイムスタンプとパラメータ セットにバインドされています。署名を再利用すると、即座に拒否されます。

Q: 私の署名は Postman では機能するのに、Python では失敗するのはなぜですか?これは通常、一貫性のない URL エンコード動作が原因で発生します。Postman は値を自動エンコードしますが、Python のurllib.parse.urlencode()は、明示的に設定されていない限り、特定の文字のエンコードを省略する場合があります。

Q: Kraken API パラメータ値の最大長はありますか? Kraken には文書化されたハード制限はありませんが、過度に長い値を使用すると、HTTP トランスポートまたは内部解析中のサイレント切り捨てにより署名の不整合が発生する可能性があります。

免責事項:info@kdj.com

提供される情報は取引に関するアドバイスではありません。 kdj.com は、この記事で提供される情報に基づいて行われた投資に対して一切の責任を負いません。暗号通貨は変動性が高いため、十分な調査を行った上で慎重に投資することを強くお勧めします。

このウェブサイトで使用されているコンテンツが著作権を侵害していると思われる場合は、直ちに当社 (info@kdj.com) までご連絡ください。速やかに削除させていただきます。

関連知識

MEXC契約マージン率とは何ですか?清算はいつ行われますか?

MEXC契約マージン率とは何ですか?清算はいつ行われますか?

2026-08-06 04:02:16

MEXC契約マージン率の定義1. MEXC 契約証拠金率は、当初証拠金の形で担保として保持しなければならないトレーダーのポジション価値の割合を表します。 2. この比率は、市場のボラティリティ、資産の種類、契約満期に基づいて動的に調整され、その範囲は、高流動性無期限の 0.5% から、少量の四半期先...

MEXC先物清算はどのように機能しますか?完全な説明

MEXC先物清算はどのように機能しますか?完全な説明

2026-08-06 01:19:41

MEXC の先物清算メカニズム1. トレーダーの証拠金残高が、特定の先物契約に対して MEXC によって設定された維持証拠金要件を下回ると、清算がトリガーされます。 2. プラットフォームは、Chainlink や Binance Smart Chain オラクルを含む複数の外部価格フィードから導出...

Gate.io コントラクト ポジション モードとは何ですか?設定を変更するには?

Gate.io コントラクト ポジション モードとは何ですか?設定を変更するには?

2026-08-09 22:39:43

Gate.io コントラクト ポジション モードについて1. Gate.io は、先物と無期限契約の 2 つの異なるポジション モード、ヘッジ モードと一方向モードをサポートします。 2. ヘッジ モードでは、ユーザーは同じ契約シンボルに対してロング ポジションとショート ポジションの両方を同時に保...

Gate.io先物取引手数料を削減するにはどうすればよいですか?

Gate.io先物取引手数料を削減するにはどうすればよいですか?

2026-08-06 06:24:43

Gate.ioの料金体系を理解する1. Gate.io は、30 日間の取引量と GT トークン保有量に基づいた段階的な手数料モデルを適用します。より多くのボリュームまたはより大きな GT 残高を持つユーザーは、メーカー手数料とテイカー手数料が安くなります。 2. メーカー注文(注文簿に流動性を追加...

Gate.io リスク制限システムとは何ですか?仕組みは?

Gate.io リスク制限システムとは何ですか?仕組みは?

2026-08-05 21:19:48

リスク制限制度の定義と目的1. Gate.io リスク制限システムは、ポジション サイズに基づいてレバレッジを動的に調整することで、無期限先物契約のエクスポージャーを管理するように設計された組み込みメカニズムです。 2. ユーザーが口座資本に対して過度に大きなポジションを保持することを防ぐ、段階的な...

Gate.io のファンディング手数料が他の取引所と異なるのはなぜですか?

Gate.io のファンディング手数料が他の取引所と異なるのはなぜですか?

2026-08-11 21:40:31

資金調達メカニズムの構造設計1. Gate.io は、複数の流動性レイヤーにわたる時間加重平均価格 (TWAP) とオーダーブックの深度メトリクスの両方を組み込んだ独自の資金調達率計算モデルを実装しています。 2. 指数価格の乖離のみに依存する取引所とは異なり、Gate.io は、Binance、O...

MEXC契約マージン率とは何ですか?清算はいつ行われますか?

MEXC契約マージン率とは何ですか?清算はいつ行われますか?

2026-08-06 04:02:16

MEXC契約マージン率の定義1. MEXC 契約証拠金率は、当初証拠金の形で担保として保持しなければならないトレーダーのポジション価値の割合を表します。 2. この比率は、市場のボラティリティ、資産の種類、契約満期に基づいて動的に調整され、その範囲は、高流動性無期限の 0.5% から、少量の四半期先...

MEXC先物清算はどのように機能しますか?完全な説明

MEXC先物清算はどのように機能しますか?完全な説明

2026-08-06 01:19:41

MEXC の先物清算メカニズム1. トレーダーの証拠金残高が、特定の先物契約に対して MEXC によって設定された維持証拠金要件を下回ると、清算がトリガーされます。 2. プラットフォームは、Chainlink や Binance Smart Chain オラクルを含む複数の外部価格フィードから導出...

Gate.io コントラクト ポジション モードとは何ですか?設定を変更するには?

Gate.io コントラクト ポジション モードとは何ですか?設定を変更するには?

2026-08-09 22:39:43

Gate.io コントラクト ポジション モードについて1. Gate.io は、先物と無期限契約の 2 つの異なるポジション モード、ヘッジ モードと一方向モードをサポートします。 2. ヘッジ モードでは、ユーザーは同じ契約シンボルに対してロング ポジションとショート ポジションの両方を同時に保...

Gate.io先物取引手数料を削減するにはどうすればよいですか?

Gate.io先物取引手数料を削減するにはどうすればよいですか?

2026-08-06 06:24:43

Gate.ioの料金体系を理解する1. Gate.io は、30 日間の取引量と GT トークン保有量に基づいた段階的な手数料モデルを適用します。より多くのボリュームまたはより大きな GT 残高を持つユーザーは、メーカー手数料とテイカー手数料が安くなります。 2. メーカー注文(注文簿に流動性を追加...

Gate.io リスク制限システムとは何ですか?仕組みは?

Gate.io リスク制限システムとは何ですか?仕組みは?

2026-08-05 21:19:48

リスク制限制度の定義と目的1. Gate.io リスク制限システムは、ポジション サイズに基づいてレバレッジを動的に調整することで、無期限先物契約のエクスポージャーを管理するように設計された組み込みメカニズムです。 2. ユーザーが口座資本に対して過度に大きなポジションを保持することを防ぐ、段階的な...

Gate.io のファンディング手数料が他の取引所と異なるのはなぜですか?

Gate.io のファンディング手数料が他の取引所と異なるのはなぜですか?

2026-08-11 21:40:31

資金調達メカニズムの構造設計1. Gate.io は、複数の流動性レイヤーにわたる時間加重平均価格 (TWAP) とオーダーブックの深度メトリクスの両方を組み込んだ独自の資金調達率計算モデルを実装しています。 2. 指数価格の乖離のみに依存する取引所とは異なり、Gate.io は、Binance、O...

すべての記事を見る

User not found or password invalid

Your input is correct