Scalehouse locks the evidence before anyone pays. contracts/src/ScaleTicket.sol records a ticket with payee, posted rate and quantity at cut, takes a witness count via confirm or gasless confirmBySig (EIP-712), recomputes the amount itself in release, and freezes mismatches with TicketFrozen and ReleaseRefused events instead of reverting. Per-house setLimits daily caps and setPayeeCap exposure an agent can only lower live on-chain, and settlement is non-custodial from owner to payee. The agent in web/lib/agent/run.ts is an OpenAI tool-calling loop with eight strict tools (screen_counterparty, release_ticket, defer_ticket, lower_payee_cap) that signs through a Circle developer-controlled wallet (web/lib/circle.ts) and emits AgentDecision rationale hashes. ScaleTicket is verified on Arc mainnet (chain 5042) at 0x8b5355CD5Ed88F6E70eA47C9dacC8bD2015A3BF7, and a testnet twin at 0x321322aC12e419111E27781c5B2618fCB97AC7b7. Circle-wallet auto-approve checkers (web/lib/autoapprove.ts), a USDC blocklist screen and a public attack lab round it out.
| Contract | Address | Proof |
|---|---|---|
| ScaleTicket | 0x8b5355CD5Ed88F6E70eA47C9dacC8bD2015A3BF7 | Sourcify ✓ |
1 (Solo) — Uzoechi Raphael
Weighed in public. Paid once. Evidence-locked payments on Arc: an AI agent decides when to pay; a contract decides what is owed and to whom.