This governance proposal transfers 160,000,000 CELO from the CeloUnreleasedTreasury contract to an Opera-controlled Safe, transitioning Opera from a distribution partner to a long-term network stakeholder. The transfer uses a temporary registry swap pattern (same as CGP-0207).
This proposal marks the first joint initiative from Celo Core Co. following the recent unification of cLabs and the Celo Foundation (Celomorphosis).
Opera has driven meaningful user adoption of Celo through MiniPay, the self-custodial stablecoin wallet that has surpassed 13M users across 66 geographies, with over 40 Mini Apps and real-world use cases. The partnership has produced all-time highs in network activity with 700K+ DAUs and 4.23M+ WAUs of USDT — more than any other chain.
The current structure of recurring governance proposals limits long-term planning. This proposal shifts the partnership from a short-term, proposal-based funding model to a long-term, aligned partnership by:
Opera also brings access to hundreds of millions of users globally, including 60M Opera Mini users with access to points ready to potentially convert to cash redemption within MiniPay.
This proposal requests a one-time transfer of 160,000,000 CELO from the unreleased treasury to an Opera-controlled Safe to support a three-year partnership.
| Milestone | CELO | $ Value at 30d-avg of $0.0771 |
|---|---|---|
| Community Grants (2026 – Q3 2029) | 95,802,412.45 | $7,386,366 |
| CELO Native Token Integration | 3,242,542.15 | $250,000 |
| Ramp Infrastructure & Maintenance | 3,242,542.15 | $250,000 |
| Expanded Asset Support and Forthcoming Product Launches | 10,700,389.11 | $650,000 |
| Additional Growth Budget | 46,368,352.79 | $3,575,000 |
| TOTAL | 159,356,238.65 | $12,286,366 |
The requested CELO will be transferred in a single transaction to an Opera-controlled Safe upon approval of the proposal.
Success will be evaluated across adoption, ecosystem growth, and engagement metrics including: MiniPay active user growth, Mini App launches and usage, transaction volume, onchain activity driven through Opera-integrated products, and geographic expansion across priority markets (LATAM, Southeast Asia, APAC, Sub-Saharan Africa).
Quarterly reporting will continue as established:
The CeloUnreleasedTreasury contract holds unreleased CELO tokens and exposes a release(address to, uint256 amount) function restricted to the EpochManager via the onlyEpochManager modifier. Since governance cannot directly call release(), a temporary registry swap is required to authorize the transfer.
The contract's internal accounting (remainingBalanceToRelease) matches the actual balance (~287.7M CELO), so no storage correction is needed — the release() call will succeed as-is.
This is the same registry swap pattern used in CGP-0207, with a different amount and recipient.
| Field | Value |
|---|---|
| Proxy address | 0x7A8c7a833565fc428cdFBa20FE03fAfb178A434f |
| remainingBalanceToRelease | ~287,713,538 CELO |
| Actual balance | ~287,713,538 CELO |
| EpochManager (registry) | 0xF424B5e85B290b66aC20f8A9EAB75E25a526725E |
| Governance | 0xD533Ca259b330c7A88f74E000a3FaEa2d63B7972 |
This proposal executes 3 transactions atomically:
Registry.setAddressForEpochManager registry entry to the Governance contract (0xD533Ca259b330c7A88f74E000a3FaEa2d63B7972)onlyEpochManager checkCeloUnreleasedTreasury.releaserelease(0xF2eb5933F4585625157Fa8624a9AB91152aBD751, 160000000000000000000000000)Registry.setAddressForEpochManager to 0xF424B5e85B290b66aC20f8A9EAB75E25a526725ESee mainnet.json.
Verify the proposal transactions:
celocli governance:show --proposalID <PROPOSAL_ID> --jsonTransactions cgp-0232-proposal.json --node https://forno.celo.org
Verify the EpochManager address is correctly restored after execution:
cast call 0x000000000000000000000000000000000000ce10 "getAddressForStringOrDie(string)(address)" "EpochManager" --rpc-url https://forno.celo.org
# Should return 0xF424B5e85B290b66aC20f8A9EAB75E25a526725E
Verify the treasury accounting is consistent:
cast call 0x7A8c7a833565fc428cdFBa20FE03fAfb178A434f "getRemainingBalanceToRelease()(uint256)" --rpc-url https://forno.celo.org
# Should be ~127.7M CELO (287.7M - 160M)
EpochManager. Any contract querying the registry for EpochManager during this window would get the Governance address. Since all transactions execute atomically within a single governance execution, there is no window for external exploitation.remainingBalanceToRelease. The 160M transfer is well within bounds.remainingBalanceToRelease will equal ~127.7M CELO. Future release() calls by EpochManager will continue to work correctly.