{
  "markdown": "# revolut-x-api\n\nMonorepo for open-source tooling around the [Revolut X](https://exchange.revolut.com/) crypto exchange.\n\n## Packages\n\n| Package              | Description                                                                                                                                                                         |\n|----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [`api/`](api/)       | Typed HTTP client for the Revolut X REST API. Zero runtime dependencies — Node.js built-ins only.                                                                                   |\n| [`mcp/`](mcp/)       | MCP server exposing tools for market data, account management, orders, monitoring, and grid strategy backtests. Use with Claude Desktop, Claude Code, or any MCP-compatible client. |\n| [`cli/`](cli/)       | `revx` command-line interface for trading, monitoring, and running grid bots from the terminal.                                                                                     |\n| [`skills/`](skills/) | Claude Code skills —  focused `revx` CLI command references (auth, market, account, trading, monitor, telegram, strategy).                                                          |\n\n---\n\n## Quick Start\n\n### MCP Server (Claude Desktop / Claude Code)\n\nBuild both the API and MCP packages:\n\n```bash\ngit clone https://github.com/revolut-engineering/revolut-x-api.git\ncd revolut-x-api\nnpm ci\nnpm run build -w api\nnpm run build -w mcp\n```\n\n**Claude Desktop** — edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"revolutx\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/revolut-x-api/mcp/dist/index.js\"]\n    }\n  }\n}\n```\n\n**Claude Code:**\n\n```bash\nclaude mcp add revolutx node /path/to/revolut-x-api/mcp/dist/index.js\n```\n\nThen ask Claude: **\"Set up my Revolut X API keys\"** to complete authentication.\n\n### CLI\n\n```bash\ngit clone https://github.com/revolut-engineering/revolut-x-api.git\ncd revolut-x-api\nnpm ci\nnpm run build -w api\nnpm run build -w cli\nnpm link -w cli\n```\n\n```bash\n# Setup\nrevx configure                                              # Set up API key and private key\n\n# Account\nrevx account balances                                       # Show non-zero balances\nrevx account balances BTC                                   # Get BTC balance\nrevx account balances --currencies BTC,ETH,USD              # Filter by currencies\nrevx account balances --all                                 # Include zero balances\n\n# Market\nrevx market currencies                                      # List supported currencies\nrevx market currencies fiat                                 # Filter fiat only\nrevx market currencies crypto                               # Filter crypto only\nrevx market pairs                                           # List all trading pairs\nrevx market pairs --filter BTC-USD,ETH-USD                  # Filter by pairs\nrevx market tickers                                         # List all tickers\nrevx market tickers --symbols BTC-USD,ETH-USD               # Filter tickers by pair\nrevx market ticker BTC-USD                                  # Get BTC-USD ticker\nrevx market candles BTC-USD                                 # Get hourly candles\nrevx market candles BTC-USD --interval 5m                   # Get 5-minute candles\nrevx market candles BTC-USD --since 7d --until today\nrevx market orderbook BTC-USD                               # Get order book (50 levels per side)\nrevx market orderbook BTC-USD --limit 192                   # Get order book (max depth, 1–192)\n\n# Orders\nrevx order place BTC-USD buy --qty 0.001 --market           # Market buy (base qty)\nrevx order place BTC-USD buy --quote 100 --market           # Market buy (quote amount)\nrevx order place BTC-USD sell --qty 0.001 --limit 95000     # Limit sell\nrevx order place BTC-USD buy --qty 0.001 --limit 95000 --post-only\nrevx order place BTC-USD buy --qty 0.001 --limit 95000 --time-in-force ioc\nrevx order open                                             # List active orders\nrevx order open --symbols BTC-USD --side buy                # Filter active orders\nrevx order history --symbols BTC-USD                        # Order history for pair\nrevx order get <order-id>                                   # Get order details\nrevx order fills <order-id>                                 # Get order fills\nrevx order cancel <order-id>                                # Cancel an order\nrevx order cancel --all                                     # Cancel all open orders\nrevx order replace <order-id> --price 96000                 # Update the limit price\nrevx order replace <order-id> --time-in-force ioc           # Update time in force\n\n# Trades\nrevx trade private BTC-USD                                  # Private trade history\nrevx trade private BTC-USD --limit 100 --start-date 7d\nrevx trade public BTC-USD                                   # All public trades\nrevx trade public BTC-USD --start-date 7d --limit 200\n\n# Monitor (runs in foreground, Ctrl-C to stop)\nrevx monitor price BTC-USD --direction above --threshold 100000\nrevx monitor rsi ETH-USD --direction above --threshold 70 --period 14\nrevx monitor ema-cross BTC-USD --direction bullish\nrevx monitor macd BTC-USD --direction bullish --fast 12 --slow 26 --signal 9\nrevx monitor bollinger BTC-USD --band upper\nrevx monitor volume-spike BTC-USD --multiplier 3.0\nrevx monitor spread BTC-USD --direction above --threshold 0.5\nrevx monitor obi BTC-USD --direction above --threshold 0.3\nrevx monitor price-change BTC-USD --direction rise --threshold 5.0 --lookback 24\nrevx monitor atr-breakout BTC-USD --period 14 --multiplier 1.5\nrevx monitor types                                          # List all monitor types\n\n# Strategy\nrevx strategy grid backtest BTC-USD --levels 10 --range 10 --investment 1000\nrevx strategy grid optimize BTC-USD --investment 1000 --days 30 --interval 1h\nrevx strategy grid run BTC-USD --investment 500 --levels 10 --range 5\nrevx strategy grid run BTC-USD --investment 500 --dry-run\n\n# Connector (Telegram notifications)\nrevx connector telegram add --token <token> --chat-id <id>\nrevx connector telegram add --token <token> --chat-id <id> --test\nrevx connector telegram list\nrevx connector telegram test <id>\nrevx connector telegram delete <id>\n\n# Events\nrevx events                                                 # Show recent alert events\nrevx events --limit 10                                      # Show last 10 events\nrevx events --category alert_triggered                      # Filter by category\n```\n\n---\n\n## MCP Usage Examples\n\n### 1. Set up API authentication\n\n> \"Set up my Revolut X API keys\"\n\n**Tools called:** `generate_keypair` > `configure_api_key` > `check_auth_status`\n\n```\nEd25519 keypair generated successfully!\n\nHere is your PUBLIC key (copy this):\n\n-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA...\n-----END PUBLIC KEY-----\n\nNext steps:\n1. Copy the public key above\n2. Go to your Revolut X account > Profile > API Keys\n3. Add this public key and create a new API key\n4. Copy the API key that Revolut X gives you\n5. Run 'configure_api_key' with that API key\n```\n\nAfter providing the API key:\n\n```\nAPI key saved successfully!\nAuthentication is configured and working!\nSuccessfully connected to Revolut X API.\nAvailable currencies: 48\n```\n\n### 2. Check portfolio balances\n\n> \"What are my Revolut X balances?\"\n\n**Tool called:** `get_balances`\n\n```\n  Currency |        Available |       Reserved |            Total\n-----------------------------------------------------------------\n       BTC |       0.12345678 |     0.00000000 |       0.12345678\n       ETH |       2.50000000 |     0.50000000 |       3.00000000\n       USD |        5432.10   |        0.00    |        5432.10\n      USDT |       1000.00    |        0.00    |        1000.00\n```\n\n### 3. Get live market prices\n\n> \"Show me current prices for BTC and ETH\"\n\n**Tool called:** `get_tickers`\n\n```\nPair         |            Bid |            Ask |            Mid |           Last\n------------------------------------------------------------------------------\nBTC-USD      |   97234.50     |   97238.20     |   97236.35     |   97235.00\nETH-USD      |    3412.80     |    3413.50     |    3413.15     |    3413.00\nSOL-USD      |     178.42     |     178.58     |     178.50     |     178.45\n```\n\n### 4. View order book depth\n\n> \"Show me the order book for BTC-USD\"\n\n**Tool called:** `get_order_book` with `symbol: \"BTC-USD\"`, `limit: 20`\n\n```\nOrder Book: BTC-USD\n\n                       ASKS (Sell)\n         Price Currency |       Quantity   Unit | Orders\n----------------------------------------------------------\n      97250.00      USD |       0.15000    BTC |      3\n      97245.00      USD |       0.08500    BTC |      2\n      97240.00      USD |       0.22000    BTC |      5\n      97238.20      USD |       0.05000    BTC |      1\n\n                       BIDS (Buy)\n         Price Currency |       Quantity   Unit | Orders\n----------------------------------------------------------\n      97234.50      USD |       0.10000    BTC |      2\n      97230.00      USD |       0.18000    BTC |      4\n      97225.00      USD |       0.25000    BTC |      3\n      97220.00      USD |       0.12000    BTC |      2\n```\n\n### 5. Analyze candlestick data\n\n> \"Get the last 24 hours of 1-hour candles for ETH-USD\"\n\n**Tool called:** `get_candles` with `symbol: \"ETH-USD\"`, `resolution: \"1h\"`, `limit: 24`\n\n```\nCandles for ETH-USD (1h):\n\nStart                |         Open |         High |          Low |        Close |         Volume\n-----------------------------------------------------------------------------------------------\n2026-02-28T00:00:00  |      3380.50 |      3395.20 |      3378.00 |      3392.40 |        1245.80\n2026-02-28T01:00:00  |      3392.40 |      3410.00 |      3388.50 |      3408.75 |         987.30\n2026-02-28T02:00:00  |      3408.75 |      3415.60 |      3400.10 |      3413.00 |         856.20\n...\n```\n\n---\n\n## Configuration\n\nCredentials are stored locally on your machine — the private key never leaves your filesystem.\n\n| Platform | Config directory |\n|----------|-----------------|\n| macOS / Linux | `~/.config/revolut-x/` |\n| Windows | `%APPDATA%\\revolut-x\\` |\n\nOverride with `REVOLUTX_CONFIG_DIR`.\n\nFiles:\n- `config.json` — API key\n- `private.pem` — Ed25519 private key\n- `public.pem` — Ed25519 public key (register with Revolut X)\n\n---\n\n## Install CLI Skill as a plugin\n\nSkills under [`skills/`](skills/) (`revx-auth`, `revx-market`, `revx-account`, `revx-trading`, `revx-monitor`, `revx-telegram`, `revx-strategy`) teach an AI assistant how to use the `revx` CLI. They use the standard `SKILL.md` format.\n\n### Universal install (50+ AI assistants)\n\nUse the [`skills` CLI](https://github.com/vercel-labs/skills) from Vercel Labs to install into any supported assistant:\n\n```bash\n# List of all available skills\nnpx skills add revolut-engineering/revolut-x-api --list\n\n# Install all skills globally for your active assistant (interactive)\nnpx skills add revolut-engineering/revolut-x-api -g\n\n# Install all skills to a specific assistant\nnpx skills add revolut-engineering/revolut-x-api -g -a cursor\n```\n\nSupported targets include Claude Code, OpenClaw, Cursor, Cline, Continue, Gemini CLI, OpenCode, Warp, Augment, Amp, Replit, Antigravity, Devin, Droid, and more.\n\nBrowse the skills on [skills.sh/revolut-engineering/revolut-x-api](https://skills.sh/revolut-engineering/revolut-x-api).\n\n### Native install paths\n\n#### Claude Code (plugin marketplace)\n\nAdd this repo as a marketplace, then install the plugin:\n\n```bash\nclaude plugin marketplace add https://github.com/revolut-engineering/revolut-x-api.git\nclaude plugin install revolut-x@revolut-x-plugins\n```\n\nOr load directly from a local clone:\n\n```bash\ngit clone https://github.com/revolut-engineering/revolut-x-api.git\nclaude --plugin-dir ./revolut-x-api\n```\n\n#### Gemini CLI (extension)\n\n```bash\ngemini extensions install https://github.com/revolut-engineering/revolut-x-api\n```\n\nThe extension installs the `skills/` folder, which Gemini CLI auto-discovers.\n\n#### OpenAI Codex (plugin marketplace)\n\nRegister this repo as a marketplace:\n\n```bash\ncodex plugin marketplace add revolut-engineering/revolut-x-api\n```\n\nThen launch Codex (`codex`), run `/plugins` in the TUI, find **revolut-x**, and enable it. The 7 `revx-*` skills become available immediately and activate when you use a matching trigger phrase (e.g. *\"check my Revolut X balances\"*, *\"place a market order\"*, *\"backtest a grid strategy\"*).\n\nSee [Codex plugins docs](https://developers.openai.com/codex/plugins) and [CLI reference](https://developers.openai.com/codex/cli/reference).\n\n##### Troubleshooting\n\nIf skills don't appear after enabling **revolut-x**, the local Codex cache may be holding a stale snapshot from an earlier install at the same version. Wipe the cache and re-add:\n\n```bash\ncodex plugin marketplace remove revolut-x-plugins\nrm -rf ~/.codex/plugins/cache/revolut-x-plugins\ncodex plugin marketplace add revolut-engineering/revolut-x-api\n```\n\n---\n\n## Security\n\nThe MCP server and CLI handle cryptographic keys that authorize real trades on your Revolut X account. Follow these guidelines to minimize risk.\n\n### Private key protection\n\n- Keep your Ed25519 private key file (`private.pem`) readable only by your user account. On macOS/Linux the installer sets `chmod 600` automatically — verify with `ls -l ~/.config/revolut-x/private.pem`.\n- The CLI and SDK refuse to load credential files (`private.pem`, `config.json`) if their permissions are looser than `0o600`. If you see an \"insecure permissions\" error, run `chmod 600 ~/.config/revolut-x/private.pem` (and similarly for `config.json`).\n- Never share, commit, or copy your private key to another machine. If compromised, rotate it immediately in your Revolut X account under Profile > API Keys.\n- Consider encrypting the config directory with your OS disk encryption (FileVault, BitLocker, LUKS).\n\n### Network isolation\n\nThe MCP server and API client connect exclusively to `https://revx.revolut.com`. No other outbound connections are required.\n\nIf your environment supports network policies (firewalls, container networking, proxy allowlists), restrict the server's outbound access to this single endpoint. This prevents a compromised dependency from exfiltrating data to an unrelated host.\n\n### Filesystem sandboxing\n\nThe MCP server needs read access to a single directory (`~/.config/revolut-x/` by default). It does not need access to your home directory, project files, or any other path.\n\nWhen running in a container or sandboxed environment, mount only the config directory and the server bundle — nothing else.\n\n### MCP server scope\n\nThe MCP server is **read-only by design** — it cannot place, modify, or cancel orders. All tool descriptions enforce this boundary and instruct the AI assistant not to attempt write operations.\n\nThe server is self-contained: it calls the Revolut X REST API directly and does not depend on or invoke the `revx` CLI. In MCP hosts with shell access (Claude Code, Cursor, VS Code), always review any terminal commands before approving execution.\n\n### Responsible disclosure\n\nIf you discover a security vulnerability, **do not open a public issue**. See [SECURITY.md](SECURITY.md) for the private reporting channels and disclosure process.\n\n---\n\n## Privacy Policy\n\nAll data stays on your machine. API credentials are sent only to `revx.revolut.com` — no data is sent to Anthropic, the developer, or any third party.\n\nFor the full privacy policy, see [PRIVACY.md](PRIVACY.md).\n\n---\n\n## Support\n\n- **Issues:** [GitHub Issues](https://github.com/revolut-engineering/revolut-x-api/issues)\n- **Revolut X API Docs:** [developer.revolut.com/docs/x-api/revolut-x-crypto-exchange-rest-api](https://developer.revolut.com/docs/x-api/revolut-x-crypto-exchange-rest-api)\n\n## License\n\nMIT — see [LICENSE](LICENSE)\n",
  "bytes": 16133,
  "sha": "7d3aaec59bbed6ceaccbdeb57d2cc2de3f52d301be3a4a04bc1a6c94d4bf675a",
  "repo_slug": "revolut-engineering/revolut-x-api",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_revolut_engineering_revolut_x_api_ad87bfcd/readme"
}