Pay-as-you-go · From 15p
Check the name on the account before you pay. Modulus and bank details come back in the same response.
Full / Close / No Match · modulus included · from 15p
CoP stands for Confirmation of Payee - a suite of name-checking services introduced by UK regulators to combat fraud and reduce misdirected payments. Our CoP services cover both Confirmation of Payee and Confirmation of Payer.
When you send money to someone, Confirmation of Payee checks whether the name you've been given matches the name on the receiving account. This verifies the payee (recipient) details before you make a payment.
When you receive money from someone, Confirmation of Payer verifies that the name provided matches the name on the sending account. This confirms the payer (sender) identity, helping businesses verify who is making a payment to them.
Confirmation of Payee and Confirmation of Payer are available on a standard pay-as-you-go account. Buy credits from 15p per check.
Both services use the same verification technology and infrastructure. The only difference is the direction: checking outgoing payments (Payee) vs. incoming payments (Payer). Our pricing is the same for both services.
As of 2024, all UK Payment Service Providers (PSPs) must offer Confirmation of Payee checking for payments over £1,000 and other high-risk transactions.
Verify recipient details before sending payments
Verify sender details when receiving payments
Real-time name verification in four simple steps
Payee name, sort code and account number.
The receiving bank is asked who the account belongs to.
Full match, close match, no match, or unavailable.
Pay, or stop and fix the name before the money moves.
The name provided matches the account holder name exactly. Payment can proceed safely.
The name is similar but not exact (e.g., missing middle name, abbreviation). User should verify before proceeding.
The name does not match the account holder. Payment should not proceed without further verification.
The receiving bank doesn't support CoP or the account couldn't be checked. Use additional verification.
Protect your business and your customers
Stop Authorized Push Payment (APP) fraud before it happens. Detect when fraudsters provide fake account details.
Catch typos and data entry errors that lead to money being sent to the wrong account.
Meet UK regulatory requirements for CoP checking on qualifying payments.
Demonstrate duty of care to your customers by implementing fraud prevention measures.
Reduce your liability for fraud losses by implementing industry best practices.
Give customers peace of mind with instant verification before they send money.
More than name verification — modulus and bank details come back in the same call
Every CoP verification includes additional data at no extra charge:
Fewer API calls. You do not need a separate modulus check — that data is already in the CoP response.
Stronger fraud checks. Cross-reference the name match with account validity and bank details.
Clearer for users. Show the bank name before the payment goes out.
One API call returns CoP verification, modulus checking, and full bank details.
Add CoP verification to your platform in minutes
curl -X GET "https://wsp.esortcode.com/uk/v1/cop?key=YOUR_API_KEY&sortcode=200000&accountNumber=12345678&name=John%20Smith&accountType=PERSONAL"
const apiKey = 'YOUR_API_KEY';
const sortCode = '200000';
const accountNumber = '12345678';
const name = encodeURIComponent('John Smith');
const accountType = 'PERSONAL';
const url = `https://wsp.esortcode.com/uk/v1/cop?key=${apiKey}&sortcode=${sortCode}&accountNumber=${accountNumber}&name=${name}&accountType=${accountType}`;
const response = await fetch(url);
const result = await response.json();
import requests
from urllib.parse import quote
api_key = 'YOUR_API_KEY'
sort_code = '200000'
account_number = '12345678'
name = quote('John Smith')
account_type = 'PERSONAL'
url = f'https://wsp.esortcode.com/uk/v1/cop?key={api_key}&sortcode={sort_code}&accountNumber={account_number}&name={name}&accountType={account_type}'
response = requests.get(url)
result = response.json()
$apiKey = 'YOUR_API_KEY';
$sortCode = '200000';
$accountNumber = '12345678';
$name = urlencode('John Smith');
$accountType = 'PERSONAL';
$url = "https://wsp.esortcode.com/uk/v1/cop?key={$apiKey}&sortcode={$sortCode}&accountNumber={$accountNumber}&name={$name}&accountType={$accountType}";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
{
"cop": {
"code": "MATCHED",
"name": "",
"description": "The account name and account type match the name and account type provided.",
"advice": "You can proceed with the creation of the Direct Debit Instruction."
},
"modulusCheck": {
"sortcode": "200000",
"accountNumber": "12345678",
"valid": true
},
"branches": [
{
"bankName": "BARCLAYS BANK PLC",
"branchTitle": "Head Office",
"address1": "1 Churchill Place",
"town": "London",
"postcode": "E14 5HP",
"bacsPayments": true,
"directDebits": true,
"directCredits": true
}
]
}
Volume discounts from 25p down to 15p per check. Buy credits on a standard account.
Drag the slider or tap a preset - prices update instantly
Buy CoP credits from 15p · no setup fees
Higher packs unlock lower per-check rates
Industries and teams that rely on name checks before money moves
Meet regulatory requirements while protecting customers from fraud and misdirected payments.
Verify seller and supplier bank details before releasing funds or making payments.
Validate payee details when setting up new suppliers or processing refunds.
Verify employee bank details during onboarding to prevent payroll errors.
Confirm borrower account details before disbursing loan funds.
Validate claimant account details before processing insurance payouts.
Buy CoP credits from 15p a check. Modulus included on every call.
Create a free account