Overview

API overview

A single RESTful API covering the full lifecycle of client onboarding, multi-currency accounts, payments, and real-time event notifications. Everything you need to embed banking into your platform.

Technical specifications

Protocol REST over HTTPS (TLS 1.2+)
Data Format JSON request and response bodies
Authentication HMAC-SHA256 request signing with API Key + Secret Key. Every request includes your API key, a unique nonce, and the signature in headers. Full walkthrough →
Base URLs
Sandbox provided with your sandbox credentials
Production provided after go-live approval
Versioning URL-based. Current version is /api/v1/
Currencies GBP (Faster Payments) and EUR (SEPA Credit Transfer)
Events 26 webhook event types delivered via HTTPS POST

How it works

Mercury sits between your platform and the UK/EU payment rails. You make API calls to manage clients and accounts; Mercury handles bank connectivity, compliance, and settlement. Webhooks keep your system in sync in real time.

Your platform

REST calls + webhook listener

⟶
HTTPS

Mercury API

Auth · Compliance · Orchestration

⟶
Rails

Payment rails

Faster Payments · SEPA

API domains

22 endpoints organised into six resource domains. Click any domain to jump to the API reference.

3 endpoints

Clients

Onboard, update, and retrieve end-clients under your programme. Full KYC lifecycle management.

POST /clientPUT /clientGET /client
£5 endpoints

GBP accounts

Create sterling virtual accounts with dedicated sort code + account number. Query balances, pull statements, block/unblock/close.

POST /sterling-accountGET /sterling-accountPOST /statements
€5 endpoints

EUR virtual IBANs

Create euro virtual IBANs with SEPA connectivity. Full account management, statements, and lifecycle controls.

POST /euro/vibansGET /euro/vibansPOST /statements
3 endpoints

Payments

Send GBP via Faster Payments (seconds) and EUR via SEPA Credit Transfer (same-day). Return inbound GBP payments.

POST /paymentsPOST /euro/payments/sepa-ctPOST /return-payment
2 endpoints

Confirmation of Payee

Verify beneficiary account details before sending payments. Check SRD requirements for enhanced verification.

POST /cop/account-name-checkPOST /cop/srd-requirement-check
7 endpoints

Lookup data

Reference data for currencies, countries, business types, risk ratings, and CoP eligibility. Use these to populate dropdowns and validate inputs.

GET /lookup/currenciesGET /lookup/countries+5 more

Real-time webhook events

Mercury delivers 26 event types via HTTPS POST to your registered endpoint. No polling required. Your system stays in sync as things happen.

Client Events5 events
ClientCreatedClientUpdatedClientStatusChangedClientRiskRatingChangedClientAssignedAccount
Account Events7 events
AccountCreatedAccountCreationFailedAccountUpdatedAccountUpdatingFailedAccountBlockedAccountUnBlockedAccountClosed
Payment Events14 events
TransactionSettledTransactionRejectedPaymentStatusChangedInboundTransactionOutboundTransactionHeldMccyOutboundPaymentComplete…and 8 more

Key concepts

Distributor Model

You operate as a distributor with a master account. Your end-clients are onboarded under your programme. You control the full client and account lifecycle via API. Mercury provides the banking rails and regulatory wrapper.

HMAC Authentication

Every request is signed with HMAC-SHA256 using your Secret Key. The signature covers your API key, the request method, path, body, and a unique nonce, protecting against replay attacks and tampering. Learn more →

Environments

Two fully isolated environments: Sandbox for integration development and testing, Production for live transactions. Separate credentials for each. Same API surface. Code that works in sandbox works in production.

Event-Driven Architecture

Don't poll, subscribe. Webhooks fire for every meaningful state change across clients, accounts, and payments. Build reactive integrations that respond to events as they happen.

Typical integration flow

1

Onboard client

POST /client with KYC data

2

Open accounts

Create GBP and/or EUR virtual accounts

3

Verify payees

CoP check before first payment

4

Send payments

FPS (GBP) or SEPA CT (EUR)

5

React to events

Webhooks for settlements, status changes

Ready to integrate?

Start with authentication, then make your first API call in the sandbox.


Did this page help you?