module Binance::Spot::Market

def agg_trades(symbol:, **kwargs)

Other tags:
    See: https://developers.binance.com/docs/binance-spot-api-docs/rest-api#compressedaggregate-trades-list -

Options Hash: (**kwargs)
  • :limit (Integer) -- Default 500; max 1000.
  • :fromId (Integer) -- Trade id to fetch from. Default gets most recent trades.
  • :endTime (Integer) -- Timestamp in ms to get aggregate trades until INCLUSIVE.
  • :startTime (Integer) -- Timestamp in ms to get aggregate trades from INCLUSIVE.

Parameters:
  • kwargs (Hash) --
  • symbol (String) -- the symbol
def agg_trades(symbol:, **kwargs)
  Binance::Utils::Validation.require_param('symbol', symbol)
  @session.public_request(
    path: '/api/v3/aggTrades',
    params: kwargs.merge(symbol: symbol)
  )
end

def avg_price(symbol:)

Other tags:
    See: https://developers.binance.com/docs/binance-spot-api-docs/rest-api#current-average-price -

Parameters:
  • symbol (String) -- the symbol
def avg_price(symbol:)
  Binance::Utils::Validation.require_param('symbol', symbol)
  @session.public_request(
    path: '/api/v3/avgPrice',
    params: { symbol: symbol }
  )
end

def book_ticker(symbol: nil)

Other tags:
    See: https://developers.binance.com/docs/binance-spot-api-docs/rest-api#symbol-order-book-ticker -

Parameters:
  • symbol (String) -- the symbol
def book_ticker(symbol: nil)
  @session.public_request(
    path: '/api/v3/ticker/bookTicker',
    params: { symbol: symbol }
  )
end

def depth(symbol:, **kwargs)

Other tags:
    See: https://developers.binance.com/docs/binance-spot-api-docs/rest-api#order-book -

Options Hash: (**kwargs)
  • :limit (Integer) -- Default 100; max 1000. Valid limits:[5, 10, 20, 50, 100, 500, 1000, 5000]

Parameters:
  • kwargs (Hash) --
  • symbol (String) -- the symbol
def depth(symbol:, **kwargs)
  Binance::Utils::Validation.require_param('symbol', symbol)
  @session.public_request(
    path: '/api/v3/depth',
    params: kwargs.merge(symbol: symbol)
  )
end

def exchange_info(symbol: nil, symbols: nil, permissions: nil)

Other tags:
    See: https://developers.binance.com/docs/binance-spot-api-docs/rest-api#exchange-information -

Options Hash: (**kwargs)
  • :permissions (string) --
  • :symbols (string) --
  • :symbol (string) --
def exchange_info(symbol: nil, symbols: nil, permissions: nil)
  if symbols.is_a?(Array)
    symbols = symbols.map { |v| "%22#{v}%22" }.join(',')
    symbols = "%5B#{symbols}%5D"
  end
  if permissions.is_a?(Array)
    permissions = permissions.map { |v| "%22#{v}%22" }.join(',')
    permissions = "%5B#{permissions}%5D"
  end
  @session.public_request(
    path: '/api/v3/exchangeInfo',
    params: { symbol: symbol, symbols: symbols, permissions: permissions }
  )
end

def historical_trades(symbol:, **kwargs)

Other tags:
    See: https://developers.binance.com/docs/binance-spot-api-docs/rest-api#old-trade-lookup -

Options Hash: (**kwargs)
  • :fromId (Integer) -- Trade id to fetch from. Default gets most recent trades.
  • :limit (Integer) -- Default 500; max 1000.

Parameters:
  • kwargs (Hash) --
  • symbol (String) -- the symbol
def historical_trades(symbol:, **kwargs)
  Binance::Utils::Validation.require_param('symbol', symbol)
  @session.public_request(
    path: '/api/v3/historicalTrades',
    params: kwargs.merge(symbol: symbol)
  )
end

def klines(symbol:, interval:, **kwargs)

Other tags:
    See: https://developers.binance.com/docs/binance-spot-api-docs/rest-api#klinecandlestick-data -

Options Hash: (**kwargs)
  • :limit (Integer) -- Default 500; max 1000.
  • :endTime (Integer) -- Timestamp in ms to get aggregate trades until INCLUSIVE.
  • :startTime (Integer) -- Timestamp in ms to get aggregate trades from INCLUSIVE.

Parameters:
  • kwargs (Hash) --
  • interval (String) -- interval
  • symbol (String) -- the symbol
def klines(symbol:, interval:, **kwargs)
  Binance::Utils::Validation.require_param('symbol', symbol)
  Binance::Utils::Validation.require_param('interval', interval)
  @session.public_request(
    path: '/api/v3/klines',
    params: kwargs.merge(
      symbol: symbol,
      interval: interval
    )
  )
end

def ping

Other tags:
    See: https://developers.binance.com/docs/binance-spot-api-docs/rest-api#test-connectivity -
def ping
  @session.public_request(path: '/api/v3/ping')
end

def ticker(symbol: nil, symbols: nil, windowSize: '1d')

Other tags:
    See: https://developers.binance.com/docs/binance-spot-api-docs/rest-api#symbol-order-book-ticker -

Parameters:
  • symbol (String) -- the symbol
def ticker(symbol: nil, symbols: nil, windowSize: '1d')
  raise Binance::DuplicatedParametersError.new('symbol', 'symbols') unless symbols.nil? || symbol.nil?
  params = { symbol: symbol.upcase } if symbol
  if symbols
    symbols = symbols.map { |s| "\"#{s}\"" }.join(',')
    params = { symbols: "\[#{symbols}\]".upcase }
  end
  params[:windowSize] = windowSize
  @session.public_request(
    path: '/api/v3/ticker',
    params: params
  )
end

def ticker_24hr(symbol: nil)

Other tags:
    See: https://developers.binance.com/docs/binance-spot-api-docs/rest-api#24hr-ticker-price-change-statistics -

Parameters:
  • symbol (String) -- the symbol
def ticker_24hr(symbol: nil)
  @session.public_request(
    path: '/api/v3/ticker/24hr',
    params: { symbol: symbol }
  )
end

def ticker_price(symbol: nil)

Other tags:
    See: https://developers.binance.com/docs/binance-spot-api-docs/rest-api#symbol-price-ticker -

Parameters:
  • symbol (String) -- the symbol
def ticker_price(symbol: nil)
  @session.public_request(
    path: '/api/v3/ticker/price',
    params: { symbol: symbol }
  )
end

def time

Other tags:
    See: https://developers.binance.com/docs/binance-spot-api-docs/rest-api#check-server-time -
def time
  @session.public_request(path: '/api/v3/time')
end

def trades(symbol:, **kwargs)

Other tags:
    See: https://developers.binance.com/docs/binance-spot-api-docs/rest-api#recent-trades-list -

Options Hash: (**kwargs)
  • :limit (Integer) -- Default 500; max 1000.

Parameters:
  • kwargs (Hash) --
  • symbol (String) -- the symbol
def trades(symbol:, **kwargs)
  Binance::Utils::Validation.require_param('symbol', symbol)
  @session.public_request(
    path: '/api/v3/trades',
    params: kwargs.merge(symbol: symbol)
  )
end