Public + Etherscan see only sealed handles and the green cap flag — never a single amount.
/verify for the on-chain event stream and tx hashes.npm run e2e:safe. Proof in /verify.| # | Call | Why |
|---|---|---|
| 1 | usdc.approve(cUSD, 25,000) | let the wrapper pull the float |
| 2 | cUSD.wrap(safe, 25,000) | USDC → cUSD 1:1 (float ≡ cap) |
| 3 | cUSD.setOperator(rail, 2026-09-30) | time-bound, revocable operator |
| 4 | rail.configure(treasurer, 25,000) | treasurer + PUBLIC budget cap |
/verify.setOperator(rail, quarterEnd)), not a Safe module. Same contracts, same owners, same signing queue. Revoke any time with one setOperator(rail, 0) from the queue.float ≡ cap) — so the worst case is the approved spend. The Safe’s unwrapped USDC is untouchable.le+select). The multisig queue shows who gets paid and the public cap — never how much.encrypted zero via select — on-chain indistinguishable from any other payout — while the publicly-decryptable “spend ≤ budget” flag stays true and leaks no amount.Owners approve the cap and the roster on the queue they already know. Every salary stays sealed, enforced against the cap in encrypted space — live on Ethereum Sepolia.