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.1.0
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.1.0.tar.gz | 42.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| revolut_x_python-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 78.8 kB
Release files / revolut_x_python-1.1.0.tar.gz
| Download URL | revolut_x_python-1.1.0.tar.gz |
|---|---|
| Size | 42.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
59f3d953bf377eb1f8382165dcc2d25d7b3d670082f619c8ebc62d57cd8ab29a
|
|
BLAKE2b-256 checksum How to use checksums |
9d65e9404e2c7ced07821e2eea5b3555bd17d6929d34987b7f3ea75819850f29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.1
|
Release files / revolut_x_python-1.1.0-py3-none-any.whl
| Download URL | revolut_x_python-1.1.0-py3-none-any.whl |
|---|---|
| Size | 36.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b95e9e43b56888f56d6e17399e23b6165a75c872433e200c3e9b8dfac4a41d2e
|
|
BLAKE2b-256 checksum How to use checksums |
c98098c1b440c6ad3671f72a2576f6a094dc9fab81a69049965633800dd281b0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.1
|