Treasury Bridge Reconciliation: What to Know Before Automating

Treasury Bridge Reconciliation: What to Know Before Automating


Cross-chain payout reconciliation is the process of matching a treasury instruction to the source debit, each bridge or swap step, and the final destination credit. The key condition is whether the route settles directly or through multiple asynchronous steps, because one transfer can produce several transaction hashes and more than one token amount.

When a payout uses an aggregator such as Super Bridge to compare routes across providers, store the selected route and its execution identifiers with the payment instruction. If your team handles Super Bridge transfers, this record lets an operator trace a delayed credit without relying on a route label or a “complete” badge.

What should one reconciliation record contain?

One business payment should have one stable internal payment ID, even when its route has several onchain transactions. Keep that ID separate from every provider quote ID, bridge message ID, and chain transaction hash; they identify different objects and may not be available at the same time.

At minimum, capture the requested source and destination chains, token contract or mint, recipient, requested amount, minimum destination amount, fee and slippage settings, quoted route, and quote expiry. On execution, append the source transaction hash, each intermediate transaction or message ID, the destination hash, actual debited and credited amounts, timestamps, and status evidence. Preserve the quote response and the provider’s route identifier: routes can change between quote and execution.

Use integer base units in the ledger and record token decimals as metadata. For example, if a payout requests 1,000 USDC and a route charges 2 USDC equivalent in fees, a destination credit of 998 USDC may be correct; a record that stores only “1,000 sent” cannot distinguish expected fees from a short payment. Record the exact fee token and amount as well as the destination minimum accepted by the treasury.

When is a transfer settled enough to reconcile?

Reconcile each chain leg against that chain’s required finality, then reconcile the business payment only when the destination credit meets policy. A source transaction appearing in a block proves that a leg was included; it does not prove that a relayer executed the next leg or that the recipient received the expected asset.

For example, Solana RPC distinguishes processed, confirmed, and finalized; a processed transaction can be rolled back, while finalized is the strongest commitment level. A treasury policy may accept confirmed for low-value, time-sensitive credits and require finalized for high-value ones, but it should set that threshold explicitly per chain and risk tier. Solana’s RPC documentation defines these commitment states.

Keep execution status and settlement status separate. “Submitted,” “source confirmed,” “destination pending,” and “settled” are useful states; a provider’s single “success” flag may refer only to its own execution workflow. Require an onchain destination event or balance delta for settlement, and retain the evidence used to decide.

How should you handle duplicates, delays, and partial outcomes?

Make reconciliation idempotent: the same webhook, scan result, or operator retry must not create a second payment or credit. Enforce uniqueness on the internal payment ID plus chain and transaction hash, and separately on provider message IDs where present. Store raw events before applying ledger changes so a parser fix can replay them safely.

For each route, define a timeout that triggers investigation, not automatic resubmission. A delayed destination leg may still execute after the source debit is final; sending the payout again can double-pay. On timeout, check the source receipt, bridge or provider message state, destination chain, and recipient token balance. Escalate with all known identifiers, and retry only when the route’s failure semantics establish that no destination execution can still occur.

Also model partial outcomes explicitly. A swap may execute at a worse rate but remain above the configured minimum; a multi-hop route may complete one leg and stall before the next. Compare the actual credited amount with the instruction’s minimum, account for fees in their actual tokens, and send any shortfall or excess to an exception queue for approval rather than silently marking the full invoice paid.

What should the team automate first?

Automate evidence collection and duplicate prevention before automatic recovery. Poll or subscribe for source and destination evidence, persist every status transition, and alert when a route exceeds its expected completion window; set the window from observed provider and chain data rather than a universal timer. For Super Bridge and other aggregators, retain the chosen route snapshot so finance can explain why the executed path and fees differ from a later quote.

Start with a small set of recurring payouts and reconcile them manually against onchain records. Once the ledger consistently matches source debits, fees, and destination credits, automate routine matching and leave timeouts, minimum-amount breaches, and ambiguous statuses for review.

Report Page