Prove the reserves, then settle. Never the other way.
A USDC settlement rail that physically cannot settle past what has been proven. Every settlement is checked against the signed proof-of-reserves attestation, on-chain and in the operator agent. Push past the gold line and the transaction reverts.
How it works
two layers, one invariant
On-chain (ArcSettlement.sol): settle reverts with InsufficientReserves, StaleAttestation or FutureAttestation. Effective reserves are the attested USDC figure less any redemption the current attestation has not yet observed, so redeeming cannot reopen headroom. Off-chain: the agent runs the same check before broadcast, so it never wastes gas on a doomed tx, and every decision is recorded.
Simulated, not a testnet receipt. This page runs the contract's gate logic in
the browser, so there is no transaction hash and no block number to show, and it does
not invent any. What is real and checkable: the event signatures, their argument
lists, and the topic0 hashes below all come from
src/ArcSettlement.sol. Run cast keccak "Settled(address,uint256,uint256,uint256,uint256)"
to confirm. A refused settlement is shown the way a chain reports one, as an
eth_call revert with the contract's own 4-byte error selector, not as an
event, because a reverted transaction emits nothing.
No events yet. Settle, redeem, attest, or push past reserves.
Ledger
No settlements yet. Try settling within reserves, then past them.
What am I looking at?
Settled / within reserves
Settled supply grew, still under the proven reserves cap. The Settled event carries the new supply and the reserves it was checked against.
Revert
The settlement would exceed proven reserves (InsufficientReserves) or the attestation is stale (StaleAttestation). On-chain it reverts and emits nothing, off-chain the agent refuses. No supply change.
Redeemed
Supply falls, but settlement headroom does NOT reopen. The redeemed amount is booked as pendingRedemptions and netted off attested reserves until a NEW attestation observes the outflow.
Attested
The oracle proved more USDC reserves under a new attestation id. The gold cap moves right and headroom reopens.
Agent run trace
Each settlement runs the real agent steps: start run, reserve gate pre-check, ActionLimiter guardrail, then apply settle and record. A green tick passed, red failed.
Contract event log
Simulated in the browser. Real and checkable: the event signatures and topic0 hashes, and the 4-byte error selectors on a revert. No transaction hashes, because there are no transactions. Copy or download the log as JSON.
Replay / Reset
Replay walks the story: settle within reserves, settle past them, redeem, then attest and settle again. Reset clears supply, reserves, and the logs.