Next prize building
USDC
Tickets
sealed
Round
no round
Cross-chain

USDC staked on Megapot

Ethereum SepoliaBase Sepolia

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.

Tickets held
Share of round
Won so far
House edge

Where the money goes

Ethereum Sepolia → Base Sepolia

Yield 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.

Ethereum Sepolia
Yield is earmarked0xD554…e04b
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.
ticket budget
— USDC
routed to Megapot
0.0%
prize reserve
— USDC
2
Ethereum Sepolia → in flight
Burned to CCTP
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.
bridged so far
0.00
route
domain 0 → 6
finality
hard (2000)
Nothing has crossed yet. The route is wired and a yield venue is deployed, so 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.
3
Base Sepolia
Minted to the ticket agent0xB308…9730
CCTP mints native USDC to the agent — and only the agent. From here the single permitted path is tickets, then winnings, then home.
arrived via CCTP
0.00 USDC
spent on tickets
4
Base Sepolia
Tickets bought0x6f03…c5De
purchaseTickets credits the agent directly — pooled accounting, not NFTs, so a contract is a first-class participant.
tickets held
share of round
jackpot pot
settles in
Testnet substitution. Megapot's Sepolia jackpot settles in 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.
5
Base Sepolia → Ethereum Sepolia
Winnings come home0xeF8A…0E87
Winnings bridge back to the PrizeInbox — an address with no owner and no rescue function, whose only exit is into the prize reserve. Winnings can never become principal.
won so far
claimable now
house edge
6
Ethereum Sepolia
One depositor wins — privately0xD554…e04b
Back under encryption. The draw picks a ticket nobody can decrypt, and every claim — winning or losing — is the same transaction. Only the winner ever learns the outcome, by decrypting their own balance.
rounds run
0
tickets in play
winner
encrypted

Megapot leg — Base Sepolia

Nothing allocated yet

Harvested 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.

Pool's share of the round
Staked / won on Megapot /
Jackpot pot size
Megapot round settles
House edge
No depositor has allocated any yield to Megapot yet, so all of it funds the main prize. This is not a switch anyone flips centrally — the share is whatever the pool's depositors chose, weighted by stake, and it reads zero until someone opts in and both tracks have had their ticket totals revealed.
Agent 0xB308…9730Base Sepolia

Contracts in this route

Every address is live. Follow any of them to check the figures on this page yourself.

Confidential poolEthereum Sepolia0xD554…e04b
Prize inboxEthereum Sepolia0xeF8A…0E87
Ticket agentBase Sepolia0xB308…9730
Megapot jackpotBase Sepolia0x6f03…c5De
Nothing on this page is confidential — it is all pool-aggregate activity, at a granularity the pool already publishes. Which depositor ends up with the money is decided back on Ethereum, under encryption. Back to the app →