Connect Revolut X

How to make the key pair Revolut X asks for, create a read-only API key, and what Viktury imports from it.

Revolut X is the crypto exchange from Revolut, and it connects to Viktury with a read-only API key. The key lets Viktury read your orders and balances. It cannot trade and it cannot withdraw.

Revolut X is a separate account from the Revolut app. If you want your Revolut stock trades in Viktury, see Connect Revolut, which uses a CSV export instead.

What you need

Revolut X does not hand you a secret the way most exchanges do. You make a key pair on your own computer, give Revolut X the public half, and give Viktury the private half. That means you need a computer with a terminal, because there is no way to do this from a phone.

The commands below need OpenSSL 3. On Linux, and in Git Bash on Windows, they work as written.

On a Mac, the built-in openssl is too old and stops with "Algorithm ed25519 not found". Install the current one with Homebrew and use it by its full path:

brew install openssl@3
alias openssl="$(brew --prefix openssl@3)/bin/openssl"

The alias lasts until you close that terminal window, which is all you need here.

Make the key pair

  1. Create the private key:

    openssl genpkey -algorithm ed25519 -out revolutx-private.pem
    
  2. Print the matching public key:

    openssl pkey -in revolutx-private.pem -pubout
    

    Copy everything it prints, including the BEGIN and END lines.

Keep revolutx-private.pem private. Anyone with that file and your API key can read your Revolut X account.

Create the API key

  1. Sign in to Revolut X on the web, open your profile and go to API keys.
  2. Create a new key and paste the public key from the step above.
  3. Choose read-only access, and leave MCP and CLI access off.
  4. Copy the API key Revolut X shows you. It is 64 characters long.

Add it to Viktury

On the Add account screen, choose Revolut X and give the account a name. Paste the 64-character key into the API Key field, then load revolutx-private.pem into the Private Key field. You can also open the file in a text editor and paste its contents, BEGIN and END lines included. Save, and Viktury runs its first sync.

What we import

  • Filled orders, with the fee Revolut X charged on each one.
  • Your current balances, shown as holdings.

Deposits and withdrawals are not imported. Revolut X only lets an API key read 30 days of orders per request, so Viktury steps back through your history 30 days at a time. On an account used since 2024, the first sync can take a few minutes.

Troubleshooting

  • The key is rejected. Check that the API key is the full 64 characters, and that the public key you gave Revolut X came from the same revolutx-private.pem you loaded here. A key pair made twice gives two different keys that do not match.
  • "That does not look like a PEM private key". You probably loaded the public key. The private file is revolutx-private.pem, and it starts with -----BEGIN PRIVATE KEY-----.
  • "Algorithm ed25519 not found". Your openssl is the old one that ships with macOS. Follow the Homebrew step above and run the command again.
  • Older orders are missing. Check the account card for a sync error. If the last sync finished cleanly, send us a note through the contact form with the date of a missing order.