coincheck APIの使い方と注意したいポイント

coincheck 取引所APIドキュメントを参照してコーディングします。

公式サイトのサンプルプログラムでNode.jsはありませんが、他の取引所と同じなのでそこまで難しくありません。
以下のサンプルを活用してみてください。

coincheck 取引所API接続のサンプルコード

Public APIサンプル(ティッカー)

Public APIは認証不要です。

const request = require('request');
const path = 'api/ticker';
const endpoint = 'https://coincheck.com/'
const url = endpoint + path;
request(url, function (err, response, payload) {
    let body = JSON.parse(payload);
    console.log(body.last,body.bid,body.ask)
}

Private APIサンプル(アカウント残高)

Private APIは認証が必要です。

coincheck 取引所APIドキュメントより、ACCESS-KEY、ACCESS-NONCE、ACCESS-SIGNATUREをheaderに定義する必要があります。

Node.jsでのHMAC-SHA256はcrypto.createHmac関数を利用します。

const crypto = require('crypto');
const key = (APIアクセスキー);
const secret = (APIシークレットキー);
const timestamp = Date.now().toString();
const endpoint = 'https://coincheck.com/'
const path = 'api/accounts/balance';
const sign = crypto.createHmac('sha256', secret).update(timestamp + endpoint + path).digest('hex');
const options = {
  url: endpoint + path,
  method: 'GET',
  headers: {
    'ACCESS-KEY': key,
    'ACCESS-NONCE': timestamp,
    'ACCESS-SIGNATURE': sign
  }
};
request(options, function (err, response, payload) {
  let body = JSON.parse(payload);
  let jpyassetCC = body.jpy;
  let btcassetCC = body.btc;
  console.log(jpyassetCC, btcassetCC)
});

coincheck API利用時の注意点

注文約定後のウォレット反映までのタイムラグ

coincheck API利用時の注意点として、注文約定後のウォレット残高反映までに数秒のタイムラグが発生します。

古い残高を使用していると誤って残高不足なのに発注してしまう可能性があります。


2019年2月時点ではタイムラグがあまり見られなくなりましたが、念のため制御は入れておいた方がいいと思います。

私はアービトラージでcoincheckAPIを利用していますが、全取引所のBTC残高の合計をデータベースに保存しておき、事前にチェックをする処理を入れています。

英会話