Skip to main content

coinzo REST API python implementation

Project description

python-coinzo

PyPI version License Travis CI Wheel Python requirement

python-coinzo is a simple Python wrapper for coinzo REST API. It requires Python 3.6+.


Features

  • Implementation of REST endpoints
  • Simple handling of authentication
  • Response exception handling

Quick Start

  1. Register an account with coinzo.
  2. Generate an API key and assign relevant permissions.
  3. Install the python package using the following command.
pip install python-coinzo

To Do List

  • More helper functions
  • Websocket implementation
  • Tests

Examples

Initializing the API Client

from coinzo.api import coinzo
coinzo = coinzo("<your_api_key>", "<your_api_secret>")

Fetch ticker information for all trading pairs

tickers = coinzo.all_tickers()
{
    "BTC-TRY": {
        "low": "37972",
        "high": "41289",
        "last": "41019",
        "volume": "445.04",
        "daily_change": "2255",
        "daily_change_percentage": "5.81"
    },
    "CNZ-TRY": {
        "low": "0.078402",
        "high": "0.085452",
        "last": "0.084379",
        "volume": "14396298.29",
        "daily_change": "0.005059",
        "daily_change_percentage": "6.37"
    }
}

Fetch ticker information for a pair

ticker = coinzo.ticker("BTC-TRY")
{
    "BTC-TRY": {
        "low": "37972",
        "high": "41289",
        "last": "41019",
        "volume": "445.04",
        "daily_change": "2255",
        "daily_change_percentage": "5.81"
    }
}

Fetch market depth (order book info) for a pair

depth = coinzo.order_book(pair="HOT-TRY")
{
    "asks": [{
        "price": 0.0076643,
        "amount": 67637,
        "count": 1
    }, {
        "price": 0.007704,
        "amount": 112916,
        "count": 1
    }],
    "bids": [{
        "price": 0.0076311,
        "amount": 129139,
        "count": 1
    }, {
        "price": 0.0076246,
        "amount": 78436,
        "count": 1
    }],
    "total": {
        "bid": 350621.63142392,
        "ask": 54458830.79696769
    }
}

Fetch latest trades for a pair

trades = coinzo.latest_trades(pair="HOT-TRY")
[{
    "price": 0.0076221,
    "amount": 33597,
    "side": "BUY",
    "created_at": 1557603438
}, {
    "price": 0.0076235,
    "amount": 27715,
    "side": "SELL",
    "created_at": 1557603378
}]

Place a market buy/sell order

buy_order = coinzo.place_market_buy_order(pair="NEO-TRY", amount="1")
sell_order = coinzo.place_market_sell_order(pair="NEO-TRY", amount="1")
{
    "id": "123456789012345678"
}

Place a limit buy/sell order

buy_order = coinzo.place_limit_buy_order(
    pair="NEO-TRY",
    amount="1",
    limit_price="49.99",
)
sell_order = coinzo.place_limit_sell_order(
    pair="NEO-TRY",
    amount="1",
    limit_price="60.01",
)
{
    "id": "123456789012345678"
}

Place a stop market buy/sell order

buy_order = coinzo.place_stop_market_buy_order(
    pair="NEO-TRY",
    amount="1",
    stop_price="55.01",
)
sell_order = coinzo.place_stop_market_sell_order(
    pair="NEO-TRY",
    amount="1",
    stop_price="49.99",
)
{
    "id": "123456789012345678"
}

Place a stop limit buy/sell order

buy_order = coinzo.place_stop_limit_buy_order(
    pair="NEO-TRY",
    amount="1",
    limit_price="54.99",
    stop_price="55.01",
)
sell_order = coinzo.place_stop_limit_sell_order(
    pair="NEO-TRY",
    amount="1",
    limit_price="50.01",
    stop_price="49.99",
)
{
    "id": "123456789012345678"
}

Fetch an order

order = coinzo.order(order_id="123456789012345678")
{
    "id": "123456789012345678",
    "pair": "NEO-TRY",
    "side": "BUY",
    "type": "LIMIT",
    "limit_price": 50.01,
    "stop_price": 0,
    "original_amount": 1,
    "executed_amount": 0,
    "remaining_amount": 1,
    "active": true,
    "cancelled": false,
    "updated_at": 1557604055
}

Fetch all open orders

The arguments limit and page are optional.

  • Defaults values: limit=100, page=1.
orders = coinzo.open_orders()
[{
    "id": "123456789012345678",
    "pair": "NEO-TRY",
    "side": "BUY",
    "type": "LIMIT",
    "limit_price": 50.01,
    "stop_price": 0,
    "original_amount": 1,
    "executed_amount": 0,
    "remaining_amount": 1,
    "active": true,
    "cancelled": false,
    "updated_at": 1557604055
}, {
    "id": "123456789012345678",
    "pair": "HOT-TRY",
    "side": "SELL",
    "type": "LIMIT",
    "limit_price": 0.1,
    "stop_price": 0,
    "original_amount": 100000,
    "executed_amount": 0,
    "remaining_amount": 100000,
    "active": true,
    "cancelled": false,
    "updated_at": 1549109505
}]

Fetch the list of recent fills

The arguments limit and page are optional.

  • Defaults values: limit=100, page=1.
fills = coinzo.fills(limit=2, page=1)
[{
    "id": "123456789012345678",
    "order_id": "12345987630291234",
    "coin": "NEO",
    "fiat": "TRY",
    "side": "BUY",
    "price": 53.383,
    "amount": 30,
    "taker": true,
    "fee": 20.29591797,
    "used_cnz": true,
    "cnz_bonus": 0,
    "created_at": 1557446830
}, {
    "id": "987654321098765432",
    "order_id": "12345987671349876",
    "coin": "CNZ",
    "fiat": "TRY",
    "side": "SELL",
    "price": 0.078907,
    "amount": 20350,
    "taker": true,
    "fee": 3.2115149,
    "used_cnz": false,
    "cnz_bonus": 4.38821466,
    "created_at": 1557446668
}]

Cancel an order

coinzo.cancel_order(order_id="123456789012345678")
true

Cancel all open orders

coinzo.cancel_all_orders()
true

Fetch the deposit address for a coin

address = coinzo.deposit_address(asset="BTC")
{
    "asset": "BTC",
    "address": "34cFKPBTaq12NKTNfs4HmhB9876SQDZfoE"
}

Fetch the list of your deposits

The arguments limit and page are optional.

  • Defaults values: limit=100, page=1.
deposits = coinzo.deposit_history(limit=2, page=2)
[{
    "id": "123456789012345678",
    "tx_id": "201901011234A567890",
    "asset": "TRY",
    "address": "CZ12345678",
    "amount": 100,
    "confirmations": 1,
    "completed": true,
    "created_at": 1554702411
}, {
    "id": "987654321098765432",
    "tx_id": "abc01de2fabcdefabc345d6e060c15a15364eee8b449eb63e10c6f809d44d987",
    "asset": "EOS",
    "address": "EOS123456789",
    "amount": 10,
    "confirmations": 3,
    "completed": true,
    "created_at": 1553425199
}]

Withdraw a coin

The arguments tag and memo are optional.

  • tag: Destination tag for XRP withdrawals.
  • memo: Memo for EOS withdrawals.
coinzo.withdraw(
    asset="EOS",
    address="EOS123456789",
    amount="10",
    memo="EOS6Uabc1Ggua2stBtyqxiKxyzzVSdZSXYCFwZ9AB35cDefECxyzm",
)
{
    "amount": 10,
    "asset": "EOS",
    "id": "450693154343354369"
}

Fetch the list of your withdrawals

The arguments limit and page are optional.

  • Defaults values: limit=100, page=1.
withdrawals = coinzo.withdrawal_history(limit=1, page=3)
[
  {
    "id": "321425023135652252",
    "tx_id": "95DD0893F9B2F0CBFEACDAF11672BAFC5BE1F097F450CD51F0420B44D81BF3C1",
    "asset": "XRP",
    "address": "rDQGVYCKC3StBmJV6my9uL1Dn9q7TzEGqS:964641378",
    "amount": 19,
    "status": 1,
    "created_at": 1529758242
  }
]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for python-coinzo, version 0.1.4
Filename, size File type Python version Upload date Hashes
Filename, size python_coinzo-0.1.4-py3-none-any.whl (11.0 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size python-coinzo-0.1.4.tar.gz (10.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page