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

—USDC staked on Megapot

Ethereum Sepolia→Base 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 →