10000. Deployed addresses are on the addresses page.
PaymentEscrow
The primary money path. Buyers hold an internal deposit balance; a relayer-signed debit charges against it and splits the amount inline. EIP-712 domain:UtterEscrow version 1.
debit checks
debit enforces, in order:
- The
nonceis unused (usedNoncemapping). validBeforehas not passed.amount <= maxAmount.- The EIP-712 signature over the authorization recovers the buyer.
- The resource is active in the registry.
toCreator = amount * creatorBps / 10000, toTreasury = amount - toCreator, crediting internal balances. An underfunded debit reverts on balance underflow, so the buyer’s balanceOf is the effective reservation.
DebitAuthorization type
Events
The
Debited event carries both split legs, so settlement and the split are one transaction. See the escrow response gate.
ResourceRegistry
On-chain config keyed bybytes32 resourceId.
Roles
Slashing (two-step)
Slashing has a dispute window so a creator can contest a strike-driven slash before funds move:slashAuthorization(bytes32 resourceId, uint256 amount, string reason)records a pending slash. ASLASH_DISPUTE_WINDOWof 1 day starts.cancelSlashAuthorization(...)disputes and cancels the pending slash during the window.consumeSlashAuthorization(...)is called by the vault after the window to finalize.
StakingVault
Per-resource USDC bond custody plus an insurance pool. Funds never leave the vault on a slash; they move from a bond into the pool.PaymentSplitter
The flat-path splitter for theexact scheme. It holds a balance and flushes it on demand.
ERC-8004 reference registries
The reference identity, reputation, and validation contracts an Utter resource is registered against.
See ERC-8004 identity.