Custody reconciliation keeps every difference a registrar file reconciliation finds on record in a break register. A break stays open until a later clean run closes it, until a resolution or write-off is applied after the required approvals, or at once when the custody-ops approval family is off. The Reconciliation tab shows that register.
A separate reserve check compares the supply of a custody receipt, the token that represents coins held at custody addresses, with the coins held at those addresses. A difference it finds raises an operations case labelled “Balance difference”. The concept page describes both. The platform does not read the custody provider's own statements, so compare those statements separately, outside the platform.
Steps
Open the break register
In the sidebar, open “Custody” under “Business operations”, then Reconciliation.
The tab shows the “Reconciliation break register”. A registrar file reconciliation, which compares a registrar's holder file with the chain, opens a break for every holder line that does not match, but only when an Owner or platform administrator ran it. The platform identifies a break by wallet, asset and cause.
The register shows up to 200 matching breaks, longest age first. If more than 200 match, narrow “Status” or “Cause” to reach the rest. Each row shows “Wallet”, “Asset”, “Trade”, “Amount”, “Cause”, “Age”, “Owner”, “Status” and “Actions”. “Asset” and “Amount” show the token's symbol and unit where the platform knows them, and base units where it does not. When nothing matches, the table reads “No breaks match these filters”.
- Cause is “External” for a break that a registrar file reconciliation opened. The filter also offers the other causes a break can carry, including “Other”.
- Age counts weekdays from the break's first sighting to the latest run that saw it. It changes only when a run touches the break. It falls in the buckets 0 to 1, 2 to 5, 6 to 10 and more than 10 days. The organisation's holiday calendars do not apply.
- Amount shows a dash in the table, and “Unavailable” in the break's sheet, when the platform does not know the break's amount. The platform keeps that amount empty and never writes it as zero.
The register opens on “Open” breaks. “Status” and “Cause” are menus. Choose a value to narrow the list, or “All” to drop that filter. Choose a member in “Owner” and select Assign to give a break an owner, or choose “Unassigned” to remove it. When the member directory cannot be read, the field takes the member id instead.
A later registrar file reconciliation keeps updating an open break instead of creating a duplicate. A run that finds the same wallet, asset and cause clean sets the break to “Resolved automatically”, with no note or approval. The platform rejects a pending resolution request when the break's amount changes or when a clean run clears the break.
A closed break is never edited again, and it cannot be assigned or moved: its sheet says the break is closed and offers no status change. If a difference returns after a resolution, the platform opens a new break linked to the closed one. A write-off covers the difference it was approved for. While the same amount keeps showing in every run since the write-off, no new break opens. A clean run ends that cover, so if the difference returns or changes, the platform opens a new linked break. The approved write-off, its note and its maker and checker stay as recorded.
Review withdrawal destinations
Below the register, the “Withdrawal destinations awaiting review” table lists the addresses that investors proposed as withdrawal destinations and proved they control by signing. Each row shows the customer, the destination address and when it was proved. The Actions inbox also lists each one as a “Review withdrawal destination” row, with a “Review destination” link to this tab.
Select Clear to make a destination active, or “Refuse” to reject it for good. Both ask for a reason. The user who proved a destination cannot review it, and neither can an administrator who proved it while acting as that user. Their row shows that another custody operator must review it, with no buttons. On each network, an address can be active on only one investor's entry. Clearing another investor's entry for that address on the same network is refused.
What the platform checks
- Scope. Each organisation sees only its own breaks. Reading or changing a break needs the organisation's Owner role or platform administrator access.
- Precision. Every amount is an integer in the asset's smallest unit, carried as text, so no total loses precision.
- Audit. The platform records the read as a sensitive read and the assignment and status change as changes. The assignment and status change need a fresh session, not a cached one.
Troubleshooting
The tab shows an access message instead of the register
Custody is managed by organisation owners and platform administrators, so ask an Owner for access. If the message says custody operations are not enabled, the deployment has them switched off and the Console hides the register.
A resolved or written-off status did not apply
With the “Custody operations” approval on, the change waits for a second user. Check that a different Owner or platform administrator approved the request in the “Actions” inbox, then open the break with “Review” and select Complete checker approval. The control stays on the sheet after a reload. If the approver rejected the request or it expired, the same control closes it and the sheet offers “Save status” again. A different note or status than the one approved is refused while the request waits.
API routes
The Console reads and writes the break register through routes that serve the Console only. The platform marks them as Console routes, so the Platform API reference does not publish them. The published reporting routes offer a break-ageing report, which reports the register's breaks by age. A reporting obligation can include it in its report set. GET /api/ lists it when the deployment's report catalogue includes it.