Bound
Contracts

ReserveVault

The pre-funded payout — locked USDC that absorbs the worst case.

CDN6S5DKUCC4O33L3RGTTO4LYNJVPLPIYYZTUANPJJZYAHZCR32O4WFB

The vault is what makes a bound different from a promise. The money is deposited before the certificate means anything, and cannot be withdrawn while the certificate is live.

Functions

FunctionAuthNotes
initialize(operator, challenge_manager, token, unlock_at)onceunlock_at is the certificate expiry
deposit(amount)operatorLocks the reserve
get_balance() -> i128viewThe actual locked balance — the on-chain truth
release_to_victim(victim, amount)ChallengeManager onlyThe compensation path
release_to_operator()operatorReverts reserve_still_locked if now < unlock_at

Why get_balance is the important one

It is a public view, so anyone — the auditor before attesting, the counterparty before transacting, a challenger looking for fraud — can read the real number for free and compare it to the certificate's claim. No trusted reporter sits between the money and the reader.

Scope

One vault serves one operator with a single balance; there is no per-certificate segregation in the current deployment. An operator running several certificates backs them from one pot, so read the balance rather than assuming a certificate has exclusive claim to it. Trust model lists this among the known limits.

On this page