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).
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
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.