Reference
Protocol reference
Contracts, state machines, invariants and the parameters, with the calls to read them yourself.
Contracts
- ProbeLog: the service registry, the prober set and every posted window. One storage word per service, hour and prober.
- BondBook: bonds, legs, tranches, premium accounting, settlement, exits, the ETH distribution over $PBI backing, and
isBonded. - Compensation: slashed USDG, customer roots, claims and the compensation reserve.
- PasskeyAccountFactory: deterministic accounts controlled by a WebAuthn passkey, used by Go mode.
- TimelockController (OpenZeppelin): owner of the three, 48 h minimum delay.
State machines
Service: Watched, Claimed, Open, Active, Breached, Lapsed, Retired. Epoch: Probing, Closed, Settled, Claimable. The protocol page draws both and reads every parameter live.
Invariants
I1 cash, I2 cap, I3 first loss, I4 order, I5 no dodge, I6 bounded compensation, I7 owner. A stateful fuzzer checks them after every call, 8,192 calls per invariant on every build, next to unit tests and fork tests against this chain with real USDG.
Read it with cast
cast call $BONDBOOK "getParams()((uint16,uint16,uint16,uint16,uint16,uint16,uint32,uint16,uint32))" --rpc-url $RPC cast call $BONDBOOK "getBond(uint256)" 1 --rpc-url $RPC cast call $PROBELOG "latest()" --rpc-url $RPC cast call $PROBELOG "epochStats(uint256,uint256,uint256,uint8)(uint256,uint256,uint256)" 1 $FROM $TO 255 --rpc-url $RPC cast send $BONDBOOK "settle(uint256)" 1 --rpc-url $RPC --private-key $KEY