Celo Wallet: Send CELO and Stablecoins on the Celo L2
Updated , 8 minute read
A Celo wallet holds CELO and stablecoins such as USDT, USDC and Mento's local-currency coins on Celo, which has been an Ethereum layer 2 since March 2025. Keylo creates the wallet in your browser and signs every transaction locally, paying fees in CELO. Payments are fast and cheap, but withdrawals to Ethereum and token duality are worth understanding first.
Celo at a glance
- Native coin
- CELO
- Chain ID
- 42220
- Network type
- Ethereum layer 2 on the OP Stack since March 2025
- Block time
- About 1 second
- Data availability
- EigenDA, settling to Ethereum
- Testnet in Keylo
- Celo Sepolia
On this page
- What is Celo now that it is an Ethereum L2?
- Celo addresses and CELO token duality
- How to create a Celo wallet with Keylo
- How to receive CELO and stablecoins
- How to send CELO or stablecoins
- Celo fees: CELO for gas, with an L1 data component
- Stablecoins and tokens on Celo
- Swap or bridge CELO
- Practise on Celo Sepolia
- Celo safety tips
- Frequently asked questions
What is Celo now that it is an Ethereum L2?
Celo launched in 2020 as an independent, mobile-first layer 1 focused on payments. In March 2025, at block 31,056,500, it completed a long-planned migration and became an Ethereum layer 2 built on the OP Stack. Balances, addresses and contracts carried over unchanged, but blocks now come every second instead of every five, ordering is handled by a sequencer, transaction data goes to EigenDA, and the chain settles to Ethereum.
Celo's focus did not change. It is built for stablecoin payments, especially on phones and in regions where bank accounts are expensive. Apps like Opera's MiniPay wallet use it to send dollars cheaply, and Mento's local-currency stablecoins for currencies like the euro, the Brazilian real and the Kenyan shilling live here. CELO is the native coin used for gas and governance.
The move to Ethereum was about sharing security and liquidity. As an L2, Celo inherits Ethereum's settlement guarantees, gains a native bridge to Ethereum and can tap tooling built for other OP Stack chains. For holders nothing had to be done: the same addresses and balances simply continued on the new architecture, which is why any message asking you to migrate or claim CELO after the upgrade is a scam.
Celo addresses and CELO token duality
A Celo address is a standard 0x address, the same one Keylo shows on Ethereum and every other EVM chain. There is no activation step or memo. Old Celo wallets sometimes used a Celo-specific derivation path, so a phrase from a very early Celo wallet may show a different address in Keylo, which uses the common Ethereum path.
CELO has a quirk called token duality: it is the native coin and an ERC-20 token at the same time, backed by the same balance. Apps that expect ERC-20 tokens can use CELO directly without wrapping. If an explorer or app shows CELO both as your native balance and as a token, it is the same money counted from two angles, not a duplicate you can spend twice.
How to create a Celo wallet with Keylo
Keylo's servers store only the encrypted wallet and never see your password, phrase or keys, so Keylo cannot move your funds or recover them. You can import a 12- or 24-word phrase from MetaMask, Valora or another wallet; if that wallet used the standard Ethereum path, the same address appears. If the balance looks empty, the old wallet probably used a different path.
- 1
Go to create a wallet in any modern browser. There is nothing to install.
- 2
Enter your name, email, phone number and a strong password, then confirm your email.
- 3
Keylo generates a 12-word recovery phrase in your browser and encrypts it with a key derived from your password.
- 4
Select Celo from your networks to see your CELO balance and 0x address.
- 5
Back up the phrase from Settings after re-entering your password, and keep it offline.
How to receive CELO and stablecoins
Because Celo is now an L2, a transaction is confirmed by the sequencer within about a second and becomes final on Ethereum later, once the batch it belongs to is settled. For everyday payments the sequencer confirmation is what matters; exchanges and bridges handling large sums may wait longer before crediting.
Exchange support varies by asset. Many exchanges let you withdraw CELO on the Celo network, while stablecoin withdrawals to Celo are offered by fewer of them. If your exchange does not list Celo for USDT or USDC, you can withdraw on another supported network and bridge across, accepting the extra fee, rather than forcing a withdrawal to a network the exchange does not support.
- 1
Open CELO or a stablecoin on Celo and tap Receive.
- 2
Copy the 0x address or show the QR code. The Celo label confirms the network.
- 3
On the exchange or app sending funds, pick the Celo network, not Ethereum, Optimism or another chain.
- 4
Check Activity. Transfers usually appear within a couple of seconds, with a link to the explorer.
How to send CELO or stablecoins
Sending to a MiniPay user or another Celo wallet works like any EVM transfer: you only need their 0x address. Some Celo apps let people look up friends by phone number, but that mapping lives inside those apps. In Keylo, always paste the actual address and compare it carefully before you confirm.
- 1
Open the asset on Celo and tap Send.
- 2
Paste or scan the recipient's 0x address. Keylo checks the checksum and flags contract addresses.
- 3
Enter the amount or tap Max.
- 4
Pick slow, normal or fast, then review the exact amount and the network fee in CELO.
- 5
Confirm. Keylo signs in your browser and broadcasts the transaction.
Celo fees: CELO for gas, with an L1 data component
Celo uses EIP-1559 fees, so each transaction pays a base fee plus a small tip, and as an OP Stack chain it also includes a small charge for publishing transaction data. Keylo reads that data fee from the network and includes it in the estimate, so the review screen shows the full cost. Typical payments cost a tiny fraction of a CELO.
Celo is also known for fee abstraction, which lets compatible wallets pay gas in approved tokens such as USDT or USDC instead of CELO. Keylo pays network fees in CELO, so keep a small CELO balance even if you mostly hold stablecoins. Keylo adds no fee of its own to a normal send.
Stablecoins and tokens on Celo
Celo hosts native USDT and USDC as well as Mento stablecoins, the local-currency coins formerly known by names like cUSD and cEUR. Mento has been renaming them to an m-suffix style, such as USDm and EURm, without changing their contract addresses. You may therefore see both old and new names for the same token in different apps.
Tokens follow the ERC-20 standard and live at your 0x address. Before accepting or trading a stablecoin, compare its contract on the Celo explorer with the address published by its issuer, because copycat tokens with identical symbols are cheap to deploy on any EVM chain.
Mento stablecoins are designed to hold their peg through Mento's reserve and exchange mechanism, and USDT and USDC are backed by their issuers. Each has a different issuer and different risks. If you use Celo mostly for payments, it is reasonable to keep balances in the stablecoin your recipients actually use, and to swap only when you need to.
Swap or bridge CELO
Inside Keylo, the swap and bridge screen on Celo is powered by LI.FI, a router that checks DEXs and audited bridges and picks a path. A typical Celo use is turning CELO into USDT for a payment, or pulling USDC over from Base or Arbitrum to spend through Celo apps. Before anything is signed you see the route, the expected and minimum amounts and each fee, including any small Keylo service fee. The swap and bridge page goes into more detail.
Timing depends on the path. Celo's own OP Stack bridge holds withdrawals to Ethereum for roughly seven days while the challenge period runs, whereas liquidity-provider routes usually settle within minutes. Keylo keeps the transfer visible until it arrives on the other side, and when a route fails partway, the protocol sends the funds back to your Celo address.
Practise on Celo Sepolia
Turn on Testnet mode in Keylo's Settings to add Celo Sepolia, the current Celo test network that replaced the older Alfajores testnet. Grab free test CELO from the official faucet and practise sending, choosing fee speeds and checking transactions in the explorer. Test tokens have no value, and nobody legitimate will ask you to pay for them.
Celo safety tips
- Keep a little CELO for gas, since Keylo pays fees in CELO rather than stablecoins.
- Expect old and new names for Mento stablecoins and verify contract addresses instead of symbols.
- Pick the Celo network for USDT and USDC withdrawals.
- Treat messages about Celo migration claims or airdrops as scams; the L2 upgrade required no action from holders.
- Never share your phrase or password. How Keylo protects your funds covers the safeguards.
Frequently asked questions
Is Celo still a layer 1?
No. Celo became an Ethereum layer 2 in March 2025, built on the OP Stack with EigenDA for data availability. Addresses, balances and contracts stayed the same, and holders did not need to do anything. Blocks now arrive about every second, and the chain settles to Ethereum.
Can I pay Celo gas fees in USDT?
Celo supports fee abstraction, which lets compatible wallets pay gas in approved tokens like USDT or USDC. Keylo pays network fees in CELO, so keep a small CELO balance for transactions. The review screen always shows the fee in CELO before you confirm.
Why do I see CELO twice?
CELO is both the native coin and an ERC-20 token, a design called token duality. Some explorers and apps show it in both places, but it is a single balance. Spending it as a token or as the native coin reduces the same amount.
What happened to cUSD?
cUSD is a Mento stablecoin on Celo. Mento has been rebranding its coins from a c-prefix to an m-suffix, so cUSD is shown as USDm in newer apps and cEUR as EURm. The contracts did not change, so check the contract address rather than the name to be sure which token you hold.
How long does a withdrawal from Celo to Ethereum take?
Through Celo's native OP Stack bridge, about seven days, because withdrawals wait out a challenge period. Bridges that use liquidity providers, which LI.FI can route through in Keylo, usually take minutes instead. The quote shows the route and expected time before you confirm.