Skip to content
All insights
PaymentsSeptember 23, 2026 · 8 min read

camt.053 statement reconciliation: proving the closing balance when settlement ran on chain

A camt.053 statement is the record your books are reconciled against. What each entry must carry, and how to set a cut off against a chain that never closes.

By Jay Kambo
Illustration — camt.053 statement reconciliation: proving the closing balance when settlement ran on chain
Key takeaways
  • camt.053 is the closed, authoritative statement. camt.052 is the intraday report and camt.054 is a single notification. Reconcile on the statement, never on the other two.
  • A public chain has no natural cut off, so the cut off becomes a documented choice: one time, one named time zone, and a confirmation count per chain that moves an entry from pending to booked.
  • Every entry needs the UETR, a bank transaction code, a booking date, a value date and the settlement detail, including the chain, the token, the addresses and the transaction hash.
  • Reconcile to the chain, not only to your own database, and reconcile every day including weekends. A ledger that agrees with itself proves nothing.
  • Book network fees separately against a funded gas position so a payment amount is never quietly reduced by a cost paid in a different asset.

A camt.053 statement is the end of day account statement an institution sends its counterparty or its customer in ISO 20022 form. It is the file your ledger is proved against. When the settlement leg of a cross border payment runs on a public blockchain, camt.053 statement reconciliation does not disappear. It changes shape. The rail never closes, the fee is paid in a network token, and the proof of movement is a transaction hash. This article sets out what the statement must carry, how to choose a cut off, how to run the daily reconciliation, and what to do with the breaks it finds.

What is a camt.053 statement, and how does it differ from camt.052 and camt.054?

camt.053 is the ISO 20022 bank to customer statement. It reports a closed period, normally a business day, and it is authoritative for that period. Two siblings sit beside it. camt.052 is the account report, used intraday, and provisional by design. camt.054 is the debit credit notification, which announces a single movement as it happens.

The three are not interchangeable. Treasury funds payments from camt.052, because it needs the position now. Operations acts on camt.054, because it needs to know that one named payment arrived. Finance reconciles on camt.053, because only the statement is final. Mixing them is the most common cause of a reconciliation that never balances.

One rule keeps the set honest. A movement announced in a camt.054 must appear in the camt.053 statement for the period that contains it. A notification with no statement entry behind it is a break, and it should be raised the same day.

Why does camt.053 statement reconciliation get harder when settlement is on chain?

Four properties of a blockchain rail collide with a daily statement.

The rail never closes. A correspondent account has a natural cut off, because the market it sits in shuts. A public chain produces blocks through the weekend and through every holiday. The cut off becomes a choice you make and document, rather than a fact you inherit.

Finality arrives in degrees. A transfer appears in a block, then gains confirmations. You have to decide how many confirmations make an entry booked rather than pending, and the answer differs by chain. That decision belongs in a written policy, not in one engineer's head.

Fees are paid in the network token. Moving a dollar stablecoin can cost a small amount of an entirely different asset. That cost belongs as an expense against a funded gas position, not as a deduction from the payment.

The account is an address, not a number. Several payments can share one address, and one institution can hold many addresses across several chains. The statement has to say which address, which chain and which token each entry belongs to, or a reader cannot tie it back to anything.

What must each statement entry carry to be reconcilable?

An entry is reconcilable when a reader can match it to one instruction without asking. That takes references, classification, dates and settlement detail.

References come first. Carry the end to end identification the payment was sent with, the account servicer reference for the entry, and the UETR. The UETR follows a payment across every leg. It is the field that joins a statement entry to the pacs.008 that instructed it and the pacs.002 that reported its status.

Classification comes next. Every entry carries a bank transaction code with a domain, a family and a sub family. Payments sit in the PMNT domain. Received and issued credit transfers have their own families, RCDT and ICDT, and the sub family narrows it to a cross border transfer, a return or a fee. Codes let a machine route an entry. Free text does not.

Then the amount and the dates. An entry carries the booked amount, a credit or debit indicator, a status of booked or pending, a booking date and a value date. Keep the two dates apart. The booking date is when you recorded the movement. The value date is when the value was good, which on a chain is the moment the transfer reached your confirmation count.

Finally the settlement detail. Name the chain, the token, both addresses and the transaction hash. Schemes differ on where that detail sits, so many institutions carry it in structured remittance information or supplementary data. Wherever it sits, it has to be in the file. The hash is what makes the entry independently verifiable.

A statement entry that carries a hash is not an assertion, it is a receipt. Anyone holding the file can check the movement against the chain without calling your desk, and that is the difference between a reconciliation and an argument.

How do you set a statement cut off against a rail that never closes?

Pick one cut off, express it in a named time zone, and apply it to every chain and address you report. A cut off that drifts is worse than one that is inconvenient. Counterparties build their own books on your file, and the periods have to line up.

Then write down the rules that hang off it. Set the confirmation count per chain that moves an entry from pending to booked. Decide what happens to a transfer that confirms after the cut off. It belongs to the next period, and must never be pulled back into one you have closed.

Decide how a chain reorganisation is handled, because a deep one can unwind an entry you have already published. The treatment is an adjusting entry in the current period, never a rewrite of a statement already sent. Where a correction is unavoidable, reissue it with its own identification and a reference to the one it replaces. A quiet restatement breaks the ledger at the other end.

What does the daily reconciliation run actually look like?

The run has a fixed shape. Work it in order, and record the output of each step. An examiner will ask how a balance was proven, not whether it was.

  • Pull the chain history for every address you report, for the period the statement covers, at the confirmation depth your policy names.
  • Rebuild the closing balance from the opening balance plus every credit minus every debit, then compare it to the balance the chain shows.
  • Match each entry to an instruction by UETR first, then by end to end identification, then by amount, token and counterparty address.
  • Book network fees separately against the funded gas position, so no payment amount is quietly reduced by a cost.
  • List unmatched credits, which are transfers that arrived with no instruction behind them, and quarantine them rather than applying them.
  • List unmatched instructions, which are transfers already broadcast that have not reached the confirmation depth yet.
  • Age every open break by day, and escalate anything older than the limit your policy sets.
  • Sign the run off by name, attach the statement file and the chain evidence, and store the two together.

Two habits make the run cheap. Reconcile every day, weekends included, or a rail that runs on Saturday hands you a Monday holding three days of movement. And reconcile to the chain, not only to your own database. A ledger that agrees with itself proves nothing.

Which reconciliation breaks appear most often, and how are they treated?

Most breaks fall into a short list, and each one has a standard treatment.

An unexpected credit is a transfer to your address with no matching instruction. Screen it, quarantine the value, and apply it to no customer until the sender is identified. Sending it back is a new payment with its own screening, not a reversal.

A timing break is a transfer broadcast before the cut off that confirmed after it. Nothing is wrong. It belongs to the next period, and the ageing report should show it as such rather than as a loss of value.

An amount break usually comes from a fee taken from the wrong pocket, or from a token whose decimal precision differs from the one your ledger assumed. Fix the mapping once, in the code that reads the chain, not by hand every morning.

A wrong chain or wrong token deposit is the expensive case. The right token on the wrong network, or a similar token from a different issuer, will not credit the account you expected. Treat it as an incident rather than a reconciliation item, and involve compliance before anyone moves it.

A duplicate entry is the last common case, usually created by a poller that read the same block twice. Idempotency on ingest, keyed on the transaction hash and the log index, removes the whole class in one change.

Where StableNet fits

StableNet, built by SpendTheBits, is a cross border B2B payment and settlement platform for banks, credit unions, licensed money service businesses, exchange houses and remittance fintechs. Settlement runs in regulated stablecoins such as USDC and USDT on public blockchains and completes in minutes with on chain auditability, so every statement entry traces to a transfer anyone can verify. The platform is ISO 20022 native, with pacs.008 customer credit transfers, pacs.009 interbank legs, pacs.002 status reports and pacs.004 returns inside head.001 envelopes, tracked end to end by UETR, so a statement entry, its instruction and its status report resolve to one payment. Compliance is built in, with KYB and KYC onboarding, KYT, sanctions and PEP screening, FATF Travel Rule data in IVMS101 form, a compliance workbench and a tamper evident audit trail. SpendTheBits is a Bank of Canada registered payment service provider and a named finalist in the Swift Hackathon 2026 Technical Challenge.

See it on your corridors

Book a working session and we’ll map StableNet’s compliance and settlement to one of your live payment flows.

FAQ

Common questions

camt.052 is an intraday account report and is provisional. camt.053 is the statement for a closed period and is authoritative. camt.054 is a debit credit notification for a single movement as it happens. Fund payments from camt.052, act on camt.054, and reconcile on camt.053. A movement announced in a camt.054 must appear in the camt.053 statement covering the period that contains it.