Ruby client for Peatio API.
Switch branches/tags
Clone or download
Pull request Compare This branch is 11 commits ahead of Treefunder:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Ruby client for Peatio API

Build Status

peatio-client-ruby is a client for Peatio API, support all Peatio API functions like submit order, get tickers, etc. It's also a reference client implementation, where you can find how to authenticate private Peatio API.


  • ruby 2.0.0 or higher (if you want to run 'rake test' in this gem you'll need ruby 2.1.0 or higher)
  • openssl


gem install peatio_client


Command line tool


REST API client

Use #get or #post to access API after you created a PeatioAPI::Client:

  require 'peatio_client'

  # Client can be initialized not providing key and sercet, but this client can only access public APIs
  client_public = endpoint: ''

  # GET public api /api/v2/markets
  client_public.get_public '/api/v2/markets'

  # To build a full functional client which can access both public/private api, access_key/secret_key
  # are required.
  # `endpoint` can be ignored or set to any Peatio powered exchange.
  # If there's no data received in `timeout` seconds, Net::OpenTimeout will be raised. Default to 60.
  client = access_key: 'your_access_key', secret_key: 'your_secret_key', endpoint: '', timeout: 60

  # GET private api /api/v2/orders with 'market=ltcbtc'
  client.get '/api/v2/orders', market: 'ltcbtc'

  # POST to create an order '/api/v2/orders', market: 'ltcbtc', side: 'sell', volume: '0.11', price: '2955.0'

  # POST to create multiple orders at once '/api/v2/orders/multi', market: 'ltcbtc', orders: [{side: 'buy', volume: '0.15', price: '2955.0'}, {side: 'sell', volume: '0.16', price: '2956'}]

Check Peatio API v2 Documents for details on Peatio API.

Streaming API client

Streaming API client is built upon eventmachine, it will start an endless loop to accept updates from server side, you only need to provide a callback block:

  require 'peatio_client'

  client = access_key: 'your_access_key', secret_key: 'your_secret_key', endpoint: 'wss://' do |message|
    # do whatever you want with message


peatio-client-ruby is released under MIT license. See for more information.

How To Contribute

Just create an issue or open a pull request :)