Exchanges

対応取引所における pybotters の個別の仕様について説明します。

コード例などについては Examples をご覧ください。

bitFlyer

https://lightning.bitflyer.com/docs

Authentication

WebSocket

bitFlyer の WebSocket には Socket.IOJSON-RPC 2.0 over WebSocket がありますが、 pybotters の認証と DataStore は JSON-RPC 2.0 over WebSocket のみ対応しています。

DataStore

以下の DataStore に格納される値は pybotters による独自実装です。 また特定のキーのみが更新されます。

警告

bitFlyer の WebSocket チャンネル child_order_events は各種データを提供しておらず、計算の元となる約定情報のみを提供しています。 その為 bitFlyerDataStore は約定情報から独自に各種データを計算しています。 値が正確になるよう努めていますが、端数処理などの影響で実データとズレが生じる可能性があることに注意してください。 正確な値を必要とする場合は、HTTP API による bitFlyerDataStore.initialize() を利用してください。

対応している WebSocket チャンネルはリファレンスの ATTRIBUTES をご覧ください。

GMO Coin

https://api.coin.z.com/docs/

Authentication

  • API 認証情報
    • {"gmocoin": ["API_KEY", "API_SERCRET"]}

  • HTTP 認証

    HTTP リクエスト時に取引所が定める認証情報が自動設定されます。

    https://api.coin.z.com/docs/#authentication-private

  • WebSocket 認証

    GMO Coin はトークン認証方式です。

    https://api.coin.z.com/docs/#authentication-private-ws

    helpers.GMOCoinHelper には「アクセストークン」を管理する機能があります。

    helpers.GMOCoinHelper を利用すると「アクセストークンを延長」と「アクセストークンを取得」を自動で実行します。 さらに取得したアクセストークンから Private WebSocket URL を構築して WebSocketApp.url を自動で更新します。 通常、 GMO コインの定期メンテナンス 後はアクセストークンは失効して Private WebSocket の再接続は失敗してしまいます。 このヘルパーを使うと、失効したアクセストークンを自動で再取得するので、メンテナンス後の再接続を確立するのに便利です。

    利用可能なコードは Examples GMOCoinHelper をご覧ください。

WebSocket

DataStore

対応している WebSocket チャンネルはリファレンスの ATTRIBUTES をご覧ください。

bitbank

https://github.com/bitbankinc/bitbank-api-docs

Authentication

WebSocket

  • Socket.IO

    bitbank の Public WebSocket は Socket.IO で実装されています。 pybotters は Socket.IO にネイティブでは対応していない為、低レベルで URL の指定と購読リクエストを送信をする必要があります。

    低レベルで Socket.IO の購読リクエストには Client.ws_connect() の引数 send_str'42["join-room","depth_whole_btc_jpy"]' のように指定します。

    また pybotters は Socket.IO v4 に対応していません。 接続するには URL で v3 EIO=3 を指定する必要があります。

    利用可能なコードは Examples をご覧ください。

  • Ping-Pong
    • Socket.IO の Ping-Pong が自動で送信されます。

PubNub

  • PubNub クライアント

    bitbank の Private Stream API は PubNub によって配信されています。 これは WebSocket のようなプロトコルではありません。

    pybotters はヘルパー関数として組み込みの PubNub クライアント pybotters.helpers.bitbank を提供しています。 このヘルパー関数群では Private Stream API のサブスクライブをできます。 さらにトークンの自動取得・トークンの自動更新を行います。 また bitbankPrivateDataStore を簡単に利用することができます。 (Examples)

    別途、ファースト・パーティの PubNub SDK を利用することもできます。 これより高機能ですが、ただし pybotters の HTTP セッションとは互換性がありません。 組み込みのヘルパー関数を利用することで、イベントループをより適切に管理することができます。

DataStore

対応している WebSocket チャンネルはリファレンスの ATTRIBUTES をご覧ください。

Coincheck

https://coincheck.com/ja/documents/exchange/api

Authentication

DataStore

注釈

CoincheckDataStore の orderbook は、ドキュメントで説明されていない [pair]-limit-range-orderbook / GET /api/order_books?version=1.0 にも対応しています。 こちらの payload には sequence_number が含まれるため、REST snapshot と WebSocket 更新を 安全に同期したい場合はこちらの組み合わせを利用してください。

警告

新規注文イベントは WebSocket からは送信されません。 POST /api/exchange/orders のレスポンスを別途再利用する必要があります。

またオープンオーダーに関して Coincheck のデータ形式には未約定数量が含まれていません。 CoincheckPrivateDataStore ではオープンオーダーの未約定数量が追跡できるように pending_amount および pending_market_buy_amount をイベントごとに計算してキーとして追加しています。

詳しくは CoincheckPrivateDataStore.order をご覧ください。

対応している WebSocket チャンネルはリファレンスの ATTRIBUTES をご覧ください。

OKJ

https://dev.okcoin.jp/en/

Authentication

WebSocket

DataStore

未サポート。

BitTrade

https://api-doc.bittrade.co.jp/

Authentication

WebSocket

DataStore

未サポート。

Bybit

https://bybit-exchange.github.io/docs/v5/intro

V5 API のみ対応しています。 V3 API には対応していません。

Authentication

WebSocket

DataStore

対応している WebSocket チャンネルはリファレンスの ATTRIBUTES をご覧ください。

Binance

https://developers.binance.com/docs/binance-spot-api-docs/CHANGELOG

pybotters は Binance API において Spot /USDⓈ-M / COIN-M / WebSocket API (Spot) で動作確認をしています。

Authentication

WebSocket

DataStore

対応している WebSocket チャンネルはリファレンスの ATTRIBUTES をご覧ください。

OKX

https://www.okx.com/docs-v5/en/

Authentication

WebSocket

DataStore

対応している WebSocket チャンネルはリファレンスの ATTRIBUTES をご覧ください。

Phemex

https://phemex-docs.github.io/

Authentication

WebSocket

DataStore

対応している WebSocket チャンネルはリファレンスの ATTRIBUTES をご覧ください。

Bitget

https://www.bitget.com/api-doc/common/intro

Authentication

WebSocket

DataStore

MEXC

https://mexcdevelop.github.io/apidocs/spot_v3_en/

警告

MEXC Future は注文系 API が maintenance となっているので、実質的に API トレードできません

https://mexcdevelop.github.io/apidocs/contract_v1_en/#update-log

また Spot についても一部銘柄 (なんと BTC/USDT を含む) は同じく注文系 API が利用停止になっています。

https://support.mexc.com/hc/ja/articles/15149585234969-MEXC-BTC-USDT-FTM-USDT-OP-USDT-DOGE-USDT各取引ペアのAPIアップグレード-及びメンテナンスに関するお知らせ

Authentication

WebSocket

DataStore

注文系 API が利用できないことを鑑みて、サポート対象外としています。

KuCoin

https://www.kucoin.com/docs/beginners/introduction

Authentication

WebSocket

DataStore

対応している WebSocket チャンネルはリファレンスの ATTRIBUTES をご覧ください。

BitMEX

https://www.bitmex.com/app/apiOverview

警告

BitMEX Mainnet は日本国内からは利用できません。 Testnet のみ利用可能です。

https://blog.bitmex.com/ja-jp-notice-to-japan-residents/

Authentication

DataStore

対応している WebSocket チャンネルはリファレンスの ATTRIBUTES をご覧ください。

Hyperliquid

https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api

Authentication

  • API 認証情報
    • {"hyperliquid": ["PRIVATE_KEY"]} (Mainnet)

    • {"hyperliquid_testnet": ["PRIVATE_KEY"]} (Testnet)

  • HTTP 認証

    Exchange endpoint (/exchange) へのリクエストに対して以下の Request Body を省略することができます。 省略した場合、以下の値が自動設定されます。

    • nonce: 現在時刻のミリ秒

    • signature: action をハッシュ化し秘密鍵で署名した値

    実際の利用方法は Examples を参照してください。

  • WebSocket 認証

    Post requestsaction タイプのメッセージ送信に対して以下の認証情報が自動設定されます。

    • nonce: 現在時刻のミリ秒

    • signature: action をハッシュ化し秘密鍵で署名した値

手動で署名をする必要がある場合は、より低レベルな署名ヘルパー pybotters.helpers.hyperliquid を利用してください。

WebSocket

DataStore

対応している WebSocket チャンネルはリファレンスの ATTRIBUTES をご覧ください。