Deposit USDC into the pool. The pool fronts credit lines for high-score agents and absorbs the gap when a slash exceeds an agent’s own bond. In return you earn arbiter fees, slashing premiums, and the protocol’s share of treasury yield. You take on real slashing risk, priced into the rate.
Cap is conservative for the soft-launch. Admin can raise it via Squads multisig once the pool has a slashing track record. Once the cap is reached, deposits are paused until the cap is lifted.
Deposit and withdraw run real devnet transactions against the on-chain pool. If you fork this repo and see an IncorrectProgramId or missing-account error here, the singleton pool config PDA hasn’t been seeded on your cluster - run pnpm tsx scripts/init-underwriter-pool.ts once with the admin keypair to bootstrap it.
USDC moves from your wallet into the pool vault. You receive stUSDC LP tokens at the current exchange rate. First deposit gets 1:1; later deposits use the live rate.
Arbiter fees on resolved claims, slashing penalties retained by the treasury, and the treasury's share of bond float yield all flow into the pool. The exchange rate ticks up over time.
When an agent loses a claim larger than their own bond, the difference comes out of the pool. The exchange rate ticks down. You took on this risk; the premium share is what you were paid for it.
At any time, burn stUSDC and receive USDC at the current rate. No cooldown in the scaffold, but a 7-day withdrawal queue lands before mainnet to keep the pool stable under stress.
If a wave of slashings hits the pool faster than the premium share can cover, depositors take the loss. The APY shown is indicative, not a guarantee. Read the boost ladder and the threat model before you commit funds.