module Binance::Api
Constants
- VERSION
Public Class Methods
all_coins_info!(recvWindow: nil, api_key: nil, api_secret_key: nil)
click to toggle source
# File lib/binance/api.rb, line 4 def all_coins_info!(recvWindow: nil, api_key: nil, api_secret_key: nil) timestamp = Configuration.timestamp params = { recvWindow: recvWindow, timestamp: timestamp } Request.send!(api_key_type: :read_info, security_type: :user_data, path: "/sapi/v1/capital/config/getall", params: params, api_key: api_key, api_secret_key: api_secret_key) end
candlesticks!(endTime: nil, interval: nil, limit: 500, startTime: nil, symbol: nil, api_key: nil, api_secret_key: nil)
click to toggle source
Valid limits:[5, 10, 20, 50, 100, 500, 1000]
# File lib/binance/api.rb, line 13 def candlesticks!(endTime: nil, interval: nil, limit: 500, startTime: nil, symbol: nil, api_key: nil, api_secret_key: nil) raise Error.new(message: "interval is required") unless interval raise Error.new(message: "symbol is required") unless symbol params = { endTime: endTime, interval: interval, limit: limit, startTime: startTime, symbol: symbol } Request.send!(api_key_type: :read_info, path: "/api/v1/klines", params: params, api_key: api_key, api_secret_key: api_secret_key) end
compressed_aggregate_trades!(endTime: nil, fromId: nil, limit: 500, startTime: nil, symbol: nil, api_key: nil, api_secret_key: nil)
click to toggle source
# File lib/binance/api.rb, line 21 def compressed_aggregate_trades!(endTime: nil, fromId: nil, limit: 500, startTime: nil, symbol: nil, api_key: nil, api_secret_key: nil) raise Error.new(message: "symbol is required") unless symbol params = { endTime: endTime, fromId: fromId, limit: limit, startTime: startTime, symbol: symbol, }.delete_if { |key, value| value.nil? } Request.send!(api_key_type: :read_info, path: "/api/v1/aggTrades", params: params, api_key: api_key, api_secret_key: api_secret_key) end
depth!(symbol: nil, limit: 100, api_key: nil, api_secret_key: nil)
click to toggle source
# File lib/binance/api.rb, line 30 def depth!(symbol: nil, limit: 100, api_key: nil, api_secret_key: nil) raise Error.new(message: "symbol is required") unless symbol params = { limit: limit, symbol: symbol } Request.send!(api_key_type: :read_info, path: "/api/v1/depth", params: params, api_key: api_key, api_secret_key: api_secret_key) end
exchange_info!(api_key: nil, api_secret_key: nil)
click to toggle source
# File lib/binance/api.rb, line 37 def exchange_info!(api_key: nil, api_secret_key: nil) Request.send!(api_key_type: :read_info, path: "/api/v1/exchangeInfo", api_key: api_key, api_secret_key: api_secret_key) end
historical_trades!(symbol: nil, limit: 500, fromId: nil, api_key: nil, api_secret_key: nil)
click to toggle source
# File lib/binance/api.rb, line 42 def historical_trades!(symbol: nil, limit: 500, fromId: nil, api_key: nil, api_secret_key: nil) raise Error.new(message: "symbol is required") unless symbol params = { fromId: fromId, limit: limit, symbol: symbol } Request.send!(api_key_type: :read_info, path: "/api/v1/historicalTrades", params: params, security_type: :market_data, api_key: api_key, api_secret_key: api_secret_key) end
info!(recvWindow: nil, api_key: nil, api_secret_key: nil)
click to toggle source
# File lib/binance/api.rb, line 49 def info!(recvWindow: nil, api_key: nil, api_secret_key: nil) timestamp = Configuration.timestamp params = { recvWindow: recvWindow, timestamp: timestamp }.delete_if { |key, value| value.nil? } Request.send!(api_key_type: :read_info, path: "/api/v3/account", params: params, security_type: :user_data, api_key: api_key, api_secret_key: api_secret_key) end
ping!()
click to toggle source
# File lib/binance/api.rb, line 56 def ping! Request.send!(path: "/api/v1/ping") end
ticker!(symbol: nil, type: nil, api_key: nil, api_secret_key: nil)
click to toggle source
# File lib/binance/api.rb, line 60 def ticker!(symbol: nil, type: nil, api_key: nil, api_secret_key: nil) ticker_type = type&.to_sym error_message = "type must be one of: #{ticker_types.join(", ")}. #{type} was provided." raise Error.new(message: error_message) unless ticker_types.include? ticker_type path = ticker_path(type: ticker_type) params = symbol ? { symbol: symbol } : {} Request.send!(api_key_type: :read_info, path: path, params: params, api_key: api_key, api_secret_key: api_secret_key) end
time!()
click to toggle source
# File lib/binance/api.rb, line 70 def time! Request.send!(path: "/api/v1/time") end
trades!(symbol: nil, limit: 500, api_key: nil, api_secret_key: nil)
click to toggle source
# File lib/binance/api.rb, line 74 def trades!(symbol: nil, limit: 500, api_key: nil, api_secret_key: nil) raise Error.new(message: "symbol is required") unless symbol params = { limit: limit, symbol: symbol } Request.send!(api_key_type: :read_info, path: "/api/v1/trades", params: params, api_key: api_key, api_secret_key: api_secret_key) end
Private Class Methods
ticker_path(type:)
click to toggle source
# File lib/binance/api.rb, line 83 def ticker_path(type:) case type when :daily "/api/v1/ticker/24hr" when :price, :bookTicker, :avgPrice "/api/v3/ticker/#{type.to_s.camelize(:lower)}" end end
ticker_types()
click to toggle source
# File lib/binance/api.rb, line 92 def ticker_types [:daily, :price, :bookTicker].freeze end