deribit-wrapper
Overview
This Python script provides a comprehensive client for interacting with the Deribit API. It encapsulates functionality for both public and private endpoints, covering market data, account information, trading operations, and more. It supports both the production and test environments, making it suitable for developers at all stages of application development.
Features
- Environment Switching: Easily switch between the production and test environments.
- Market Data Retrieval: Access to market data including contract sizes, currencies, ticker information, book summaries, and historical data.
- Account Management: Functionality to authenticate, retrieve account summaries, positions, and transaction logs.
- Trading Operations: Support for placing buy and sell orders, including market and limit orders, as well as bulk ordering.
- Utility Functions: Helper functions to convert timestamps, retrieve specific instruments or markets, and calculate margins.
Installation
Install deribit-wrapper using pip:
pip install deribit-wrapper
Configuration
Instantiate the DeribitClient class with the appropriate parameters:
client_id: Your Deribit client ID.client_secret: Your Deribit client secret.env: Which Deribit environment to talk to,'test'or'prod'. Defaults to'prod'.simulated: Defaults toTrue. Every state-changing trading call —order,market_order,bulk_order,close_positionandcancel_orders— returns a simulated result instead of submitting anything. It does not change the environment.
⚠️
simulatedis not an environment switch.envalone decides whether you are on production or test, and it defaults to'prod'. A client left at the defaults reads real production data (balances, positions, transaction logs); only the trading calls above are simulated. To keep everything off production, passenv="test".
Example — production reads, simulated order placement (the defaults):
from deribit_wrapper import DeribitClient
client = DeribitClient(client_id="your_client_id", client_secret="your_client_secret")
Example — fully isolated on the test environment:
client = DeribitClient(
env="test",
client_id="your_test_client_id",
client_secret="your_test_client_secret",
)
Example — placing real orders (production, nothing simulated):
client = DeribitClient(
client_id="your_client_id",
client_secret="your_client_secret",
simulated=False,
)
Usage
Market Data
- Get Contract Size:
get_contract_size(asset) - Get Currencies:
get_currencies() - Get Ticker Information:
get_ticker(asset) - Get Book Summary by Currency:
get_complete_market_book() - and more...
Account Information
- Authenticate: Automatically handled during requests to private endpoints.
- Get Account Summary:
get_account_summary(currency) - Get Positions:
get_positions(currency, kind) - and more...
Trading
- Place an Order:
order(asset, amount, limit=None, label=None, reduce_only=False)— simulated whensimulated=True - Place a Market Order:
market_order(asset, amount, label=None, reduce_only=False)— simulated whensimulated=True - Bulk Orders:
bulk_order(orders, label=None)— simulated whensimulated=True - Close a Position:
close_position(asset, limit=None)— simulated whensimulated=True - Cancel Orders:
cancel_orders(currency=None, kind=None, order_type=None, label=None)— simulated whensimulated=True - and more...
Examples
- Retrieving Market Data:
ticker_info = client.get_ticker("BTC-25JUN21")
print(ticker_info)
- Placing a Market Order:
order_response = client.market_order("BTC-25JUN21", 1)
print(order_response)
- Getting Account Summary:
account_summary = client.get_account_summary("BTC")
print(account_summary)
Getting Help
If you encounter any issues or have questions about using deribit-wrapper,
please create an issue in the GitHub repository.
Contributing
Contributions to deribit-wrapper are welcome!
Whether it's bug reports, feature requests, or code contributions, please feel free to make a contribution. For code
contributions, please:
- Fork the repository.
- Create a new branch for your feature or fix.
- Submit a pull request.
Please ensure your code adheres to the project's coding standards and includes appropriate tests.
License
deribit-wrapper is released under the MIT License. See the LICENSE file for more details.
Metadata
Release files for deribit-wrapper 0.6.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| deribit_wrapper-0.6.3.tar.gz | 36.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| deribit_wrapper-0.6.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 60.8 kB
Release files / deribit_wrapper-0.6.3.tar.gz
| Download URL | deribit_wrapper-0.6.3.tar.gz |
|---|---|
| Size | 36.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4e1b1b3fc60292888d986cfdc972dd230f776c042c6604c5cc877e82aa9ee8b8
|
|
BLAKE2b-256 checksum How to use checksums |
794d9768f6fbf91334e491c6c0ad1598a044beba51801cc2b2c20398dc739332
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / deribit_wrapper-0.6.3-py3-none-any.whl
| Download URL | deribit_wrapper-0.6.3-py3-none-any.whl |
|---|---|
| Size | 24.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
43cea9a7d50391ede18230f9c97c31ecc9da8b21aeeaab0b9cd280a5ee241c73
|
|
BLAKE2b-256 checksum How to use checksums |
494ff94570de3666023ad159e1e30d14f0f3e5618e696b5b32d3320b610bcebf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|