dYdX Python REST API for Limit Orders
Project description
Python client for dYdX (v3 API).
The library is currently tested against Python versions 2.7, 3.4, 3.5, and 3.6
Installation
The dydx-v3-python
package is available on PyPI. Install with pip
:
pip install dydx-v3-python
Getting Started
The Client
object can be created with different levels of authentication depending on which features are needed. For more complete examples, see the examples directory, as well as the integration tests.
Public endpoints
No authentication information is required to access public endpoints.
from dydx3 import Client
from web3 import Web3
#
# Access public API endpoints.
#
public_client = Client(
host='http://localhost:8080',
)
public_client.public.get_markets()
Private endpoints
One of the following is required:
api_key_credentials
eth_private_key
web3
web3_account
web3_provider
#
# Access private API endpoints, without providing a STARK private key.
#
private_client = Client(
host='http://localhost:8080',
api_key_credentials={ 'key': '...', ... },
)
private_client.private.get_orders()
private_client.private.create_order(
# No STARK key, so signatures are required for orders and withdrawals.
signature='...',
# ...
)
#
# Access private API endpoints, with a STARK private key.
#
private_client_with_key = Client(
host='http://localhost:8080',
api_key_credentials={ 'key': '...', ... },
stark_private_key='...',
)
private_client.private.create_order(
# Order will be signed using the provided STARK private key.
# ...
)
Onboarding and API key management endpoints
One of the following is required:
eth_private_key
web3
web3_account
web3_provider
#
# Onboard a new user or manage API keys, without providing private keys.
#
web3_client = Client(
host='http://localhost:8080',
web3_provider=Web3.HTTPProvider('http://localhost:8545'),
)
web3_client.onboarding.create_user(
stark_public_key='...',
ethereum_address='...',
)
web3_client.api_keys.create_api_key(
ethereum_address='...',
)
#
# Onboard a new user or manage API keys, with private keys.
#
web3_client_with_keys = Client(
host='http://localhost:8080',
stark_private_key='...',
eth_private_key='...',
)
web3_client_with_keys.onboarding.create_user()
web3_client_with_keys.api_keys.create_api_key()
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file dydx-v3-python-pundix-1.0.13.tar.gz
.
File metadata
- Download URL: dydx-v3-python-pundix-1.0.13.tar.gz
- Upload date:
- Size: 83.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.1rc2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3745d01712bf18d8ec0677064c0eda0d0591bf6a642cad001f22539eddfdd0f |
|
MD5 | 5a794ae6420573f1c7cc851a3d06942b |
|
BLAKE2b-256 | 6867d58308371a8d44e6d45341ec36e9346f4680c6c77773f227068ce1d51cc5 |
File details
Details for the file dydx_v3_python_pundix-1.0.13-py3-none-any.whl
.
File metadata
- Download URL: dydx_v3_python_pundix-1.0.13-py3-none-any.whl
- Upload date:
- Size: 102.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.1rc2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9aca96463d3ceaeb7cf8d16d2b9be5b30225dfd9388dee845ab21b5185e12bfe |
|
MD5 | 76140fbd18246d12fc25f99e95c6b548 |
|
BLAKE2b-256 | 6f3c2ccabfca7690845c33f1a08a7fe641f9886c81848db6d6b5bab679e1a7ab |