Skip to main content
ISO 20022 CAMT.053 is a standard bank-to-customer statement format used for treasury reconciliation. Circle Mint generates one CAMT.053.001.13 XML file per calendar day (UTC), covering all USDC and EURC activity on your account. You retrieve the file through the Circle Mint API and parse it to reconcile balances, match transactions, and integrate with your treasury systems.
This page covers Circle Mint accounts. For Managed Payments, request the camt_managed report type instead of camt053. See Managed Payments reporting.

Availability and SLA

  • Coverage: Each report covers the prior calendar day from 00:00 through 24:00 UTC.
  • When it’s ready: Circle delivers the report by 06:00 UTC the next day, typically around 02:00 UTC.
  • One file, multiple currencies: Circle delivers USDC and EURC statements in a single XML file as separate Stmt blocks.
Subscribe to the Circle status page to receive updates on CAMT.053 outages.

Retrieve the report

Retrieve the CAMT.053 report by first calling Request a report with reportType: camt053 and date in YYYY-MM-DD format (the UTC calendar date the statement covers), then use the returned id with one of the following endpoints:
  • Get report by ID: Returns JSON with a data object that includes downloadUrl and expiresAt. Download the XML from downloadUrl before the time indicated by expiresAt.
  • Get report content: Returns the raw XML as application/xml. The response uses a Content-Disposition attachment filename such as camt053_YYYY-MM-DD_report.xml.

Read and reconcile the report

File format at a glance

The report uses ISO 20022 CAMT.053.001.13 XML structure. See the ISO 20022 message definitions catalog for official message definitions.
  • The file uses namespace urn:iso:std:iso:20022:tech:xsd:camt.053.001.13.
  • The root is DocumentBkToCstmrStmt → one or more Stmt elements.
  • Each Stmt is one account and currency.
  • Inside a statement you will see opening and closing balances and Ntry (entry) elements. There is one Ntry per movement that affects the balance.

Balances

Each Stmt includes opening and closing balances for the report date:
  • OPBD: Opening booked balance for the report date.
  • CLBD: Closing booked balance for the report date.
Each balance has an amount with Ccy (currency), CdtDbtInd (credit or debit side of the balance), and a timestamp. For reconciliation, check that the opening balance plus the sum of credits and debits aligns with the closing balance for that statement.

Currency vs token

Standard ISO 20022 fields follow ISO 4217. They use three-letter currency codes on Amt and related standard elements:
  • USD for USDC transactions, for example <Amt Ccy="USD">.
  • EUR for EURC transactions, for example <Amt Ccy="EUR">.
Circle preserves the full token identifier (USDC or EURC) on each transaction line. At the transaction level it follows the path NtryNtryDtlsTxDtlsSplmtryDataCircleTxnToken. Use both when you need to match fiat-style accounting codes and token identifiers.

Transaction entries (<Ntry>)

Each Ntry is one transaction line. Important children include the following:
  • Amt: Amount and ISO currency on the amount (USD or EUR).
  • CdtDbtInd: CRDT (credit) or DBIT (debit).
  • Sts: Booking status appears in Cd with the following possible values:
    • BOOK: Booked
    • PDNG: Pending
    • RJCT: Rejected
    • FAIL: Failed
  • BookgDt: Booking time in DtTm, UTC (ISO 8601).
  • BkTxCd: Circle’s label for the transaction type, found under Prtry / Cd. Unmapped types appear as Unknown.

Transaction type codes

The value at BkTxCdPrtryCd is case-sensitive. Circle Mint and Managed Payments use different code sets, so select the table that matches the reportType you requested. Your parser should continue accepting unknown values so that a newly introduced transaction type doesn’t stop reconciliation.
The camt053 report emits the following values:

Circle transaction details (CircleTxn)

Circle adds detail under NtryNtryDtlsTxDtlsSplmtryData where PlcAndNm is CircleTransactionData. Inside the envelope, CircleTxn uses namespace urn:circle:camt053:transaction. The following child elements may appear on a transaction line. This list isn’t exhaustive. Your parser must tolerate additional elements, and any of the following fields may be absent on a given line.
  • TransactionId: Identifier for the movement.
  • JobId: Related job identifier.
  • Token: Full token identifier (USDC or EURC).
  • CustomReferenceId: Customer-provided reference when supplied.
  • ExternalReferenceId: Electronic Funds Transfer (EFT) reference when supplied, for example IMAD or UETR.
  • Blockchain: Blockchain identifier when the movement is onchain.
  • TransactionHash: Onchain transaction hash when present.
  • Source: Originating party or address when populated.
  • SourceType: Type of source when populated, for example, fiat account or blockchain address.
  • Destination: Receiving party or address when populated.
  • DestinationType: Type of destination when populated.
  • CustomerId: Customer association when present.
Use these fields to tie a line back to APIs, onchain activity, or your records.

Example truncated statement

The following example shows the header, one statement with opening and closing balances, and one abbreviated entry. It’s only for orientation. Your real files can contain many entries and a second statement for the other currency.
Example CAMT.053 fragment

See also