Skip to main content
Balanced books are not the same as correct books. A ledger can balance perfectly while missing a movement the chain recorded. Corridor reconciles in both directions: is everything the chains saw booked? and does each vault hold what the books say?
Reconciliation of observations against the ledgerReconciliation of observations against the ledger

Fig. 08 · Three observers, one observation shape, one matcher, and a vault check against the chain.

Observers

In a read-only pilot the same observers watch the customer’s existing wallets and reconcileReadOnly matches them against the customer’s own payout records instead of Corridor’s ledger. The Tempo observer resumes from a stored block cursor, so restarts neither miss nor double-count events.

Matching

Vault accounting from the chain

Memo-tagged movements are booked by the legs that make them. Two kinds of movement are not, and Corridor books them from the chain:

Gas

Tempo charges each fee as a TIP-20 transfer from the payer to the Fee Manager (0xfeec…0000). Every fee paid by a vault is booked to expense:gas, keyed by that log.

Funding

Deposits into a vault from an approved funding source (testnet faucet mints from the zero address; owner wallets on mainnet via CORRIDOR_FUNDING_SOURCES) are booked to equity:owner.
Movements are processed in chain order, so a top-up is booked before the fees it pays for. Anything else without a reference stays unreferenced: a deposit sent without a memo may be a customer’s money, so it is never credited automatically.

The vault check

To make the check meaningful, the console replays each vault’s whole history from its first funded block, which it finds by bisecting historical balances (firstFundedBlock). On Moderato:

The auditor’s view

Because the Zcash observer only needs a viewing key, an auditor can run it independently: import the vault’s unified full viewing key into a view-only wallet, sync, and reconcile the payouts it sees against the ledger. The key reveals exactly one customer’s period and cannot spend.