Funds Confirmation

The Confirmation of Funds (CoF) API allows Card-Based Payment Instrument Issuers (CBPIIs) to check if sufficient funds are available in a customer's account before completing a transaction.

Overview

The CoF service is designed for card issuers and payment processors who need to verify fund availability in real-time before authorizing a transaction.

Real-time

Instant response for authorization decisions

Boolean Result

Simple yes/no funds availability response

No Balance Disclosure

Only confirms availability, not actual balance

Consent Requirements

CoF requests require a funds-confirmation consent with the FundsConfirmation permission. The consent must specify the account to check.

Account Binding

Unlike AIS consents, CoF consents are bound to a specific account. The account is selected during customer authorization and cannot be changed.

Confirm Funds

Check if sufficient funds are available for a specified amount.

POST/open-banking/v1/funds-confirmations

Check funds availability for a specified amount.

Request

{
  "consent_id": "consent_cof_abc123",
  "reference": "TXN-12345",
  "instructed_amount": {
    "amount": "150.00",
    "currency": "GBP"
  }
}

Response

{
  "funds_available": true,
  "funds_available_result": "Available",
  "reference": "TXN-12345"
}

Request Fields

FieldTypeDescription
consent_idstringRequired. The funds-confirmation consent ID
referencestringRequired. Your reference for this check (e.g., transaction ID)
instructed_amount.amountstringRequired. Amount to check as decimal string
instructed_amount.currencystringRequired. ISO 4217 currency code

Response Fields

FieldTypeDescription
funds_availablebooleantrue if funds are available, false otherwise
funds_available_resultstring"Available" or "NotAvailable"
referencestringEcho of your reference from the request

Example Scenarios

Funds Available

Customer has £500 available, checking for £150:

{
  "funds_available": true,
  "funds_available_result": "Available",
  "reference": "TXN-12345"
}

Funds Not Available

Customer has £100 available, checking for £150:

{
  "funds_available": false,
  "funds_available_result": "NotAvailable",
  "reference": "TXN-12345"
}

Common Use Cases

Card Authorization

Before authorizing a card transaction, check if the linked bank account has sufficient funds.

Buy Now Pay Later

Verify customer can cover the first installment before approving a BNPL purchase.

Pre-Authorization

Check fund availability before placing a hold for hotel bookings or car rentals.

Best Practices

  • Cache consent validity to avoid unnecessary authorization flows
  • Include meaningful references for audit and reconciliation
  • Handle NotAvailable gracefully - don't immediately decline the transaction
  • Consider time-of-day effects on available balances (pending transactions)
  • Implement fallback logic if the CoF check times out

Error Responses

Common error responses for the Funds Confirmation API:

400
invalid_request

Malformed request body

400
invalid_amount

Invalid amount format

400
no_account

Consent does not specify an account

401
invalid_consent

Consent not found

403
wrong_consent_type

This endpoint requires a CoF consent

403
consent_invalid

Consent is not active or has expired

403
permission_denied

Consent does not include FundsConfirmation permission

Rate Limits

The CoF endpoint has specific rate limits to prevent abuse:

EnvironmentPer ConsentPer TPP
Sandbox10/minute100/minute
Production60/minute1000/minute