BACS-approved · From 1.9p

Modulus Checking
for UK bank accounts

Validate sort codes and account numbers in real time with official BACS algorithms. Catch bad details before payments fail - from 1.9p per check.

  • From 1.9p per check
  • Mod 10 / Mod 11 / Double Alternate
  • <50ms typical response
  • 50 free test checks
Overview

What is Modulus Checking?

Modulus checking is an industry-standard validation method used to verify that a UK sort code and account number combination is valid before processing a payment.

Our service uses the official BACS-approved modulus checking algorithms (Modulus 10 and Modulus 11) to mathematically verify that account details are correctly formatted and could represent a valid bank account.

Did you know?

Invalid payment details cost UK businesses over £800 million annually in failed transactions, administrative overhead, and customer service issues.

Key Benefits

  • Reduce Failed Payments

    Catch invalid account details before submission

  • Improve User Experience

    Provide instant feedback on data entry errors

  • Lower Operational Costs

    Reduce manual intervention and customer support

  • BACS Compliant

    Uses official modulus checking algorithms

Process

How it works

Simple integration, powerful validation

1

User Enters Details

Customer inputs sort code and account number in your payment form

2

API Call

Your system sends a validation request to our API endpoint

3

Validation

Our system applies modulus checking algorithms in under 100ms

4

Instant Result

Receive immediate validation result with detailed feedback

Simple RESTful API

Integrate in minutes with our developer-friendly API

curl -X GET "https://wsp.esortcode.com/uk/v1/validateaccount?key=YOUR_API_KEY&sortcode=200000&accountNumber=12345678"
const apiKey = 'YOUR_API_KEY';
const sortCode = '200000';
const accountNumber = '12345678';

const url = `https://wsp.esortcode.com/uk/v1/validateaccount?key=${apiKey}&sortcode=${sortCode}&accountNumber=${accountNumber}`;

const response = await fetch(url);
const result = await response.json();
import requests

api_key = 'YOUR_API_KEY'
sort_code = '200000'
account_number = '12345678'

url = f'https://wsp.esortcode.com/uk/v1/validateaccount?key={api_key}&sortcode={sort_code}&accountNumber={account_number}'

response = requests.get(url)
result = response.json()
$apiKey = 'YOUR_API_KEY';
$sortCode = '200000';
$accountNumber = '12345678';

$url = "https://wsp.esortcode.com/uk/v1/validateaccount?key={$apiKey}&sortcode={$sortCode}&accountNumber={$accountNumber}";

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);

Response

{
  "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
    }
  ]
}
Pricing

Transparent modulus pricing

Pay only for what you use - annual packs from 4.0p to 2.5p, monthly from 2.4p to 1.9p

Estimate your modulus cost

Choose annual or monthly, then drag the slider or tap a preset

Volume pricing · min 500
500 checks
500 50k 100k
Price per check
4.00p
volume rate
Pack total
£20.00
+ VAT · one-time
You save: £0.00 vs 4.0p baseline
Credits valid for a minimum of 12 months
No setup fees or minimum commitments
Get started

50 free checks to try the API · no card required

Volume tiers at a glance

Higher packs unlock lower per-check rates

Volume
Price per Check
Total Cost
Savings
500 checks
4.0p
£20.00
Baseline
1,000 checks
3.8p
£38.00
5% off
5,000 checks
3.4p
£170.00
15% off
25,000 checks
2.9p
£725.00
27.5% off
50,000 checks
2.7p
£1,350.00
32.5% off
100,000 checks
2.5p
£2,500.00
37.5% off

Enterprise Features Included

Everything you need for production-grade validation

Bank-Grade Security

TLS 1.3 encryption, SOC 2 compliance

Real-time Updates

Daily database updates for accuracy

Usage Analytics

Detailed dashboards and reporting

24/7 Support

Expert technical support team

Webhook Support

Real-time notifications and callbacks

Batch Processing

Validate hundreds of records at once

Enterprise SLA

Need a 100% uptime guarantee?

Mission-critical apps need enterprise-grade reliability

100% uptime

Financial penalties for downtime

Duplicated infra

Separate from standard service

15-min response

24/7 priority support

Account manager

Personal point of contact

Flat rate add-on
£99
+ VAT per month

Add to any monthly subscription · Covers Modulus Checking & CoP (our infrastructure) · EISCD not included

Explore Enterprise SLA

Ready to Reduce Failed Payments?

Start validating sort codes and account numbers in minutes

50 free checks included • No credit card required • 5-minute setup