🦀 ClawHub
Revolut Business
by @christianhaberl
Revolut Business API CLI — accounts, balances, transactions, counterparties, payments, FX exchange, CSV export. Auto-refreshes OAuth tokens. Business accounts only (not personal).
TERMINAL
clawhub install revolut-business📖 About This Skill
name: revolut description: "Revolut Business API CLI — accounts, balances, transactions, counterparties, payments, FX exchange, CSV export. Auto-refreshes OAuth tokens. Business accounts only (not personal)." version: 1.0.0 metadata: {"clawdbot":{"emoji":"💶","requires":{"bins":["python3"]}}}
Revolut Business API
Full CLI for Revolut Business — accounts, transactions, payments, FX, exports.
Entry point: python3 {baseDir}/scripts/revolut.py
Setup
Interactive Setup Wizard (recommended)
python3 {baseDir}/scripts/setup.py
Walks you through everything: key generation, Revolut certificate upload, OAuth callback, authorization.Manual Setup
pip install PyJWT cryptographyCredentials
Stored in~/.clawdbot/revolut/:
private.pem — RSA private key (for JWT signing)certificate.pem — X509 cert (uploaded to Revolut)tokens.json — OAuth tokens (auto-managed)config.json — client ID, domain, redirect URIEnvironment variables (in .env):
REVOLUT_CLIENT_ID — from Revolut API settingsREVOLUT_ISS_DOMAIN — your redirect URI domain (without https://)Commands
Accounts & Balances
python3 {baseDir}/scripts/revolut.py accounts # List all accounts with balances
python3 {baseDir}/scripts/revolut.py balance # Total EUR balance
python3 {baseDir}/scripts/revolut.py accounts --json # JSON output
Transactions
python3 {baseDir}/scripts/revolut.py transactions # Last 20
python3 {baseDir}/scripts/revolut.py tx -n 50 # Last 50
python3 {baseDir}/scripts/revolut.py tx --since 2026-01-01 # Since date
python3 {baseDir}/scripts/revolut.py tx --since 2026-01-01 --to 2026-01-31
python3 {baseDir}/scripts/revolut.py tx -a Main # Filter by account
python3 {baseDir}/scripts/revolut.py tx --type card_payment # Filter by type
python3 {baseDir}/scripts/revolut.py tx --json # JSON output
Transaction types: card_payment, transfer, exchange, topup, atm, fee, refund
Counterparties
python3 {baseDir}/scripts/revolut.py counterparties # List all
python3 {baseDir}/scripts/revolut.py cp --name "Lisa" # Search by name
python3 {baseDir}/scripts/revolut.py cp --json
Payments
# Send payment (with confirmation prompt)
python3 {baseDir}/scripts/revolut.py pay -c "Lisa Dreischer" --amount 50.00 --currency EUR -r "Lunch"Create draft (no immediate send)
python3 {baseDir}/scripts/revolut.py pay -c "Lisa Dreischer" --amount 50.00 --draft -r "Lunch"Skip confirmation
python3 {baseDir}/scripts/revolut.py pay -c "Lisa Dreischer" --amount 50.00 -y
Currency Exchange
python3 {baseDir}/scripts/revolut.py exchange --amount 100 --sell EUR --buy USD
python3 {baseDir}/scripts/revolut.py fx --amount 500 --sell EUR --buy GBP
Internal Transfers
python3 {baseDir}/scripts/revolut.py transfer --from-account --to-account --amount 100
Export (CSV)
python3 {baseDir}/scripts/revolut.py export # Print CSV to stdout
python3 {baseDir}/scripts/revolut.py export -n 200 -o transactions.csv # Save to file
python3 {baseDir}/scripts/revolut.py export --since 2026-01-01 -o jan.csv
Token Status
python3 {baseDir}/scripts/revolut.py token-info
Token Auto-Refresh
Security Notes
~/.clawdbot/revolut/ — treat as sensitive--yes to skip)--draft creates payment drafts that need approval in Revolut app⚙️ Configuration
Interactive Setup Wizard (recommended)
python3 {baseDir}/scripts/setup.py
Walks you through everything: key generation, Revolut certificate upload, OAuth callback, authorization.Manual Setup
pip install PyJWT cryptographyCredentials
Stored in~/.clawdbot/revolut/:
private.pem — RSA private key (for JWT signing)certificate.pem — X509 cert (uploaded to Revolut)tokens.json — OAuth tokens (auto-managed)config.json — client ID, domain, redirect URIEnvironment variables (in .env):
REVOLUT_CLIENT_ID — from Revolut API settingsREVOLUT_ISS_DOMAIN — your redirect URI domain (without https://)