Account, Transaction & Order Queries
View balances and transactions, query orders, browse trade history.
Auth required. Make sure
revxis installed and configured before running these commands. If any command fails with an auth-related error —Auth not configured,No private key found,Authentication failed (401),Invalid signature,insecure permissions, or a missing key/config file at~/.config/revolut-x/— invoke therevx-authskill immediately and apply the fix yourself. Do not interrupt the user to ask them to run setup. Only escalate to the user for steps only they can perform (pasting the API key, registering the public key in their Revolut X profile, choosing a passphrase). After the fix, retry the original command.
All commands support --json or --output json for machine-readable output.
Symbols use BASE-QUOTE format with a dash: BTC-USD, ETH-EUR, SOL-USD.
Balances
revx account balances # Non-zero balances
revx account balances --all # Include zero balances
revx account balances BTC # Single currency (case-insensitive)
revx account balances --currencies BTC,ETH,USD # Filter by multiple currencies
Transactions
revx transaction list # Last 30 days
revx transaction list --start-date 7d # Last 7 days
revx transaction list --types buy,receive # Types: buy, sell, receive, send, stake, un_stake, reward
revx transaction list --statuses completed,pending # Filter by status
revx transaction list --currencies BTC,USD # Filter by either side
revx transaction list --limit 100 --json # Limit and JSON output
Filters: --start-date, --end-date, --types (buy, sell, receive, send, stake, un_stake, reward), --statuses (pending, completed, cancelled, failed, reverted), --currencies, --limit
Default: When no dates are specified, returns the last 30 days. Time formats: relative (7d, 1w, today), ISO date (2025-04-14), Unix epoch ms.
In table output, show the complete transaction UUID. The source side is Source Amount with a minus sign and the destination side is Destination Amount with a plus sign. A transaction may contain both sides, only Source Amount, or only Destination Amount. Do not expect account fields in transaction-list results.
In JSON output, use source.currency with source.amount for billing and destination.currency with destination.amount for received funds. Each side is optional; at least one side is present. Processing time is processed_date.
Open Orders
revx order open
revx order open --symbols BTC-USD,ETH-USD --side buy
revx order open --order-states pending_new,new --order-types limit --limit 50
revx order open --order-types twap
Filters: --symbols, --order-states (pending_new, new, partially_filled), --order-types (limit, conditional, tpsl, twap), --side, --limit
TWAP rows show their execution type (market or limit), optional limit price, period/frequency, and completed/total slice progress.
Order History
revx order history
revx order history --symbols BTC-USD --start-date 7d --end-date today
revx order history --order-states filled,cancelled --limit 20
revx order history --order-types twap --start-date 7d
Filters: --symbols, --order-states (filled, cancelled, rejected, replaced, partially_filled), --order-types (market, limit, conditional, tpsl, twap), --start-date, --end-date, --limit
Default: When no dates are specified, returns the last 30 days. Time formats: relative (7d, 1w, today), ISO date (2025-04-14), Unix epoch ms.
Order Details & Fills
revx order get <order-id> # Full order details
revx order fills <order-id> # All fills for an order
Order details always include time_in_force — one of gtc, ioc, or fok (an order can come back as fok even though only gtc/ioc can be set when placing/replacing).
For market orders that are filled, partially filled, or cancelled, Price is the average execution price when one was recorded and otherwise the price recorded at submission. The output does not distinguish the two, so read Avg Fill Price when you need the realized average.
Optional fields in order details output (shown only when present):
amount/filled_amount— quote-currency size and how much of it has been filledaverage_fill_price— volume-weighted average execution price,filled_amount/filled_quantity(shown as "Avg Fill Price"); present whenever any quantity has filled, including cancelled orders with partial fillstotal_fee/fee_currency— total fee charged and the currency it was paid inconditional/take_profit/stop_loss— trigger definitions on conditional and TPSL orders; each includes trigger price, direction (≥/≤), order type (market/limit), time in force, and optional limit pricetwap— schedule and progress for a TWAP parent order: child execution type (marketorlimit), optional limitprice,periodandfrequencyin seconds, total/completed slices, start/end times, and (fororder get) any linked child order IDstriggered_by— present when this order was submitted by a conditional, TP/SL, or TWAP trigger;reason: twapincludes the TWAP parent order ID and slice index. Mutually exclusive withon_fill.on_fill— present when a linked TP/SL exit strategy is attached to this order; includes take-profit / stop-loss triggers and, once the order is filled, the linked orderid. Mutually exclusive withtriggered_by.
For a full TWAP execution tree, run revx order get <twap-parent-id> and then inspect each linked child ID with revx order get <child-id>. Linked child IDs are available on the parent detail response, not in open-order or history lists.
Trades
revx trade private BTC-USD # My trade history
revx trade private BTC-USD --start-date 7d --limit 100
revx trade private BTC-USD --start-date 2025-04-01 --end-date 2025-04-14
revx trade public BTC-USD # Public trades
revx trade public BTC-USD --start-date 7d --end-date today
Filters: --start-date, --end-date, --limit
Default: When no dates are specified, returns the last 30 days. Time formats: relative (7d, 1w, today), ISO date (2025-04-14), Unix epoch ms.
Aliases: revx trade history = private, revx trade all = public.
Permission Handling for Recurring Commands (/loop)
When using /loop to run revx commands on an interval, each iteration triggers a permission prompt. To avoid repeated approvals:
- Determine the exact
revxcommands needed for each iteration (e.g.,revx account balances,revx order open) - Run each command as a separate
Bashtool call — do NOT chain with&&or pipes. This ensures each command matches a simple permission pattern - Present the specific commands to the user and ask for permission to add them to the allowlist
- Use the
update-configskill to add specific permission patterns to.claude/settings.local.json, e.g.:
Do NOT add a blanket"Bash(revx account balances*)", "Bash(revx order open*)"Bash(revx *)— only add the exact commands the loop needs - Then start the
/loop
Permission pattern syntax: Bash(revx account balances*) uses a glob wildcard — the trailing * allows optional flags. The pattern uses a space separator (not colon). Compound commands with && or | are split into subcommands, each checked independently.
Example flow for "every 10 min check my balance and open orders":
- Determine needs:
revx account balancesandrevx order open - Tell the user: "I'll run these two commands each iteration — can I add them to your permission allowlist?"
- On approval, add
Bash(revx account balances*)andBash(revx order open*)viaupdate-config - Start
/loop 10m check balance and open orders - Each iteration runs two separate
Bashcalls — no further prompts
Common Workflows
"What's my BTC worth?"
revx account balances BTC
revx market tickers BTC-USD
"Review recent trading activity"
revx transaction list --start-date 7d
revx order history --start-date 7d
revx trade private BTC-USD --start-date 7d
Related Skills
| Skill | Purpose |
|---|---|
revx-trading |
Place and cancel orders |
revx-market |
Check prices and pair constraints |
revx-monitor |
Set alerts on prices and indicators |
revx-auth |
API key setup and configuration |