SDK of CoinGate API for Python 3+

coingate, coingate-api, payment, merchant, cryptocurrencies, python
pip install coingate-api==0.1.5


CoinGate API SDK (API v2)

The repo contains Python 3 SDK for CoinGate API v2. This is open source library is provided by SociumNET team and it is used in some internal projects.


You can install the library using PIP:

$ pip install coingate-api

Quick start

Try it:

from coingate_api import CoingateAPI

api = CoingateAPI(auth_token='your-auth-token', environment='sandbox')

Only replace "your-auth-token" to your token from CoinGate of CoinGate sandbox

How to

Default behavior of API uses retries for requests:

  • 3 retries
  • with back-off factor 0.2
  • http statuses of response for retries: 500, 502, 504

You can change all these params by initialization of API client:

from coingate_api import CoingateAPI
api = CoingateAPI(auth_token='your-auth-token', environment='sandbox', 
                  retries=5, backoff_factor=0.5, status_forcelist=(500, 502, 504, 505))

Methods of API:

  • api.test_connection() - tests authentication. Should return simple "OK"
  • - tests connection to server. Should return "pong"
  • api.exchange_rate(from_='EUR', to='USD') - check documentation of API
  • api.exchange_rates() - check documentation of API
  • api.ip_addresses() - check documentation of API
  • api.orders(per_page=100, page=1, sort='created_at_desc', **kwargs) - check documentation of API. Values of kwargs can contain also created_at_from and created_at_to
  • api.checkout(order_id, pay_currency='BTC') - check documentation of API
  • api.create_order(price_amount, price_currency, receive_currency, **kwargs) - check documentation of API. Values of kwargs can contain also order_id, title, description, callback_url, cancel_url, success_url, token


from coingate_api import CoingateAPI, api_error

api = CoingateAPI(auth_token='your-auth-token', environment='sandbox')

except api_error.APIError as e:

Exceptions hierarchy:

  • APIError
    • Unauthorized
      • BadCredentials
      • BadAuthToken
      • AccountBlocked
      • IPAddressIsNotAllowed
    • NotFound
      • PageNotFound
      • RecordNotFound
      • OrderNotFound
    • UnprocessableEntity
      • OrderIsNotValid
    • RateLimitError
    • InternalServerError - notice that client will do retries for this error by default


You can be free to contribute in the project. You should only create PR with a short description what it is for and what the problem can be solved by your PR.