Revolut operates in two isolated environments: Sandbox for testing and Production for real data.
Before you proceed with your setup, read this page: it shows how the two environments differ and what to expect in each. Everything else in this space assumes the split.
How it works
Proper testing and deployment to Production need two separate setups:
- Your test environment - any pre-production deployment (like local, QA or staging), pointed at Revolut Sandbox: sandbox endpoints, your Sandbox API key, test cards, and test data that never settles.
- Your live deployment - your production deployment, pointed at Revolut Production: live endpoints, your Production API key, real customer cards, and real money.
The two environments are completely isolated: your Sandbox key and test cards only work against Sandbox, your Production key only against live endpoints. When you finish testing and are ready to go live, you update your entire setup at once to point to Production endpoints and data.
The two setups side by side:
| Your test environment | Your live deployment | |
|---|---|---|
| Revolut environment | Sandbox | Production |
| Base URL | https://sandbox-merchant.revolut.com/ | https://merchant.revolut.com/ |
| API key | Console Sandbox API key | Console Production API key |
| Cards | Test cards only | Real customer cards |
| Money | Mock transactions - nothing settles | Real money |
| Emails and SMS | Not sent - helper buttons simulate success | Sent as normal |
Keys in API Console
Both setups get their keys from one place: the API Console, which serves both environments and lets you easily switch between Sandbox and Production.
- Your Sandbox account ships with a pre-generated full-access API key, so you can build straight away - see Get started with the API Console.
- Create more keys with specific permissions as you need them - see Create an API key.
Plugin environments
Running a no-code plugin? The same two setups apply: connect a staging store in test mode with your Sandbox key, and your live store with your Production credentials. See Set up test environment.
Webhooks
If your server allowlists incoming traffic, allowlist Revolut's webhook sources separately for each environment:
| Environment | Webhook IPs |
|---|---|
| Sandbox | 35.242.130.242, 35.242.162.241 |
| Production | 35.246.21.235, 34.89.70.170 |
When you switch, register your Production webhook URL and allowlist the Production IPs. For delivery retries, payload signature verification, and operational guidance, see Use webhooks.