はじめに

取引を自動化したいユーザーとAPI

仮想通貨取引所では日々取引が行われています。取引を行うユーザーの目的の一つにその売買の価格差による収益を得ることがあります。年に一度のような長期的な売買を行うユーザーもいれば、秒単位で売買を繰り返す短期的なユーザーもいます。
取引を行うには、まず現在価格などの情報を知ることも必要です。情報を取得したり取引したりする方法として一般的なのは、取引所がWebで公開しているプラットフォームにブラウザからアクセスする方法です。一方で、プログラムを用いて取引所が公開するAPIを経由して情報を取得したり取引したりする方法もあります。高頻度にあるいは正確に取引を行いたいユーザーにとってAPIを利用した自動化は有用です。
ブラウザが取引所の情報を表示できるのも結局はAPIを経由して情報を取得しているからですが、ありがたいことにそのAPIを公開している取引所は多いです。余談ですが、FXや株の取引所は基本公開していない印象です。

WebSocketなAPIを公開する取引所

ユーザーはこのAPIの窓口に対して情報を要求したり、取引の注文を行うプログラムを書いたりすることでそれらの処理を自動化することができます。
また、昨今はWebSocketという通信方式を用いたAPIを公開する取引所もあり、ますますユーザーは高頻度に通信できるようになっています。一般的なAPI通信ではHTTPリクエストとそのレスポンスの往復を都度繰り返しますが、WebSocketでは一度HTTP通信で接続を確立できればHTTPリクエストを再送信せずとも双方向に情報のやり取りが可能です。都度再接続しなくてよい分コストが少ないので、よりリアルタイム性を求められる取引所のAPIとしても相性がよいと考えられます。

The goal of this technology is to provide a mechanism for browser-based
applications that need two-way communication with servers that does
not rely on opening multiple HTTP connections (e.g., using
XMLHttpRequest or

bannerAds