—USDC staked on Megapot
The Zama Protocol runs on Ethereum; Megapot exists only on Base. So the confidential ledger and the lottery position live on different chains, joined by Circle CCTP — with the destination fixed at burn time, which makes the keeper a liveness dependency rather than a custodian.
Where the money goes
Ethereum Sepolia → Base SepoliaYield leaves the confidential pool, crosses to Base over Circle CCTP, and buys tickets in the live Megapot jackpot. Winnings return the same way and become the prize a confidential draw awards. Every figure below is read live from the chain it belongs to.
harvest() splits realised yield by the depositors' own allocations — the ratio of the two tracks' ticket totals is exactly their stake-weighted average — and the rest funds the main prize. Principal is never touched.depositForBurn burns the USDC and names the recipient at burn time. Circle attests after hard finality; anyone can then complete the mint. The keeper can stall the transfer but cannot redirect it.harvest() works — but no principal has been invested on this deployment yet, so there is no realised yield to earmark and nothing to burn. This fills in the moment the first harvest lands.purchaseTickets credits the agent directly — pooled accounting, not NFTs, so a contract is a first-class participant.MPUSDC, its own free-mint test token — not the USDC CCTP delivers. The agent therefore pays in MPUSDC here. On Base mainnet Megapot settles in real USDC and the bridged funds pay directly, with no substitution.PrizeInbox — an address with no owner and no rescue function, whose only exit is into the prize reserve. Winnings can never become principal.Megapot leg — Base Sepolia
Nothing allocated yetHarvested yield crosses to Base over Circle CCTP and buys tickets in the live Megapot jackpot. Winnings come back and become the prize the confidential draw awards.
Contracts in this route
Every address is live. Follow any of them to check the figures on this page yourself.