Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
End-to-end Celo development playbook (Feb 2026). Prefer viem for all client/transaction code (native fee currency support via CIP-64). Use thirdweb for wallet connection and React dApps. Foundry for smart contract development. Covers fee abstraction (pay gas in USDC/USDT/USDm), MiniPay Mini Apps, stablecoin integration, and AI agent infrastructure (ERC-8004 trust + x402 payments).
End-to-end Celo development playbook (Feb 2026). Prefer viem for all client/transaction code (native fee currency support via CIP-64). Use thirdweb for wallet connection and React dApps. Foundry for smart contract development. Covers fee abstraction (pay gas in USDC/USDT/USDm), MiniPay Mini Apps, stablecoin integration, and AI agent infrastructure (ERC-8004 trust + x402 payments).
This item is timing out or returning errors right now. Review the source page and try again later.
Use the source page and any available docs to guide the install because the item is currently unstable or timing out.
I tried to install a skill package from Yavira, but the item is currently unstable or timing out. Inspect the source page and any extracted docs, then tell me what you can confirm and any manual steps still required.
I tried to upgrade a skill package from Yavira, but the item is currently unstable or timing out. Compare the source page and any extracted docs with my current installation, then summarize what changed and what manual follow-up I still need.
Use this Skill when the user asks for: Celo dApp UI work (React / Next.js) Wallet connection + fee currency selection Transactions paying gas in stablecoins (USDC, USDT, USDm) MiniPay Mini App development Smart contract development, testing, and deployment Stablecoin integration (Mento + bridged) AI agent infrastructure (ERC-8004 identity/reputation, x402 payments)
viem is REQUIRED for fee abstraction (ethers.js/web3.js don't support feeCurrency) Use viem/celo for Celo-specific transaction serialization Never use ethers.js for new Celo projects import { createWalletClient, custom } from "viem"; import { celo } from "viem/chains"; const walletClient = createWalletClient({ chain: celo, transport: custom(window.ethereum), });
Use thirdweb SDK for wallet connection and React components ConnectButton supports 500+ wallets including MiniPay Built-in support for Celo chains import { ConnectButton } from "thirdweb/react"; import { celo } from "thirdweb/chains"; <ConnectButton client={client} chain={celo} />
Celo's killer feature: pay gas fees in ERC-20 tokens without paymasters or relayers. Use adapter addresses for 6-decimal tokens (USDC, USDT) - adapters normalize decimals Use token addresses directly for 18-decimal tokens (USDm, EURm, REALm) - no adapter needed Requires viem (ethers.js/web3.js don't support feeCurrency) Only works with Celo-native wallets (MiniPay) or custom implementations import { serializeTransaction } from "viem/celo"; import { parseGwei, parseEther } from "viem"; // For 6-decimal tokens (USDC, USDT): use ADAPTER address const USDC_ADAPTER = "0x2F25deB3848C207fc8E0c34035B3Ba7fC157602B"; // For 18-decimal tokens (USDm, EURm): use TOKEN address directly const USDM_TOKEN = "0x765DE816845861e75A25fCA122bb6898B8B1282a"; const serialized = serializeTransaction({ chainId: 42220, gas: 21001n, feeCurrency: USDC_ADAPTER, // or USDM_TOKEN for USDm maxFeePerGas: parseGwei("20"), maxPriorityFeePerGas: parseGwei("2"), nonce: 69, to: "0x1234512345123451234512345123451234512345", value: parseEther("0.01"), });
Use Foundry (forge, cast, anvil) for all contract development Fast compilation, powerful testing, built-in fuzzing Native Celo verification support via Celoscan API # Install Foundry curl -L https://foundry.paradigm.xyz | bash && foundryup # Create project forge init my-project && cd my-project # Deploy to Celo Sepolia forge script script/Deploy.s.sol \ --rpc-url https://forno.celo-sepolia.celo-testnet.org \ --broadcast --verify
Detect MiniPay via window.ethereum?.isMiniPay Users have stablecoins (USDm, USDC), not CELO Hide "Connect Wallet" button - connection is implicit Test via MiniPay Site Tester with ngrok function isMiniPay(): boolean { return typeof window !== "undefined" && window.ethereum?.isMiniPay === true; }
For AI agent development on Celo: ERC-8004: On-chain identity, reputation, and trust verification x402: HTTP-native micropayments with stablecoins // Verify agent trust before interaction const summary = await reputationRegistry.getSummary(agentId); if (summary.averageScore >= 80) { // Make paid request to trusted agent const response = await fetchWithPayment(serviceUrl); }
| Layer | Tools | |-------|-------| | UI/wallet/hooks | viem + thirdweb | | Scripts/backend | viem directly | | Smart contracts | Foundry (forge) | | MiniPay apps | MiniPay detection + stablecoin UX | | AI agents | ERC-8004 + x402 |
| Scenario | Approach | |----------|----------| | User has MiniPay | Offer fee currency selection | | User has MetaMask | Must pay in CELO (no fee abstraction) | | Server-side/scripts | Always use fee currency with viem |
Always be explicit about: Network: Mainnet (42220) vs Sepolia (11142220) Fee currency: Adapter address (6-decimal) vs token address (18-decimal) Wallet compatibility: MiniPay supports fee abstraction, MetaMask does not
Test both CELO and fee currency transactions separately Test wallet connection with MiniPay detection For contracts, use forge test with fuzzing For MiniPay apps, test in Site Tester on real device
When implementing changes, provide: Exact files changed Commands to install/build/test/deploy Fee currency addresses used (mainnet vs testnet) Wallet compatibility notes
| Network | Chain ID | RPC Endpoint | Explorer | |---------|----------|--------------|----------| | Mainnet | 42220 | https://forno.celo.org | https://celoscan.io | | Sepolia | 11142220 | https://forno.celo-sepolia.celo-testnet.org | https://sepolia.celoscan.io |
Why adapters? Celo's gas calculations use 18 decimals internally. Tokens with different decimals (like USDC/USDT with 6 decimals) need adapter contracts to normalize the decimal conversion. Native Mento stablecoins (USDm, EURm, REALm) are already 18 decimals, so you use their token address directly. | Token | Decimals | feeCurrency Address | Type | |-------|----------|---------------------|------| | USDC | 6 | 0x2F25deB3848C207fc8E0c34035B3Ba7fC157602B | Adapter | | USDT | 6 | 0x0e2a3e05bc9a16f5292a6170456a710cb89c6f72 | Adapter | | USDm | 18 | 0x765DE816845861e75A25fCA122bb6898B8B1282a | Token (no adapter needed) | | EURm | 18 | 0xD8763CBa276a3738E6DE85b4b3bF5FDed6D6cA73 | Token (no adapter needed) | | REALm | 18 | 0xe8537a3d056DA446677B9E9d6c5dB704EaAb4787 | Token (no adapter needed) |
| Token | Decimals | feeCurrency Address | Type | |-------|----------|---------------------|------| | USDC | 6 | 0x4822e58de6f5e485eF90df51C41CE01721331dC0 | Adapter | | USDm | 18 | 0xdE9e4C3ce781b4bA68120d6261cbad65ce0aB00b | Token (no adapter needed) | | EURm | 18 | 0xA99dC247d6b7B2E3ab48a1fEE101b83cD6aCd82a | Token (no adapter needed) |
| Contract | Address | |----------|---------| | CELO Token | 0x471EcE3750Da237f93B8E339c536989b8978a438 | | FeeCurrencyDirectory | 0x15F344b9E6c3Cb6F0376A36A64928b13F62C6276 | | Registry | 0x000000000000000000000000000000000000ce10 |
| Token | Address | Decimals | |-------|---------|----------| | USDm | 0x765DE816845861e75A25fCA122bb6898B8B1282a | 18 | | EURm | 0xD8763CBa276a3738E6DE85b4b3bF5FDed6D6cA73 | 18 | | USDC | 0xcebA9300f2b948710d2653dD7B07f33A8B32118C | 6 | | USDT | 0x48065fbbe25f71c9282ddf5e1cd6d6a887483d5e | 6 |
Detailed documentation for each topic is available in the celo-org/agent-skills repository:
viem - TypeScript client with fee currency support wagmi - React hooks for Celo dApps thirdweb - Full-stack Web3 development evm-wallet-integration - Wallet connection patterns
fee-abstraction - Pay gas with stablecoins minipay-integration - MiniPay Mini App development celo-stablecoins - USDT, USDC, USDm, EURm, BRLm, XOFm, KESm, PHPm, COPm, NGNm, GHSm, GBPm, ZARm, CADm, AUDm, CHFm, JPYm, BRLA, VCHF, VEUR, VGBP, USDGLO, agEURA + COPM celo-rpc - Blockchain interaction via RPC
evm-foundry - Foundry development (recommended) contract-verification - Celoscan, Blockscout, Sourcify
8004 - ERC-8004 Agent Trust Protocol x402 - HTTP-native agent payments
celo-defi - DeFi protocol integration bridging - Asset bridging to/from Celo
celo-composer - Project templates and scaffolding
Token Contracts - All token addresses Core Contracts - Protocol contract addresses Fee Currency - Fee abstraction guide MiniPay - Mini App development
Fee abstraction: Pay gas in stablecoins without paymasters Sub-second finality: ~1 second block times Low fees: Gas costs under $0.001 Mobile-first: MiniPay with 12.6M activations AI-native: ERC-8004 trust + x402 payments built for agents Stablecoin ecosystem: Native USDT, USDC, USDm, EURm, BRLm, XOFm, KESm, PHPm, COPm, NGNm, GHSm, GBPm, ZARm, CADm, AUDm, CHFm, JPYm, BRLA, VCHF, VEUR, VGBP, USDGLO, agEURA + COPM
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.