Sandbox
Help

Validate an account name (CoP/VoP)

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.

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:

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.

RegionCurrencyUse caseAvailable to businesses based inUnderlying service
UKGBPlocal transfersUKCoP (UK)
AUAUDlocal transfersAustraliaCoP (AU)
RORONlocal transfersRomaniaSANB, also referred to as BNDS or CoP (RO)
EUR*EURSEPA payments in EEACountries that are members of both EEA and SEPA, including their dependent or overseas territories; Ukraine; SwitzerlandVoP

*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:

CategoryParentCodeCountry/Territory
EEA & SEPA CountriesATAustria
BEBelgium
BGBulgaria
HRCroatia
CYCyprus
CZCzechia
DKDenmark
EEEstonia
FIFinland
FRFrance
DEGermany
GRGreece
HUHungary
ISIceland
IEIreland
ITItaly
LVLatvia
LILiechtenstein
LTLithuania
LULuxembourg
MTMalta
NLNetherlands
NONorway
PLPoland
PTPortugal
RORomania
SKSlovakia
SISlovenia
ESSpain
SESweden
Dependent and Overseas TerritoriesDenmarkGLGreenland
NetherlandsAWAruba
BQBonaire, Sint Eustatius and Saba
CWCuraçao
FinlandAXÅland Islands
FranceGFFrench Guiana
GPGuadeloupe
MQMartinique
YTMayotte
RERéunion
MFSaint Martin
TFFrench Southern Territories
WFWallis and Futuna
NorwaySJSvalbard and Jan Mayen
Other countriesCHSwitzerland
UAUkraine

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

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.

  • 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)

Sandbox

Keep in mind that the Sandbox cannot be used for actual validation.

Sandbox behaviour

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.

Rate this page