Skip to main content


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()

Metadata

Release files for dydx-v3-python-pundix 1.0.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dydx-v3-python-pundix 1.0.13
File Size Uploaded Provenance Actions
dydx-v3-python-pundix-1.0.13.tar.gz 83.8 kB Without provenance Details for dydx-v3-python-pundix-1.0.13.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dydx-v3-python-pundix 1.0.13
File Interpreter ABI Platform Actions
dydx_v3_python_pundix-1.0.13-py3-none-any.whl Python 3 none any Details for dydx_v3_python_pundix-1.0.13-py3-none-any.whl

Total release size: 186.4 kB

Release files / dydx-v3-python-pundix-1.0.13.tar.gz

Download URL dydx-v3-python-pundix-1.0.13.tar.gz
Size 83.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b3745d01712bf18d8ec0677064c0eda0d0591bf6a642cad001f22539eddfdd0f
BLAKE2b-256 checksum
How to use checksums
6867d58308371a8d44e6d45341ec36e9346f4680c6c77773f227068ce1d51cc5
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / dydx_v3_python_pundix-1.0.13-py3-none-any.whl

Download URL dydx_v3_python_pundix-1.0.13-py3-none-any.whl
Size 102.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9aca96463d3ceaeb7cf8d16d2b9be5b30225dfd9388dee845ab21b5185e12bfe
BLAKE2b-256 checksum
How to use checksums
6f3c2ccabfca7690845c33f1a08a7fe641f9886c81848db6d6b5bab679e1a7ab
Upload date
Uploaded using Trusted Publishing?
What is 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

Security for dydx-v3-python-pundix 1.0.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page