Skip to content
/ krakex Public

Elixir client for the Kraken Bitcoin Exchange API

License

Notifications You must be signed in to change notification settings

edennis/krakex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Krakex

Build Status Coverage Status Hex.pm

Elixir client for the Kraken Bitcoin Exchange API

Note that this README refers to the master branch of Krakex, not the latest released version on Hex. See the documentation for the documentation of the version you're using.

Installation

The package can be installed by adding krakex to your list of dependencies in mix.exs:

def deps do
  [
    {:krakex, "~> 0.7.0"}
  ]
end

Configuration

The Kraken API consists of public and private calls. While you can use the public API as you like, you'll need to create an account and get yourself an API key if you want to do more. To use the private API you'll need to add some configuration to your Mix config:

config :krakex,
  api_key: System.get_env("KRAKEN_API_KEY"),
  private_key: System.get_env("KRAKEN_PRIVATE_KEY")

Usage

The entire functionality of the API can be accessed via the Krakex module. To get started just configure your API credentials as described above and call the functions:

iex(1)> Krakex.balance()
{:ok,
 %{"BCH" => "0.0000000000", "XETH" => "0.0000000000", "ZEUR" => "50.00"}}

If you need to use multiple Kraken accounts in your application this can be achieved by explicitly defining Krakex.Client structs and passing them as the first argument to any of the functions defined in the Krakex module:

client1 = Krakex.Client.new("api_key1", "secret1")
client2 = Krakex.Client.new("api_key2", "secret2")

balance1 = client1 |> Krakex.trade_balance(asset: "ZUSD")
balance2 = client2 |> Krakex.trade_balance(asset: "EUR")

TODO - Help wanted!

Private user data

Private user trading

Private user funding calls

Contributing

  1. Fork it (https://github.com/edennis/krakex/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Copyright (c) 2018 Erick Dennis