REST Exchange API for, Python 3





GitHub Stars



Last Commit

5mos ago









.. image:: :alt: Latest Travis continuous integration build :target: .. image:: :alt: Read latest documentation :target: .. image:: :alt: Latest PyPI release :target: .. image:: :alt: Development discussion at :target:

krakenex exchange API, Python 3 package.

This package is intentionally as lean as possible, and only provides a minimal interface to the Kraken_ cryptocurrency exchange.

Intended for developers, not traders.

.. _Kraken:

Software that uses krakenex

Libraries ^^^^^^^^^

  • pykrakenapi - nicely wraps API methods into regular Python methods, and JSON responses into Pandas dataframes (available on PyPI!)
  • CurrencyViewer_ - short python3 framework for data extraction, conversion, and smooth development experience (available on PyPI!)

.. _pykrakenapi: .. _Pandas: .. _CurrencyViewer:

Clients ^^^^^^^

  • clikraken_ - command-line client for the Kraken exchange (available on PyPI!)
  • Telegram-Kraken-Bot_ - Telegram bot to trade on Kraken exchange

.. _clikraken: .. _Telegram-Kraken-Bot:


View the latest or stable online at ReadTheDocs.

The code is documented in docstrings, and can be viewed with a text editor.

You can also generate your own with, e.g., make html in doc. This requires sphinx and its rtd theme.

For the most up-to-date list of public/private Kraken API methods, see their API documentation_.

.. _latest: .. _stable: .. _API documentation:


A few package use examples are available in the examples_ directory.

.. _examples: examples/


This package requires Python 3.3 or later. The module will be called krakenex.

A PyPI package_ is available.

For general use, there is only one direct dependency: requests_.

.. _PyPI package: .. _requests:

Locally for a project, in a virtual environment (recommended) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

This requires python-virtualenv and python-pip.

In a terminal:

.. code-block:: sh

create directory for a project that'll be using krakenex

mkdir my-project cd my-project

bootstrap virtualenv

export VIRTUAL_ENV=.virtualenv/krakenex mkdir -p $VIRTUAL_ENV virtualenv $VIRTUAL_ENV source $VIRTUAL_ENV/bin/activate

install from PyPI

pip install krakenex

For more information on virtualenv, see its documentation_.

.. _its documentation:

For the user ^^^^^^^^^^^^

Using pip:

.. code-block:: sh

install from PyPI

pip install --user krakenex

... or from local git repo clone

cd CLONE-OF-GIT-REPO pip install --user .

System-wide (not recommended) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

In general, use the distribution's package manager.

If it's unavailable, one can use pip:

.. code-block:: sh

install from PyPI

pip install krakenex

... or from local copy

pip install /path/to/clone/of/repo


"Core" code is licensed under LGPLv3. See LICENSE.txt and LICENSE-GPLv3.txt.

Examples are licensed under the Simplified BSD license. See examples/LICENSE.txt.

Payward's PHP API, Alan McIntyre's BTC-e API, and ScriptProdigy's Cryptsy Python API were used as examples when writing the original python2-krakenex package. It was then ported to Python 3.

.. _Payward's PHP API: .. _BTC-e API: .. _Cryptsy Python API: .. _python2-krakenex:

Development notes

Do not annoy the Kraken with tests ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Some tests may be making queries to the Kraken API server.

If you intend to do development on this package, and have tests enabled on Travis CI_, be sure to limit concurrent jobs to 1, and enable all possible auto-cancellations.

(Better yet, don't rely on public infrastructure, but run the tests locally first.)

.. _Travis CI:

No Python 2 ^^^^^^^^^^^

This package will never support Python 2. There will be no changes made to enable compatibility with Python 2. Python 3.0 was released in 2008_, before Bitcoin was.

There is no reason to support Python 2 except for compatibility with systems from the pre-blockchain era.

The fact that some GNU/Linux distributions still ship with Python 2 as the default seems unfortunate to me. However, I will not support this madness with my precious time.

If you have a valid reason to use Python 2, see python2-krakenex_. Be warned, though, that it is unmaintained.

.. _released in 2008:

Rate & Review

Great Documentation0
Easy to Use0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Unwelcoming Community0