Skip to content

Latest commit

 

History

History
1646 lines (1329 loc) · 52.9 KB

rest-api_JP.md

File metadata and controls

1646 lines (1329 loc) · 52.9 KB

English

Table of Contents generated with DocToc

Private REST API一覧

API 概要

  • エンドポイント URL: https://api.bitbank.cc/v1
  • リクエストに不正がある場合、以下のようなエラーレスポンスを返します。
{
  "success": 0,
  "data": {
    "code": 20003
  }
}
  • エラーコードの一覧は errors_JP.md を確認してください。
  • GETエンドポイントの場合、パラメータをクエリー文字列として送信してください。
  • POSTエンドポイントの場合、リクエストヘッダContent-Typeapplication/jsonで、リクエストボディにデータを記述してください。

認証

  • パブリックAPIは認証情報無しでアクセスできます。プライベートAPIでは以下の情報をHTTPリクエストヘッダーに付与してリクエストを行う必要があります。
  • ACCESS-NONCE、ACCESS-TIME-WINDOWどちらも指定した場合はACCESS-TIME-WINDOW方式が優先されます。

ACCESS-TIME-WINDOW方式

  • ACCESS-KEY : APIキーページで取得したAPIキー。
  • ACCESS-SIGNATURE : 以下に記述する署名を指定します。
  • ACCESS-REQUEST-TIME : 整数値。通常は現在時刻のUNIXタイムスタンプ(ミリ秒)を使用してください。タイムゾーンはUTCであることにご注意ください。
  • ACCESS-TIME-WINDOW : 整数値。リクエストが有効になるミリ秒数を指定できます。未指定の場合デフォルトで5000が適用されます。5000以下の小さな値を使用することを推奨します。最大値は60000を超えることはできません。ロジックは以下の通りです。
if (ACCESS-REQUEST-TIME < (serverTime + 1000) && (serverTime - ACCESS-REQUEST-TIME) <= ACCESS-TIME-WINDOW) {
  // process request
} else {
  // reject request
}

ACCESS-NONCE方式

  • ACCESS-KEY : APIキーページで取得したAPIキー。
  • ACCESS-NONCE : 整数値。リクエスト毎に数を増加させる必要があります。通常はUNIXタイムスタンプを使用してください。
  • ACCESS-SIGNATURE : 以下に記述する署名を指定します。

署名

  • 署名作成は、以下の文字列を HMAC-SHA256 形式でAPIシークレットキーを使って署名した結果となります。
    • ACCESS-TIME-WINDOW方式の場合
      • GETの場合: 「ACCESS-REQUEST-TIME、ACCESS-TIME-WINDOW、リクエストのパス、クエリパラメータ」 を連結させたもの
      • POSTの場合: 「ACCESS-REQUEST-TIME、ACCESS-TIME-WINDOW、リクエストボディのJson文字列」 を連結させたもの
    • ACCESS-NONCE方式の場合
      • GETの場合: 「ACCESS-NONCE、リクエストのパス、クエリパラメータ」 を連結させたもの
      • POSTの場合: 「ACCESS-NONCE、リクエストボディのJson文字列」 を連結させたもの

※ GETのACCESS-SIGNATUREで使用する「リクエストのパス」には"/v1"も含める必要があります。

※ POSTではパラメータをJson文字列にしてリクエストボディに含める必要があります。

サンプル

ACCESS-TIME-WINDOW
  • GET: /v1/user/assetsのケース
export API_SECRET="hoge"
export ACCESS_REQUEST_TIME="1721121776490"
export ACCESS_TIME_WINDOW="1000"
export ACCESS_SIGNATURE="$(echo -n "$ACCESS_REQUEST_TIME$ACCESS_TIME_WINDOW/v1/user/assets" | openssl dgst -sha256 -hmac "$API_SECRET")"


echo $ACCESS_SIGNATURE
9ec5745960d05573c8fb047cdd9191bd0c6ede26f07700bb40ecf1a3920abae8
  • POST系のエンドポイントのケース
export API_SECRET="hoge"
export ACCESS_REQUEST_TIME="1721121776490"
export ACCESS_TIME_WINDOW="1000"
export REQUEST_BODY='{"pair": "xrp_jpy", "price": "20", "amount": "1","side": "buy", "type": "limit"}'
export ACCESS_SIGNATURE="$(echo -n "$ACCESS_REQUEST_TIME$ACCESS_TIME_WINDOW$REQUEST_BODY" | openssl dgst -sha256 -hmac "$API_SECRET")"


echo $ACCESS_SIGNATURE
7868665738ae3f8a796224e0413c1351ddd7ec2af121db12815c0a5b74b8764c
ACCESS-NONCE
  • GET: /v1/user/assetsのケース
export API_SECRET="hoge"
export ACCESS_NONCE="1721121776490"
export ACCESS_SIGNATURE="$(echo -n "$ACCESS_NONCE/v1/user/assets" | openssl dgst -sha256 -hmac "$API_SECRET")"


echo $ACCESS_SIGNATURE
f957817b95c3af6cf5e2e9dfe1503ea8088f46879d4ab73051467fd7b94f1aba
  • POST系のエンドポイントのケース
export API_SECRET="hoge"
export ACCESS_NONCE="1721121776490"
export REQUEST_BODY='{"pair": "xrp_jpy", "price": "20", "amount": "1","side": "buy", "type": "limit"}'
export ACCESS_SIGNATURE="$(echo -n "$ACCESS_NONCE$REQUEST_BODY" | openssl dgst -sha256 -hmac "$API_SECRET")"


echo $ACCESS_SIGNATURE
8ef83c2b991765b18c95aade7678471747c06890a23a453c76238345b5c86fb8

レートリミット

  • ユーザごと、更新系・取得系それぞれ、1秒ごとにREST API呼び出しの頻度に制限を設けています。
    • 更新系とは新規注文、注文キャンセル、出金リクエストのことを指します。
    • 取得系はそれ以外を指します。
  • マッチングエンジンの過負荷を防ぐため、システム全体においてもREST API呼び出しに制限を設けています。
    • ただしこの制限はほとんどの場合において抵触しないくらい高く設定されています。
  • レートリミットに抵触した場合、HTTP 429エラーを返します。429エラーがよく返却される場合はAPI呼び出しの頻度を減らしてください。
  • 頻度制限について基本的に取得系は 10回/秒 、更新系は 6回/秒 としています。
    • 取引高等の実績に応じて引き上げが可能な場合があります。
    • 必要であればこちらのフォームより送信ください。
      • 「問合せ内容」は「レートリミットの制限緩和について」をお選びください。

エンドポイント一覧

アセット

アセット一覧を返す

GET /user/assets

Parameters: None

Response:

Name Type Description
asset string アセット名: アセット一覧
free_amount string 利用可能な量
amount_precision number 精度
onhand_amount string 保有量
locked_amount string ロックされている量
withdrawing_amount string ロックされている量のうち出金中数量
withdrawal_fee { min: string, max: string } or { under: string, over: string, threshold:string } for jpy 出金手数料
stop_deposit boolean 入金ステータス(全ネットワークが入金停止 = true
stop_withdrawal boolean 出金ステータス(全ネットワークが出金停止 = true
network_list { asset: string, network: string, stop_deposit: boolean, stop_withdrawal: boolean, withdrawal_fee: string } or undefined for jpy ネットワーク一覧
collateral_ratio string 代用掛け目

サンプルコード:

Curl

export API_KEY=___your api key___
export API_SECRET=___your api secret___
export ACCESS_NONCE="$(date +%s)"
export ACCESS_SIGNATURE="$(echo -n "$ACCESS_NONCE/v1/user/assets" | openssl dgst -sha256 -hmac "$API_SECRET")"

curl -H 'ACCESS-KEY:'"$API_KEY"'' -H 'ACCESS-NONCE:'"$ACCESS_NONCE"'' -H 'ACCESS-SIGNATURE:'"$ACCESS_SIGNATURE"'' https://api.bitbank.cc/v1/user/assets

レスポンスのフォーマット:

{
  "success": 1,
  "data": {
    "assets": [
      {
        "asset": "string",
        "free_amount": "string",
        "amount_precision": 0,
        "onhand_amount": "string",
        "locked_amount": "string",
        "withdrawing_amount": "string",
        "withdrawal_fee": {
            "min": "string",
            "max": "string"
        },
        "stop_deposit": false,
        "stop_withdrawal": false,
        "network_list": [
            {
                "asset": "string",
                "network": "string",
                "stop_deposit": false,
                "stop_withdrawal": false,
                "withdrawal_fee": "string"
            }
        ],
        "collateral_ratio": "string"
      },
      {
        "asset": "jpy",
        "free_amount": "string",
        "amount_precision": 0,
        "onhand_amount": "string",
        "locked_amount": "string",
        "withdrawing_amount": "string",
        "withdrawal_fee": {
            "under": "string",
            "over": "string",
            "threshold": "string"
        },
        "stop_deposit": false,
        "stop_withdrawal": false,
        "collateral_ratio": "string"
      },
    ]
  }
}

注文情報

注文情報を取得する

GET /user/spot/order

Parameters:

Name Type Mandatory Description
pair string YES 通貨ペア: ペア一覧
order_id number YES 取引ID

Response:

Name Type Description
order_id number order id
pair string 通貨ペア: ペア一覧
side string buy または sell
position_side string | undefined long または short
type string limitmarketstopstop_limittake_profitstop_lossのうちいずれか
start_amount string | null 注文時の数量
remaining_amount string | null 未約定の数量
executed_amount string 約定済み数量
price string | undefined 注文価格(type = limit または stop_limit 時のみ)
post_only boolean | undefined Post Onlyかどうか(type = limit時のみ)
user_cancelable boolean ユーザがキャンセル可能な注文かどうか
average_price string 平均約定価格
ordered_at number 注文日時(UnixTimeのミリ秒)
expire_at number | null 有効期限(UnixTimeのミリ秒)
triggered_at number | undefined トリガー日時(UnixTimeのミリ秒)(type = stop または stop_limit 時のみ)
trigger_price string | undefined トリガー価格(type = stop または stop_limit 時のみ)
status string 注文ステータス: INACTIVE 非アクティブ, UNFILLED 注文中, PARTIALLY_FILLED 注文中(一部約定), FULLY_FILLED 約定済み, CANCELED_UNFILLED 取消済, CANCELED_PARTIALLY_FILLED 取消済(一部約定)

注意事項:

  • このAPIでは3ヶ月以上前の約定済またはキャンセル済注文を取得できません。(50009が返ります。) 3ヶ月以上前の注文情報の取得にはお手数ですが注文履歴の抽出ページをご利用ください。

サンプルコード:

Curl

export API_KEY=___your api key___
export API_SECRET=___your api secret___
export ACCESS_NONCE="$(date +%s)"
export ACCESS_SIGNATURE="$(echo -n "$ACCESS_NONCE/v1/user/spot/order?pair=btc_jpy&order_id=1" | openssl dgst -sha256 -hmac "$API_SECRET")"

curl -H 'ACCESS-KEY:'"$API_KEY"'' -H 'ACCESS-NONCE:'"$ACCESS_NONCE"'' -H 'ACCESS-SIGNATURE:'"$ACCESS_SIGNATURE"'' https://api.bitbank.cc/v1/user/spot/order?pair=btc_jpy\&order_id=1

レスポンスのフォーマット:

{
  "success": 1,
  "data": {
    "order_id": 0,
    "pair": "string",
    "side": "string",
    "position_side": "string",
    "type": "string",
    "start_amount": "string",
    "remaining_amount": "string",
    "executed_amount": "string",
    "price": "string",
    "post_only": false,
    "user_cancelable": true,
    "average_price": "string",
    "ordered_at": 0,
    "expire_at": 0,
    "triggered_at": 0,
    "trigger_price": "string",
    "status": "string"
  }
}

新規注文を行う

POST /user/spot/order

Parameters(requestBody):

Name Type Mandatory Description
pair string YES 通貨ペア: ペア一覧
amount string NO 注文量。typeが take_profitstop_loss 以外の場合は必須
price string NO 価格
side string YES buy または sell
position_side string NO long または short
type string YES limitmarketstopstop_limittake_profitstop_lossのうちいずれか
post_only boolean NO Post Onlyかどうか(type = limit 時のみ true を指定可能。デフォルト false
trigger_price string NO トリガー価格

Response:

Name Type Description
order_id number order id
pair string 通貨ペア: ペア一覧
side string buy または sell
position_side string | undefined long または short
type string limitmarketstopstop_limittake_profitstop_lossのうちいずれか
start_amount string | null 注文時の数量
remaining_amount string | null 未約定の数量
executed_amount string 約定済み数量
price string | undefined 注文価格(type = limit または stop_limit 時のみ)
post_only boolean | undefined Post Onlyかどうか(type = limit時のみ)
user_cancelable boolean ユーザがキャンセル可能な注文かどうか
average_price string 平均約定価格
ordered_at number 注文日時(UnixTimeのミリ秒)
expire_at number | null 有効期限(UnixTimeのミリ秒)
trigger_price string | undefined トリガー価格(type = stop または stop_limit 時のみ)
status string 注文ステータス: INACTIVE 非アクティブ, UNFILLED 注文中, PARTIALLY_FILLED 注文中(一部約定), FULLY_FILLED 約定済み, CANCELED_UNFILLED 取消済, CANCELED_PARTIALLY_FILLED 取消済(一部約定)

注意事項:

  • circuit_break_info.mode が NONE 以外の場合は成行注文を行うことができず、70020エラーが返ります。
  • circuit_break_info.mode が NONE 以外の場合は post_only オプションは false として扱われます。

サンプルコード:

Curl

export API_KEY=___your api key___
export API_SECRET=___your api secret___
export ACCESS_NONCE="$(date +%s)"
export REQUEST_BODY='{"pair": "xrp_jpy", "price": "20", "amount": "1","side": "buy", "type": "limit"}'
export ACCESS_SIGNATURE="$(echo -n "$ACCESS_NONCE$REQUEST_BODY" | openssl dgst -sha256 -hmac "$API_SECRET")"

curl -H 'ACCESS-KEY:'"$API_KEY"'' -H 'ACCESS-NONCE:'"$ACCESS_NONCE"'' -H 'ACCESS-SIGNATURE:'"$ACCESS_SIGNATURE"'' -H "Content-Type: application/json" -d ''"$REQUEST_BODY"'' https://api.bitbank.cc/v1/user/spot/order

レスポンスのフォーマット:

{
  "success": 1,
  "data": {
    "order_id": 0,
    "pair": "string",
    "side": "string",
    "position_side": "string",
    "type": "string",
    "start_amount": "string",
    "remaining_amount": "string",
    "executed_amount": "string",
    "price": "string",
    "post_only": false,
    "user_cancelable": true,
    "average_price": "string",
    "ordered_at": 0,
    "expire_at": 0,
    "trigger_price": "string",
    "status": "string"
  }
}

注文をキャンセルする

POST /user/spot/cancel_order

Parameters(requestBody):

Name Type Mandatory Description
pair string YES 通貨ペア: ペア一覧
order_id number YES 注文ID

Response:

Name Type Description
order_id number order id
pair string 通貨ペア: ペア一覧
side string buy または sell
position_side string | null long または short
type string limitmarketstopstop_limittake_profitstop_lossのうちいずれか
start_amount string | null 注文時の数量
remaining_amount string | null 未約定の数量
executed_amount string 約定済み数量
price string | undefined 注文価格(type = limit または stop_limit 時のみ)
post_only boolean | undefined Post Onlyかどうか(type = limit時のみ)
user_cancelable boolean ユーザがキャンセル可能な注文かどうか
average_price string 平均約定価格
ordered_at number 注文日時(UnixTimeのミリ秒)
expire_at number | null 有効期限(UnixTimeのミリ秒)
canceled_at number | undefined キャンセル日時(UnixTimeのミリ秒)
triggered_at number | undefined トリガー日時(UnixTimeのミリ秒)(type = stop または stop_limit 時のみ)
trigger_price string | undefined トリガー価格(type = stop または stop_limit 時のみ)
status string 注文ステータス: INACTIVE 非アクティブ, UNFILLED 注文中, PARTIALLY_FILLED 注文中(一部約定), FULLY_FILLED 約定済み, CANCELED_UNFILLED 取消済, CANCELED_PARTIALLY_FILLED 取消済(一部約定)

サンプルコード:

Curl

export API_KEY=___your api key___
export API_SECRET=___your api secret___
export ACCESS_NONCE="$(date +%s)"
export REQUEST_BODY='{"pair": "xrp_jpy", "order_id": 1}'
export ACCESS_SIGNATURE="$(echo -n "$ACCESS_NONCE$REQUEST_BODY" | openssl dgst -sha256 -hmac "$API_SECRET")"

curl -H 'ACCESS-KEY:'"$API_KEY"'' -H 'ACCESS-NONCE:'"$ACCESS_NONCE"'' -H 'ACCESS-SIGNATURE:'"$ACCESS_SIGNATURE"'' -H "Content-Type: application/json" -d ''"$REQUEST_BODY"'' https://api.bitbank.cc/v1/user/spot/cancel_order

レスポンスのフォーマット:

{
  "success": 1,
  "data": {
    "order_id": 0,
    "pair": "string",
    "side": "string",
    "type": "string",
    "start_amount": "string",
    "remaining_amount": "string",
    "executed_amount": "string",
    "price": "string",
    "post_only": false,
    "user_cancelable": true,
    "average_price": "string",
    "ordered_at": 0,
    "expire_at": 0,
    "canceled_at": 0,
    "triggered_at": 0,
    "trigger_price": "string",
    "status": "string"
  }
}

注文をキャンセルする(複数)

POST /user/spot/cancel_orders

Parameters(requestBody):

Name Type Mandatory Description
pair string YES 通貨ペア: ペア一覧
order_ids number[] YES 注文ID。最大30個まで指定可能

Response:

Name Type Description
orders Array 注文をキャンセルするのレスポンスオブジェクトのリスト

Response format:

{
  "success": 1,
  "data": {
    "orders": [
      {
        "order_id": 0,
        "pair": "string",
        "side": "string",
        "type": "string",
        "start_amount": "string",
        "remaining_amount": "string",
        "executed_amount": "string",
        "price": "string",
        "post_only": false,
        "user_cancelable": true,
        "average_price": "string",
        "ordered_at": 0,
        "expire_at": 0,
        "canceled_at": 0,
        "triggered_at": 0,
        "trigger_price": "string",
        "status": "string"
      }
    ]
  }
}

注文情報を取得する(複数)

POST /user/spot/orders_info

POSTメソッド注意

Parameters (requestBody):

Name Type Mandatory Description
pair string YES 通貨ペア: ペア一覧
order_ids number[] YES 注文ID

注意事項:

  • このAPIでは3ヶ月以上前の約定済またはキャンセル済注文を取得できません。(エラーとならず、結果に含まれません。) 3ヶ月以上前の注文情報の取得にはお手数ですが注文履歴の抽出ページをご利用ください。

サンプルコード:

Curl

export API_KEY=___your api key___
export API_SECRET=___your api secret___
export ACCESS_NONCE="$(date +%s)"
export REQUEST_BODY='{"pair": "xrp_jpy", "order_ids": [1]}'
export ACCESS_SIGNATURE="$(echo -n "$ACCESS_NONCE$REQUEST_BODY" | openssl dgst -sha256 -hmac "$API_SECRET")"

curl -H 'ACCESS-KEY:'"$API_KEY"'' -H 'ACCESS-NONCE:'"$ACCESS_NONCE"'' -H 'ACCESS-SIGNATURE:'"$ACCESS_SIGNATURE"'' -H "Content-Type: application/json" -d ''"$REQUEST_BODY"'' https://api.bitbank.cc/v1/user/spot/orders_info

Response:

Name Type Description
orders Array 注文情報を取得するのレスポンスオブジェクトのリスト

レスポンスのフォーマット:

{
  "success": 1,
  "data": {
    "orders": [
      {
        "order_id": 0,
        "pair": "string",
        "side": "string",
        "position_side": "string",
        "type": "string",
        "start_amount": "string",
        "remaining_amount": "string",
        "executed_amount": "string",
        "price": "string",
        "post_only": false,
        "user_cancelable": true,
        "average_price": "string",
        "ordered_at": 0,
        "expire_at": 0,
        "canceled_at": 0,
        "triggered_at": 0,
        "trigger_price": "string",
        "status": "string"
      }
    ]
  }
}

アクティブな注文を取得する

GET /user/spot/active_orders

Parameters:

Name Type Mandatory Description
pair string NO 通貨ペア: ペア一覧。注文IDを指定する場合pairの指定も必須
count number NO 取得する注文数
from_id number NO 取得開始注文ID
end_id number NO 取得終了注文ID
since number NO 開始UNIXタイムスタンプ
end number NO 終了UNIXタイムスタンプ

Response:

Name Type Description
orders Array 注文情報を取得するのレスポンスオブジェクトのリスト

サンプルコード:

Curl

export API_KEY=___your api key___
export API_SECRET=___your api secret___
export ACCESS_NONCE="$(date +%s)"
export ACCESS_SIGNATURE="$(echo -n "$ACCESS_NONCE/v1/user/spot/active_orders?pair=btc_jpy" | openssl dgst -sha256 -hmac "$API_SECRET")"

curl -H 'ACCESS-KEY:'"$API_KEY"'' -H 'ACCESS-NONCE:'"$ACCESS_NONCE"'' -H 'ACCESS-SIGNATURE:'"$ACCESS_SIGNATURE"'' https://api.bitbank.cc/v1/user/spot/active_orders?pair=btc_jpy

レスポンスのフォーマット:

{
  "success": 1,
  "data": {
    "orders": [
      {
        "order_id": 0,
        "pair": "string",
        "side": "string",
        "position_side": "string",
        "type": "string",
        "start_amount": "string",
        "remaining_amount": "string",
        "executed_amount": "string",
        "price": "string",
        "post_only": false,
        "user_cancelable": true,
        "average_price": "string",
        "ordered_at": 0,
        "expire_at": 0,
        "triggered_at": 0,
        "trigger_price": "string",
        "status": "string"
      }
    ]
  }
}

建玉情報

建玉・追証未収金情報を取得する

GET /user/margin/positions

Parameters(requestBody): None

Response:

Name Type Description
notice { what: string | null, occurred_at: number | null, amount: string | null, due_date_at: number | null } 追証 または 未収金 または 精算 に関する情報
payables { amount: string } 未収金額
positions [{ pair: string, position_side: string, open_amount: string, product: string, average_price: string, unrealized_fee_amount: string, unrealized_interest_amount: string }] 建玉情報
losscut_threshold { individual: string, company: string } 強制決済掛け目

サンプルコード:

Curl

export API_KEY=___your api key___
export API_SECRET=___your api secret___
export ACCESS_NONCE="$(date +%s)"
export ACCESS_SIGNATURE="$(echo -n "$ACCESS_NONCE/v1/user/margin/positions" | openssl dgst -sha256 -hmac "$API_SECRET")"

curl -H 'ACCESS-KEY:'"$API_KEY"'' -H 'ACCESS-NONCE:'"$ACCESS_NONCE"'' -H 'ACCESS-SIGNATURE:'"$ACCESS_SIGNATURE"'' https://api.bitbank.cc/v1/user/margin/positions

レスポンスのフォーマット:

{
  "success": 1,
  "data": {
    "notice": {
      "what": "string",
      "occurred_at": 0,
      "amount": "0",
      "due_date_at": 0
    },
    "payables": {
      "amount": "0"
    },
    "positions": [
      {
        "pair": "string",
        "position_side": "string",
        "open_amount": "0",
        "product": "0",
        "average_price": "0",
        "unrealized_fee_amount": "0",
        "unrealized_interest_amount": "0"
      }
    ],
    "losscut_threshold": {
      "individual": "0",
      "company": "0"
    }
  }
}

約定履歴

約定履歴を取得する

GET /user/spot/trade_history

Parameters:

Name Type Mandatory Description
pair string NO 通貨ペア: ペア一覧。注文IDを指定する場合pairの指定も必須
count number NO 取得する約定数(最大1000)
order_id number NO 注文ID
since number NO 開始UNIXタイムスタンプ(ミリ秒)
end number NO 終了UNIXタイムスタンプ(ミリ秒)
order string NO 約定時刻順序(asc: 昇順、desc: 降順、デフォルトdesc)

Response:

Name Type Description
trade_id number trade id
pair string 通貨ペア: ペア一覧
order_id number 注文ID
side string buy または sell
position_side string | undefined long または short
type string limitmarketstopstop_limittake_profitstop_lossのうちいずれか
amount string 注文量
price string 価格
maker_taker string maker または taker
fee_amount_base string base手数料
fee_amount_quote string quote手数料
fee_occurred_amount_quote string quote発生手数料。後ほど徴収される。現物取引ではfee_amount_quoteと同値。
profit_loss string | undefined 実現損益
interest string | undefined 利息
executed_at number 約定日時(UnixTimeのミリ秒)

サンプルコード:

Curl

export API_KEY=___your api key___
export API_SECRET=___your api secret___
export ACCESS_NONCE="$(date +%s)"
export ACCESS_SIGNATURE="$(echo -n "$ACCESS_NONCE/v1/user/spot/trade_history?pair=btc_jpy" | openssl dgst -sha256 -hmac "$API_SECRET")"

curl -H 'ACCESS-KEY:'"$API_KEY"'' -H 'ACCESS-NONCE:'"$ACCESS_NONCE"'' -H 'ACCESS-SIGNATURE:'"$ACCESS_SIGNATURE"'' https://api.bitbank.cc/v1/user/spot/trade_history?pair=btc_jpy

レスポンスのフォーマット:

{
  "success": 1,
  "data": {
    "trades": [
      {
        "trade_id": 0,
        "pair": "string",
        "order_id": 0,
        "side": "string",
        "position_side": "string",
        "type": "string",
        "amount": "string",
        "price": "string",
        "maker_taker": "string",
        "fee_amount_base": "string",
        "fee_amount_quote": "string",
        "profit_loss": "string",
        "interest": "string",
        "executed_at": 0
      }
    ]
  }
}

入金

入金履歴を取得する

GET /user/deposit_history

Parameters:

Name Type Mandatory Description
asset string YES アセット名: アセット一覧
count number NO 取得する履歴数(最大100)
since number NO 開始UNIXタイムスタンプ(ミリ秒)
end number NO 終了UNIXタイムスタンプ(ミリ秒)

Response:

Name Type Description
uuid string 入金識別uuid
address string 入金address
asset string アセット名: アセット一覧
network string ネットワーク名: ネットワーク一覧
amount number 入金数量
txid string | null 入金トランザクションID(暗号資産の時のみ)
status string 入金状態: FOUND, CONFIRMED, DONE
found_at number 検知UNIXタイムスタンプ(ミリ秒)
confirmed_at number 承認(残高追加確定時)UNIXタイムスタンプ(ミリ秒、承認後のみ存在)

注意事項:

  • 現時点では入金履歴レスポンスには宛先タグ、メモおよび銀行口座情報が含まれていません。他システムの送金・送信との突合にはtxidをお使いください。

サンプルコード:

Curl

export API_KEY=___your api key___
export API_SECRET=___your api secret___
export ACCESS_NONCE="$(date +%s)"
export ACCESS_SIGNATURE="$(echo -n "$ACCESS_NONCE/v1/user/deposit_history?asset=btc" | openssl dgst -sha256 -hmac "$API_SECRET")"

curl -H 'ACCESS-KEY:'"$API_KEY"'' -H 'ACCESS-NONCE:'"$ACCESS_NONCE"'' -H 'ACCESS-SIGNATURE:'"$ACCESS_SIGNATURE"'' https://api.bitbank.cc/v1/user/deposit_history?asset=btc

レスポンスのフォーマット:

{
  "success": 1,
  "data": {
    "deposits": [
      {
        "uuid": "string",
        "asset": "string",
        "network": "string",
        "amount": "string",
        "txid": "string",
        "status": "string",
        "found_at": 0,
        "confirmed_at": 0
      }
    ]
  }
}

未反映入金を取得する

GET /user/unconfirmed_deposits

Parameters: None

Response:

Name Type Description
uuid string 未反映入金 uuid
asset string アセット名: アセット一覧
amount string 入金数量
network string ネットワーク名: ネットワーク一覧
txid string 入金トランザクションID
created_at number 作成UNIXタイムスタンプ(ミリ秒)

Sample code:

Curl

export API_KEY=___your api key___
export API_SECRET=___your api secret___
export ACCESS_NONCE="$(date +%s)"
export ACCESS_SIGNATURE="$(echo -n "$ACCESS_NONCE/v1/user/unconfirmed_deposits" | openssl dgst -sha256 -hmac "$API_SECRET")"

curl -H 'ACCESS-KEY:'"$API_KEY"'' -H 'ACCESS-NONCE:'"$ACCESS_NONCE"'' -H 'ACCESS-SIGNATURE:'"$ACCESS_SIGNATURE"'' https://api.bitbank.cc/v1/user/unconfirmed_deposits

Response format:

{
  "success": 1,
  "data": {
    "deposits": [
      {
        "uuid": "string",
        "asset": "string",
        "amount": "string",
        "network": "string",
        "txid": "string",
        "created_at": 0
      }
    ]
  }
}

送付人を取得する

GET /user/deposit_originators

Parameters: None

Response:

Name Type Description
uuid string 送付人のuuid
label string 送付人ラベル
deposit_type string 入金元: WALLET プライベートウォレット, ELSE その他
deposit_purpose string | null 入金の目的
originator_status string 送付人ステータス: SCREENING 審査中, CONFIRMED 審査完了, REJECTED 否認, DEPRECATED 要修正
originator_type string 送付人種別: OWN 本人, PERSON 本人でない個人, COMPANY 本人でない法人
originator_last_name string | null
originator_first_name string | null
originator_country string | null
originator_prefecture string | null 都市・省・県
originator_city string | null 市区町村
originator_address string | null 番地
originator_building string | null 建物名
originator_company_name string | null 法人名称
originator_company_type string | null 法人格
originator_company_type_position string | null 法人格(前後)
uuid string 実質的支配者のuuid
name string 実質的支配者
country string 実質的支配者の居住国
prefecture string | null 実質的支配者の居住地域(都市・省・県)

Sample code:

Curl

export API_KEY=___your api key___
export API_SECRET=___your api secret___
export ACCESS_NONCE="$(date +%s)"
export ACCESS_SIGNATURE="$(echo -n "$ACCESS_NONCE/v1/user/deposit_originators" | openssl dgst -sha256 -hmac "$API_SECRET")"

curl -H 'ACCESS-KEY:'"$API_KEY"'' -H 'ACCESS-NONCE:'"$ACCESS_NONCE"'' -H 'ACCESS-SIGNATURE:'"$ACCESS_SIGNATURE"'' https://api.bitbank.cc/v1/user/deposit_originators

Response format:

{
  "success": 1,
  "data": {
    "originators": [
      {
        "uuid": "string",
        "label": "string",
        "deposit_type": "string",
        "deposit_purpose": "string",
        "originator_status": "string",
        "originator_type": "string",
        "originator_last_name": null,
        "originator_first_name": null,
        "originator_country": "string",
        "originator_preference": "string",
        "originator_city": "string",
        "originator_address": "string",
        "originator_building": null,
        "originator_company_name": "string",
        "originator_company_type": "string",
        "originator_company_type_position": "string",
        "originator_substantial_controllers": [
            {
                "uuid": "string",
                "name": "string",
                "country": "string",
                "prefecture": null
            }
        ]
      }
    ]
  }
}

未反映入金に送付人を登録する

POST /user/confirm_deposits

Parameters (requestBody):

Name Type Mandatory Description
deposits object[] YES 未反映入金uuidと送付人uuidオブジェクトの配列。内容の詳細は以下。

depositsの詳細

Name Type Mandatory Description
uuid string YES 未反映入金 uuid
originator_uuid string YES 送付人 uuid

Request format:

{
  "deposits": [
    {
      "uuid": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "originator_uuid": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    },
    {
      "uuid": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "originator_uuid": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    },
    {
      
    }
  ]
}

Response: None

Sample code:

Curl

export API_KEY=___your api key___
export API_SECRET=___your api secret___
export ACCESS_NONCE="$(date +%s)"
export REQUEST_BODY='{"deposits": [{ "uuid": "___deposit uuid___", "originator_uuid": "___originator uuid___" }]}'
export ACCESS_SIGNATURE="$(echo -n "$ACCESS_NONCE$REQUEST_BODY" | openssl dgst -sha256 -hmac "$API_SECRET")"

curl -H 'ACCESS-KEY:'"$API_KEY"'' -H 'ACCESS-NONCE:'"$ACCESS_NONCE"'' -H 'ACCESS-SIGNATURE:'"$ACCESS_SIGNATURE"'' -H "Content-Type: application/json" -d ''"$REQUEST_BODY"'' https://api.bitbank.cc/v1/user/confirm_deposits

Response format:

{
  "success": 1,
  "data": {}
}

未反映入金に送付人を一括登録する

POST /user/confirm_deposits_all

Parameters (requestBody):

Name Type Mandatory Description
originator_uuid string YES 送付人uuid

Response: None

Sample code:

Curl

export API_KEY=___your api key___
export API_SECRET=___your api secret___
export ACCESS_NONCE="$(date +%s)"
export REQUEST_BODY='{"originator_uuid": "___originator uuid___"}'
export ACCESS_SIGNATURE="$(echo -n "$ACCESS_NONCE$REQUEST_BODY" | openssl dgst -sha256 -hmac "$API_SECRET")"

curl -H 'ACCESS-KEY:'"$API_KEY"'' -H 'ACCESS-NONCE:'"$ACCESS_NONCE"'' -H 'ACCESS-SIGNATURE:'"$ACCESS_SIGNATURE"'' -H "Content-Type: application/json" -d ''"$REQUEST_BODY"'' https://api.bitbank.cc/v1/user/confirm_deposits_all

Response format:

{
  "success": 1,
  "data": {}
}

出金

出金アカウントを取得する

GET /user/withdrawal_account

Parameters:

Name Type Mandatory Description
asset string YES アセット名: アセット一覧

Response:

Name Type Description
uuid string 出金アカウントのID
label string ラベル
network string ネットワーク名: ネットワーク一覧
address string 出金先アドレス

サンプルコード:

Curl

export API_KEY=___your api key___
export API_SECRET=___your api secret___
export ACCESS_NONCE="$(date +%s)"
export ACCESS_SIGNATURE="$(echo -n "$ACCESS_NONCE/v1/user/withdrawal_account?asset=btc" | openssl dgst -sha256 -hmac "$API_SECRET")"

curl -H 'ACCESS-KEY:'"$API_KEY"'' -H 'ACCESS-NONCE:'"$ACCESS_NONCE"'' -H 'ACCESS-SIGNATURE:'"$ACCESS_SIGNATURE"'' https://api.bitbank.cc/v1/user/withdrawal_account?asset=btc

レスポンスのフォーマット:

{
  "success": 1,
  "data": {
    "accounts": [
      {
        "uuid": "string",
        "label": "string",
        "network": "string",
        "address": "string"
      }
    ]
  }
}

出金リクエストを行う

POST /user/request_withdrawal

Parameters (requestBody):

Name Type Mandatory Description
asset string YES アセット名: アセット一覧
uuid string YES 出金アカウントのuuid
amount string YES 出金数量
otp_token string NO 二段階認証トークン(設定している場合、otp_tokenかsms_tokenのどちらか一方を指定)
sms_token string NO SMS認証トークン

Response:

Name Type Description
uuid string 出金識別ID
asset string アセット名: アセット一覧
account_uuid string 出金アカウントのID
amount string 出金数量
fee string 出金手数料
label string 出金先アドレスにつけたラベル(暗号資産の時のみ)
address string 出金先アドレス(暗号資産の時のみ)
network string ネットワーク名(暗号資産の時のみ): ネットワーク一覧
destination_tag number or string 出金先宛先タグまたはメモ(タグまたはメモを指定した暗号資産の出金時のみ)
txid string | null 出金トランザクションID(暗号資産の時のみ)
bank_name string 出金先銀行(法定通貨の時のみ)
branch_name string 出金先銀行支店(法定通貨の時のみ)
account_type string 出金先口座種別(法定通貨の時のみ)
account_number string 出金先口座番号(法定通貨の時のみ)
account_owner string 出金先口座名義(法定通貨の時のみ)
status string CONFIRMING, EXAMINING, SENDING, DONE, REJECTED, CANCELED, CONFIRM_TIMEOUT
requested_at number リクエスト日時UNIXタイムスタンプ(ミリ秒)

サンプルコード:

Curl

export API_KEY=___your api key___
export API_SECRET=___your api secret___
export ACCESS_NONCE="$(date +%s)"
export REQUEST_BODY='{"asset": "xrp", "uuid": "___your uuid___", "amount": "1"}'
export ACCESS_SIGNATURE="$(echo -n "$ACCESS_NONCE$REQUEST_BODY" | openssl dgst -sha256 -hmac "$API_SECRET")"

curl -H 'ACCESS-KEY:'"$API_KEY"'' -H 'ACCESS-NONCE:'"$ACCESS_NONCE"'' -H 'ACCESS-SIGNATURE:'"$ACCESS_SIGNATURE"'' -H "Content-Type: application/json" -d ''"$REQUEST_BODY"'' https://api.bitbank.cc/v1/user/request_withdrawal

レスポンスのフォーマット:

{
  "success": 1,
  "data": {
    "uuid": "string",
    "asset": "string",
    "account_uuid": "string",
    "amount": "string",
    "fee": "string",

    "label": "string",
    "address": "string",
    "network": "string",
    "txid": "string",
    "destination_tag": 0,

    "bank_name": "string",
    "branch_name": "string",
    "account_type": "string",
    "account_number": "string",
    "account_owner": "string",

    "status": "string",
    "requested_at": 0
  }
}

出金履歴を取得する

GET /user/withdrawal_history

Parameters:

Name Type Mandatory Description
asset string YES アセット名: アセット一覧
count number NO 取得する履歴数(最大100)
since number NO 開始UNIXタイムスタンプ(ミリ秒)
end number NO 終了UNIXタイムスタンプ(ミリ秒)

Response:

Name Type Description
uuid string 出金識別ID
asset string アセット名: アセット一覧
account_uuid string 出金アカウントのID
amount string 出金数量
fee string 出金手数料
label string 出金先アドレスにつけたラベル(暗号資産の時のみ)
address string 出金先アドレス(暗号資産の時のみ)
network string ネットワーク名(暗号資産の時のみ): ネットワーク一覧
destination_tag number or string 出金先宛先タグまたはメモ(タグまたはメモを指定した暗号資産の出金時のみ)
txid string | null 出金トランザクションID(暗号資産の時のみ)
bank_name string 出金先銀行(法定通貨の時のみ)
branch_name string 出金先銀行支店(法定通貨の時のみ)
account_type string 出金先口座種別(法定通貨の時のみ)
account_number string 出金先口座番号(法定通貨の時のみ)
account_owner string 出金先口座名義(法定通貨の時のみ)
status string CONFIRMING, EXAMINING, SENDING, DONE, REJECTED, CANCELED, CONFIRM_TIMEOUT
requested_at number リクエスト日時UNIXタイムスタンプ(ミリ秒)

サンプルコード:

Curl

export API_KEY=___your api key___
export API_SECRET=___your api secret___
export ACCESS_NONCE="$(date +%s)"
export ACCESS_SIGNATURE="$(echo -n "$ACCESS_NONCE/v1/user/withdrawal_history?asset=btc" | openssl dgst -sha256 -hmac "$API_SECRET")"

curl -H 'ACCESS-KEY:'"$API_KEY"'' -H 'ACCESS-NONCE:'"$ACCESS_NONCE"'' -H 'ACCESS-SIGNATURE:'"$ACCESS_SIGNATURE"'' https://api.bitbank.cc/v1/user/withdrawal_history?asset=btc

レスポンスのフォーマット:

{
  "success": 1,
  "data": {
    "withdrawals": [
      {
        "uuid": "string",
        "asset": "string",
        "account_uuid": "string",
        "amount": "string",
        "fee": "string",

        "label": "string",
        "address": "string",
        "network": "string",
        "txid": "string",
        "destination_tag": 0,

        "bank_name": "string",
        "branch_name": "string",
        "account_type": "string",
        "account_number": "string",
        "account_owner": "string",

        "status": "string",
        "requested_at": 0
      }
    ]
  }
}

取引所ステータス

取引所ステータスを取得する

当該APIは認証不要となります。

GET /spot/status

Parameters: None

Response:

Name Type Description
pair string 通貨ペア: ペア一覧
status string 取引所ステータス: NORMAL, BUSY, VERY_BUSY, HALT
min_amount string 取引所ステータスに応じた最小注文数量(負荷が高いほど大きくなります)

サンプルコード:

Curl

curl https://api.bitbank.cc/v1/spot/status

レスポンスのフォーマット:

{
  "success": 1,
  "data": {
    "statuses": [
      {
        "pair": "string",
        "status": "string",
        "min_amount": "string"
      }
    ]
  }
}

銘柄詳細

銘柄詳細一覧を取得する

当該APIは認証不要となります。

GET /spot/pairs

Parameters: None

Response:

Name Type Description
name string 通貨ペア: ペア一覧
base_asset string 原資産
quote_asset string クオート資産
maker_fee_rate_base string メイカー手数料率(原資産)
taker_fee_rate_base string テイカー手数料率(原資産)
maker_fee_rate_quote string メイカー手数料率(クオート資産)
taker_fee_rate_quote string テイカー手数料率(クオート資産)
margin_open_maker_fee_rate_quote string | null 新規建てmaker手数料率(クオート資産)
margin_open_taker_fee_rate_quote string | null 新規建てtaker手数料率(クオート資産)
margin_close_maker_fee_rate_quote string | null 決済maker手数料率(クオート資産)
margin_close_taker_fee_rate_quote string | null 決済maker手数料率(クオート資産)
margin_long_interest string | null ロング利息率/日
margin_short_interest string | null ショート利息率/日
margin_current_individual_ratio string | null 現在の個人のリスク想定比率
margin_current_individual_until number | null 現在の個人のリスク想定比率の適用終了日時(UnixTimeのミリ秒)
margin_current_company_ratio string | null 現在の法人のリスク想定比率
margin_current_company_until number | null 現在の法人のリスク想定比率の適用終了日時(UnixTimeのミリ秒)
margin_next_individual_ratio string | null 次の個人のリスク想定比率
margin_next_individual_until number | null 次の個人のリスク想定比率の適用終了日時(UnixTimeのミリ秒)
margin_next_company_ratio string | null 次の法人のリスク想定比率
margin_next_company_until number | null 次の法人のリスク想定比率の適用終了日時(UnixTimeのミリ秒)
unit_amount string 最小注文数量
limit_max_amount string 最大注文数量
market_max_amount string 成行注文時の最大数量
market_allowance_rate string 成行買注文時の余裕率
price_digits number 価格切り捨て対象桁数(0起点)
amount_digits number 数量切り捨て対象桁数(0起点)
is_enabled boolean 通貨ペアステータス(有効/無効)
stop_order boolean 注文停止ステータス
stop_order_and_cancel boolean 注文および注文キャンセル停止ステータス
stop_market_order boolean 成行注文停止ステータス
stop_stop_order boolean 逆指値(成行)注文停止ステータス
stop_stop_limit_order boolean 逆指値(指値)注文停止ステータス
stop_margin_long_order boolean ロング新規建て注文停止ステータス
stop_margin_short_order boolean ショート新規建て注文停止ステータス
stop_buy_order boolean 買い注文停止ステータス
stop_sell_order boolean 売り注文停止ステータス

サンプルコード:

Curl

curl https://api.bitbank.cc/v1/spot/pairs

レスポンスのフォーマット:

{
  "success": 1,
  "data": {
    "pairs": [
      {
        "name": "string",
        "base_asset": "string",
        "maker_fee_rate_base": "string",
        "taker_fee_rate_base": "string",
        "maker_fee_rate_quote": "string",
        "taker_fee_rate_quote": "string",
        "margin_open_maker_fee_rate_quote": "string",
        "margin_open_taker_fee_rate_quote": "string",
        "margin_close_maker_fee_rate_quote": "string",
        "margin_close_taker_fee_rate_quote": "string",
        "margin_long_interest": "string",
        "margin_short_interest": "string",
        "margin_current_individual_ratio": "string",
        "margin_current_individual_until": 0,
        "margin_current_company_ratio": "string",
        "margin_current_company_until": 0,
        "margin_next_individual_ratio": "string",
        "margin_next_individual_until": 0,
        "margin_next_company_ratio": "string",
        "margin_next_company_until": 0,
        "unit_amount": "string",
        "limit_max_amount": "string",
        "market_max_amount": "string",
        "market_allowance_rate": "string",
        "price_digits": 0,
        "amount_digits": 0,
        "is_enabled": true,
        "stop_order": false,
        "stop_order_and_cancel": false,
        "stop_market_order": false,
        "stop_stop_order": false,
        "stop_stop_limit_order": false,
        "stop_margin_long_order": false,
        "stop_margin_short_order": false,
        "stop_buy_order": false,
        "stop_sell_order": false
      }
    ]
  }
}