Skip to main content

bitvavo-aio

This Python library provides access to the Bitvavo crypto exchange REST API. It is focused on Bitvavo's REST API only, as lean and mean as possible.

bitvavo-aio is a fully asynchronous library built on aiohttp.

For changes see the CHANGELOG.

Features

  • Access to Bitvavo's REST API: market data, account details, balances, staking, transaction history and order management
  • Fully asynchronous, can share an existing aiohttp.ClientSession
  • Request timeouts and typed exceptions (BitvavoAuthError, BitvavoRateLimitError, BitvavoConnectionError)
  • Tracks the remaining rate limit weight (client.rate_limit_remaining)

Installation

pip3 install bitvavo-aio

Python 3.11 or newer is required.

Prerequisites

Market data (tickers, markets, assets, order books, candles) is public and needs no API key.

For account data and trading, create an API key on the Bitvavo website and set the needed permissions (View for read-only use, Trade for orders). Optionally restrict the key to your IP address.

Basic Example

import asyncio
import os

from bitvavo.BitvavoClient import BitvavoClient
from bitvavo.BitvavoExceptions import BitvavoAuthError, BitvavoException


async def run() -> None:
    async with BitvavoClient(os.environ["APIKEY"], os.environ["SECKEY"]) as client:
        print(await client.get_24h_price_ticker("BTC-EUR"))
        print(await client.get_markets("BTC-EUR"))

        try:
            print(await client.get_balance())
            print(await client.get_staking_balance())
            print(await client.get_account_fees(quote="EUR"))
        except BitvavoAuthError as err:
            print(f"Check your API key: {err.error_code} {err.error}")
        except BitvavoException as err:
            print(f"API error: {err}")

        print(f"Rate limit weight left: {client.rate_limit_remaining}")


asyncio.run(run())

To reuse an existing session (for example in Home Assistant), pass session=; the client will not close it:

client = BitvavoClient(api_key, secret, session=my_session, timeout=10)

A full overview of implemented API calls can be found in examples/client.py.

Development

pdm install --group dev
pdm run ruff check . && pdm run ruff format --check .
pdm run mypy bitvavo
pdm run pytest

Support and Contact

If you like this library and you want to support further development or have a bug to report, please open a GitHub Issue.

Metadata

Release files for bitvavo-aio 1.1.0

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

Source distribution (sdist)

Source distribution for bitvavo-aio 1.1.0
File Size Uploaded Provenance Actions
bitvavo_aio-1.1.0.tar.gz 12.5 kB Without provenance Details for bitvavo_aio-1.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for bitvavo-aio 1.1.0
File Interpreter ABI Platform Actions
bitvavo_aio-1.1.0-py3-none-any.whl Python 3 none any Details for bitvavo_aio-1.1.0-py3-none-any.whl

Total release size: 23.2 kB

Release files / bitvavo_aio-1.1.0.tar.gz

Download URL bitvavo_aio-1.1.0.tar.gz
Size 12.5 kB
Tags Source
SHA-256 checksum
How to use checksums
29e07705f4e9c1c4b66f74679c871a83273324fc2ed3b52a3f10787cce2c64a6
BLAKE2b-256 checksum
How to use checksums
17a3af2ed75cc250c7d452883cd4409a934bd7bd7251cc23a5c8038c1151f020
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.29.3 CPython/3.14.7 Linux/6.12.88+deb13-amd64

Release files / bitvavo_aio-1.1.0-py3-none-any.whl

Download URL bitvavo_aio-1.1.0-py3-none-any.whl
Size 10.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
089a5f9e2cc5f4c7979d36776163a6da0456e805edf4033908d68449d25657ac
BLAKE2b-256 checksum
How to use checksums
78ba565215bbea4c9d6b374030617b86954272e881af2937a0fa3964b2bae2f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.29.3 CPython/3.14.7 Linux/6.12.88+deb13-amd64

Security for bitvavo-aio 1.1.0

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