Revolut X Python SDK
Python client library for the Revolut X Crypto Exchange REST API (v1.0).
📖 Documentation: janprikryl1.github.io/revolut-x-python
🐘 Looking for PHP? See revolut-x-php.
Features
- Revolut X API v1.0 — Complete coverage of market data, order placement, balances, and transaction history.
- Ed25519 Authentication — Cryptographic request signing using
cryptography(PKCS#8 PEM). - Smart Maker Strategy (0.00% fee) — Automatic offset pricing and
post_onlyexecution to prevent taker fees (0.09%). - Streaming Iterators —
iter_candles()anditer_trades()automatically handle cursor pagination and rate-limit delays. - 100% Type Annotated — Built with Python
TypedDict,Enum, and type annotations. - AI Agent Skill — Pre-packaged skill definition for AI coding assistants (Google Antigravity, Claude, Cursor).
Installation
pip install revolut-x-python
In a requirements.txt:
revolut-x-python>=1.0.0
Pre-release builds (TestPyPI)
Release candidates go to TestPyPI first. Versions 0.0.1 – 0.1.0 were
published there only; 1.0.0 is the first release on PyPI proper. To install
a pre-release build:
pip install --extra-index-url https://test.pypi.org/simple/ revolut-x-python
Use --extra-index-url (rather than --index-url) so PyPI stays available
for the requests and cryptography dependencies, which are not mirrored on
TestPyPI.
Quickstart
1. Public Market Data (No API Key Required)
from revolut_x import RevolutXClient, Interval
client = RevolutXClient()
# Get BTC-EUR ticker
ticker = client.get_ticker("BTC-EUR")
print(f"BTC Price: {ticker['last_price']} EUR")
# Get 1-hour OHLCV candles
candles = client.get_candles("BTC-EUR", Interval.HOUR_1)
2. Authenticated Trading & 0% Fee Maker Orders
from revolut_x import RevolutXClient, OrderSide
client = RevolutXClient(
api_key="your-api-key",
private_key_path="keys/private.pem",
)
# Submit zero-fee Maker limit order (post_only=True)
order = client.place_maker_order(
symbol="BTC-EUR",
side=OrderSide.BUY,
quote_size="50.00",
offset="0.10",
)
print(f"Order ID: {order['venue_order_id']}")
Running Tests
pytest tests
Academic Reference
This library was written as part of a master's thesis at VŠB – Technical University of Ostrava, Faculty of Electrical Engineering and Computer Science.
- Author: Bc. Jan Přikryl
- University: VŠB – Technical University of Ostrava
- Faculty: Faculty of Electrical Engineering and Computer Science (FEI)
Changelog
See CHANGELOG.md.
License
This project is licensed under the MIT License — see the LICENSE file for details.
Metadata
Release files for revolut-x-python 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| revolut_x_python-1.0.1.tar.gz | 58.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| revolut_x_python-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 94.0 kB
Release files / revolut_x_python-1.0.1.tar.gz
| Download URL | revolut_x_python-1.0.1.tar.gz |
|---|---|
| Size | 58.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1d3c36eb81191c8da3ddb8c6c7333c9337df96090433bb4064d70a1134f6a5e6
|
|
BLAKE2b-256 checksum How to use checksums |
0f80a2bece90b150a74e59155ccee955da0bbf4660a2a6e282d765ffbed92fb2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.6
|
Release files / revolut_x_python-1.0.1-py3-none-any.whl
| Download URL | revolut_x_python-1.0.1-py3-none-any.whl |
|---|---|
| Size | 35.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d2a1ee4c8d23448858c3932e9b88b99e35ea346b7a9d08262e0a9e6a1b979415
|
|
BLAKE2b-256 checksum How to use checksums |
d19671513f0cd667bb4a0e84a53b9084d21882cc56d685e5455c02a5deff188c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.6
|