revolut-engineering/revolut-x-api

revx-account

Revolut X account, transaction, order, and trade queries. Use when the user asks to "check my balances", "transaction history", "deposits", "withdrawals", "buys", "sells", "sends", "receives", "view open orders", "order history", "TWAP order", "order fills", "my trades", "trade history", or runs revx account, revx transaction, revx order open, revx order history, revx order get, revx order fills, or revx trade commands.

First seen Apr 19, 2026

Installation

$ npx skills add revolut-engineering/revolut-x-api --skill revx-account

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from revolut-engineering/revolut-x-api.

npx skills add revolut-engineering/revolut-x-api

Browse all from revolut-engineering/revolut-x-api

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 62
License LICENSE
Default branch master
Open issues 10
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 9,261 B
  • docs SUMMARY.md 443 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 95 installs

SKILL.md

Account, Transaction & Order Queries

View balances and transactions, query orders, browse trade history.

Auth required. Make sure revx is 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 the revx-auth skill 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 (pendingnew, new, partiallyfilled), --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 timeinforce — 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 filled
  • averagefillprice — volume-weighted average execution price, filledamount / filledquantity (shown as "Avg Fill Price"); present whenever any quantity has filled, including cancelled orders with partial fills
  • totalfee / feecurrency — total fee charged and the currency it was paid in
  • conditional / takeprofit / stoploss — trigger definitions on conditional and TPSL orders; each includes trigger price, direction (≥/≤), order type (market/limit), time in force, and optional limit price
  • twap — schedule and progress for a TWAP parent order: child execution type (market or limit), optional limit price, period and frequency in seconds, total/completed slices, start/end times, and (for order get) any linked child order IDs
  • triggeredby — present when this order was submitted by a conditional, TP/SL, or TWAP trigger; reason: twap includes the TWAP parent order ID and slice index. Mutually exclusive with onfill.
  • onfill — 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 order id. Mutually exclusive with triggeredby.

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:

  1. Determine the exact revx commands needed for each iteration (e.g., revx account balances, revx order open)
  2. Run each command as a separate Bash tool call — do NOT chain with && or pipes. This ensures each command matches a simple permission pattern
  3. Present the specific commands to the user and ask for permission to add them to the allowlist
  4. Use the update-config skill to add specific permission patterns to .claude/settings.local.json, e.g.:

``bash "Bash(revx account balances)", "Bash(revx order open)" ` Do NOT add a blanket Bash(revx *)` — only add the exact commands the loop needs

  1. 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":

  1. Determine needs: revx account balances and revx order open
  2. Tell the user: "I'll run these two commands each iteration — can I add them to your permission allowlist?"
  3. On approval, add Bash(revx account balances) and Bash(revx order open) via update-config
  4. Start /loop 10m check balance and open orders
  5. Each iteration runs two separate Bash calls — 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