Skip to content

Elixir wrapper for the Binance public API

License

Notifications You must be signed in to change notification settings

Utensil-Drawer/binance.ex

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

binance.ex

Build Status

Elixir wrapper for interacting with the Binance API.

Installation

  1. The package can be installed by adding binance to your list of dependencies in mix.exs:
def deps do
  [
    {:binance, "~> 0.7.1"}
  ]
end
  1. Add :binance to your applications
def application do
  [applications: [:binance]]
end
  1. Add your Binance API credentials to your config.exs file, like so (you can create a new API key here):
config :binance,
  api_key: "xxx",
  secret_key: "xxx",
  end_point: "https://api.binance.us" # Add for the US API end point. The default is for "https://api.binance.com"

Usage

Documentation available at https://hexdocs.pm/binance.

Get all prices

iex> Binance.get_all_prices
{:ok,
 [%Binance.SymbolPrice{price: "0.07718300", symbol: "ETHBTC"},
  %Binance.SymbolPrice{price: "0.01675400", symbol: "LTCBTC"},
  %Binance.SymbolPrice{price: "0.00114690", symbol: "BNBBTC"},
  %Binance.SymbolPrice{price: "0.00655900", symbol: "NEOBTC"},
  %Binance.SymbolPrice{price: "0.00030000", symbol: "123456"},
  %Binance.SymbolPrice{price: "0.04754000", symbol: "QTUMETH"},
  %Binance.SymbolPrice{price: "0.00778500", symbol: "EOSETH"}
  ...]}

Buy 100 REQ for the current market price

iex> Binance.order_market_buy("REQETH", 100)
{:ok, %{}}

Trade pair normalization

For convenience, all functions that require a symbol in the form of "ETHBTC" also accept a %Binance.TradePair{} struct in the form of %Binance.TradePair{from: "ETH", to: "BTC"}. The order of symbols in %Binance.TradePair{} does not matter. All symbols are also case insensitive.

Binance.find_symbol/1 will return the correct string representation as it is listed on binance

Binance.find_symbol(%Binance.TradePair{from: "ReQ", to: "eTH"})
{:ok, "REQETH"}

Binance.find_symbol(%Binance.TradePair{from: "ETH", to: "REQ"})
{:ok, "REQETH"}

License

MIT

About

Elixir wrapper for the Binance public API

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Elixir 100.0%