Project

btcmrb

0.01
Repository is archived
No commit activity in last 3 years
No release in over 3 years
Unofficial Ruby Gem for btcmarkets.net API
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

~> 0.14.0
 Project Readme

Btcmrb (BTC Markets Ruby)

Description

Unofficial Ruby Gem for btcmarkets.net API and is still very much a work in progress.

Installation

Install the gem

Command line:

$ gem install btcmrb

Or in your application's Gemfile:

gem 'btcmrb', '~> 0.1.9'

Create some environment variables

https://btcmarkets.net/account/apikey

export BTCM_ACCESS_KEY="YOUR ACCESS KEY"
export BTCM_SECRET="YOUR SECRET"

Account Management API

https://github.com/BTCMarkets/API/wiki/Account-API

client = Btcmrb.new
balance_request = Btcmrb::Account.balance
client.send_request(balance_request)
# => [{"balance":1000000000,"pendingFunds":0,"currency":"AUD"},{"balance":1000000000,"pendingFunds":0,"currency":"BTC"},{"balance":1000000000,"pendingFunds":0,"currency":"LTC"}]

client = Btcmrb.new
tradingfee_request = Btcmrb::Account.tradingfee('BTC','AUD')
client.send_request(tradingfee_request)
# => [{"success"=>true, "errorCode"=>nil, "errorMessage"=>nil, "tradingFeeRate"=>749999, "volume30Day"=>396768299721}]

Market Data API

https://github.com/BTCMarkets/API/wiki/Market-data-API

client = Btcmrb.new
ticker_request = Btcmrb::Marketdata.tick('BTC','AUD')
client.send_request(ticker_request)
# => {"bestBid":844.0,"bestAsk":844.98,"lastPrice":845.0,"currency":"AUD","instrument":"BTC","timestamp":1476242958,"volume24h":172.60804}

client = Btcmrb.new
orderbook_request = Btcmrb::Marketdata.orderbook('BTC','AUD')
client.send_request(orderbook_request)
# => {"currency":"AUD","instrument":"BTC","timestamp":1476243360,"asks":[[844.98,0.45077821],[845.0,2.7069457],[848.68,2.58512],[848.76,0.29745]],"bids":[[844.0,0.00489636],[840.21,0.060724],[840.16,0.1180803],[840.1,0.32130103]]}

client = Btcmrb.new
trades_requst = Btcmrb::Marketdata.trades('BTC','AUD')
client.send_request(trades_requst)
# => [{"tid":4432702312,"amount":0.01959674,"price":845.0,"date":1378878093},{"tid":59861212129,"amount":1.21434000,"price":845.15,"date":1377840783}]

Trading API

https://github.com/BTCMarkets/API/wiki/Trading-API

client = Btcmrb.new
all_orders = Btcmrb::Order.all
client.send_request(all_orders)
# => {"success":true,"errorCode":null,"errorMessage":null,"orders":[{"id":1003245675,"currency":"AUD","instrument":"BTC","orderSide":"Bid","ordertype":"Limit","creationTime":1378862733366,"status":"Placed","errorMessage":null,"price":13000000000,"volume":10000000,"openVolume":10000000,"clientRequestId":null,"trades":[]},{"id":4345675,"currency":"AUD","instrument":"BTC","orderSide":"Ask","ordertype":"Limit","creationTime":1378636912705,"status":"Fully Matched","errorMessage":null,"price":13000000000,"volume":10000000,"openVolume":0,"clientRequestId":null,"trades":[{"id":5345677,"creationTime":1378636913151,"description":null,"price":13000000000,"volume":10000000,"fee":100000}]}]}

client = Btcmrb.new
open_orders = Btcmrb::Order.open_orders
client.send_request(open_orders)
# => {"success":true,"errorCode":null,"errorMessage":null,"orders":[{"id":1003245675,"currency":"AUD","instrument":"BTC","orderSide":"Bid","ordertype":"Limit","creationTime":1378862733366,"status":"Placed","errorMessage":null,"price":13000000000,"volume":10000000,"openVolume":10000000,"clientRequestId":null,"trades":[]},{"id":4345675,"currency":"AUD","instrument":"BTC","orderSide":"Ask","ordertype":"Limit","creationTime":1378636912705,"status":"Fully Matched","errorMessage":null,"price":13000000000,"volume":10000000,"openVolume":0,"clientRequestId":null,"trades":[{"id":5345677,"creationTime":1378636913151,"description":null,"price":13000000000,"volume":10000000,"fee":100000}]}]}

client = Btcmrb.new
trade_history = Btcmrb::Order.trade_history
client.send_request(trade_history)
# => TBC

# A single order
client = Btcmrb.new
order_detail = Btcmrb::Order.show(123456789)
client.send_request(order_detail)
# => TBC

# Multiple orders
client = Btcmrb.new
order_detail = Btcmrb::Order.show(123456789,987654321)
client.send_request(order_detail)
# => TBC

client = Btcmrb.new
order_detail = Btcmrb::Order.create('AUD','BTC',4000,1,'Bid','Limit')
client.send_request(order_detail)
# => TBC

client = Btcmrb.new
order_to_cancel = Btcmrb::Order.cancel(123456789)
client.send_request(order_to_cancel)
# =>  TBC

License

MIT - For terms refer to LICENSE.md