This feature is only available to businesses in the supported regions.
Additionally, to get access to CoP in the UK, eligible businesses must contact Revolut API Support.
Use the Business API to validate an account name before adding a counterparty or making a payment.
CoP must be used exclusively to validate beneficiary details before initiating a payment. Using the service to collect or harvest account holder data for any other purpose is prohibited and may result in service suspension.
See also Service limits.
What is account name validation?
Account name validation is a feature that helps you prevent misdirected payments. It checks if the name of your recipient (payee) matches the name registered with their bank account.
This type of check is often referred to as Confirmation of Payee (CoP) or Verification of Payee (VoP), after the names of the regional services it relies on to perform this check. We'll use "CoP" for short as the general term for these services.
You can perform this check at two key moments:
- Before making a payment to a new or existing counterparty.
- When adding a new counterparty.
You can make checks for both individual counterparties (personal accounts) and companies (business accounts), provided that their bank and account type support CoP.
The CoP check is not a complete fraud-prevention tool, and it does not guarantee the person is who they claim to be. It only confirms that the name and account details your provide match the bank's records.
Even if the counterparty's details match, you should still exercise due caution when transferring funds.
How CoP works
Supported regions and services
The validation is performed using a single endpoint. The required details depend on the region, currency and type of the recipient's account. Based on the details that you provide, the endpoint routes to the correct underlying service.
| Region | Currency | Use case | Available to businesses based in | Underlying service |
|---|---|---|---|---|
| UK | GBP | local transfers | UK | CoP (UK) |
| AU | AUD | local transfers | Australia | CoP (AU) |
| RO | RON | local transfers | Romania | SANB, also referred to as BNDS or CoP (RO) |
| EUR* | EUR | SEPA payments in EEA | Countries that are members of both EEA and SEPA, including their dependent or overseas territories; Ukraine; Switzerland | VoP |
*EEA ∩ SEPA, CH, and UA. For brevity, we'll refer to it as "EUR" or "Europe" in this guide.
Full list of countries and territories for EUR
Countries that are members of both EEA and SEPA, including their dependent or overseas territories + Ukraine and Switzerland:
| Category | Parent | Code | Country/Territory |
|---|---|---|---|
| EEA & SEPA Countries | AT | Austria | |
| BE | Belgium | ||
| BG | Bulgaria | ||
| HR | Croatia | ||
| CY | Cyprus | ||
| CZ | Czechia | ||
| DK | Denmark | ||
| EE | Estonia | ||
| FI | Finland | ||
| FR | France | ||
| DE | Germany | ||
| GR | Greece | ||
| HU | Hungary | ||
| IS | Iceland | ||
| IE | Ireland | ||
| IT | Italy | ||
| LV | Latvia | ||
| LI | Liechtenstein | ||
| LT | Lithuania | ||
| LU | Luxembourg | ||
| MT | Malta | ||
| NL | Netherlands | ||
| NO | Norway | ||
| PL | Poland | ||
| PT | Portugal | ||
| RO | Romania | ||
| SK | Slovakia | ||
| SI | Slovenia | ||
| ES | Spain | ||
| SE | Sweden | ||
| Dependent and Overseas Territories | Denmark | GL | Greenland |
| Netherlands | AW | Aruba | |
| BQ | Bonaire, Sint Eustatius and Saba | ||
| CW | Curaçao | ||
| Finland | AX | Åland Islands | |
| France | GF | French Guiana | |
| GP | Guadeloupe | ||
| MQ | Martinique | ||
| YT | Mayotte | ||
| RE | Réunion | ||
| MF | Saint Martin | ||
| TF | French Southern Territories | ||
| WF | Wallis and Futuna | ||
| Norway | SJ | Svalbard and Jan Mayen | |
| Other countries | CH | Switzerland | |
| UA | Ukraine |
Other currencies, regions, or combinations of those are not supported.
Service limits
The number of checks is limited per business as follows:
-
Per minute:
- Australia: 10 validations
- Other supported regions: 60 validations
-
Per day:
- All supported regions: 10000 validations
Additionally, in Romania, up to 3 validations per 24 hours are allowed without initiating a payment. After exceeding this limit, access to the CoP service is restricted for 24 hours from the last query. To avoid this restriction, link the CoP check to the payment you're making.
If you need to increase these limits, please contact our API Support team.
Make a validation request
To validate an account's name with the Business API, make a request to the /account-name-validation endpoint.
This endpoint routes to the correct service based on the details you provide.
Required details
When making a validation request, depending on the region, currency and type of the recipient's account, you must provide the following details:
- Account number
- Sort code
- Name of the recipient:
- For individuals: First and last name
- For businesses: The legal company name
A sample payload might look like this:
{
"account_no": "12345678",
"sort_code": "54-01-05",
"individual_name": {
"first_name": "John",
"last_name": "Smith"
}
}Validation results
The results returned in the response come from the underlying CoP systems, not from Revolut. The Business API passes them on as received.
Because of this, the overview below should be treated as an approximation rather than complete documentation.
The response depends on the underlying service.
The API compares the name you provided with the account's records, and returns a status (result code) indicating the result of the check:
-
Matched: The name and account type match the provided details.
-
Close match: The name and/or account type are similar to the provided values:
- The name is a match, but the account type is incorrect. For example, an individual recipient's name was provided under
company_name. The actual account type is returned. - The name is similar to the provided values. Account type is correct. The actual name is returned.
- The name is similar to the provided values, and the account type is incorrect. The actual values are returned.
The actual values are returned.
- The name is a match, but the account type is incorrect. For example, an individual recipient's name was provided under
-
Not matched: The name and account type don't match the provided values.
-
Cannot be checked: The check cannot be performed and retries won't help. For example, the recipient's bank doesn't support CoP.
-
Temporarily unavailable: The check cannot be performed right now. For example, the recipient's bank didn't respond to our request. You should retry the request later.
For request and response models:
See the API reference: Validate an account name (CoP/VoP)
Link a CoP check to a payment
When you perform a CoP check, the response includes a name_validation_id.
Pass this identifier in the name_validation_id field of your subsequent POST /pay request to link the check to the payment.
This prevents rate-limiting issues in regions that enforce such limits, e.g. Romania. Without linking the check to a payment, making more than 3 queries within 24 hours may temporarily restrict your access to the service.
Sandbox
Keep in mind that the Sandbox cannot be used for actual validation.
The Sandbox environment provides validation for testing purposes only.
- Incomplete or invalid requests return production-like error responses.
- Complete and valid requests do not undergo real validation and will always return:
cannot_be_checked.
This helps you verify request formatting and error handling without relying on real production logic.
Glossary
This section presents the external services that the account name validation relies on, depending on the region and currency. It is meant as a brief overview, and should not be treated as formal or exhaustive definitions.
CoP (UK)
Confirmation of Payee (CoP) is an account name checking service in the UK that helps payers make sure local payments in GBP aren't sent to the wrong bank or building society account.
It checks the recipient's name against the account's sort code and number, and uses a "traffic light" system to indicate whether they're a match, close match, or no match. It is only available to UK-based businesses, for accounts that support CoP.
CoP (AU)
The CoP in Australia is a separate service from the one in the UK. While they serve a similar purpose and share the same name, they are not related.
Confirmation of Payee (CoP) is an account name checking service in Australia that helps payers make sure local payments in AUD aren't sent to the wrong bank, building society, or credit union account.
It validates the recipient's name against the account number and BSB (Bank-State-Branch) code, and uses a "traffic light" system to indicate whether they're a match, close match, or no match. It is only available to businesses based in Australia, for accounts that support CoP.
SANB, BNDS, CoP (RO)
Serviciul Afișare Nume Beneficiar (SANB), or Beneficiary Name Display Service (BNDS) in English, is an account name checking service in Romania that helps payers make sure local payments in RON aren't sent to the wrong bank account. It is only available to businesses based in Romania, for accounts that support this service.
In response to provided name and IBAN, it returns a truncated version of the recipient's name – the first name and initial for personal accounts or part of the company's name for business accounts – for the payer to validate them.
In our API documentation, we'll refer to it as CoP (RO).
VoP
Verification of Payee (VoP) is an account name checking service in Europe that helps payers make sure that EUR payments in supported European countries aren't sent to the wrong payment account.
It checks the recipient's name against the account's IBAN, and uses a "traffic light" system to indicate whether they're a match, close match, or no match.