بنقرة واحدة
evm-wallet-integration
Integrate wallets into Celo dApps. Covers RainbowKit, Dynamic, and wallet connection patterns.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Integrate wallets into Celo dApps. Covers RainbowKit, Dynamic, and wallet connection patterns.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
ERC-8004 Agent Trust Protocol for AI agent identity, reputation, and validation on Celo. Use when building AI agents that need identity registration, reputation tracking, or trust verification across organizational boundaries.
Bridge assets to and from Celo. Use when transferring tokens between Celo and other chains like Ethereum.
Scaffold Celo dApps with Celo Composer. Use when starting new Celo projects, creating MiniPay apps, or setting up development environments.
Integrate DeFi protocols on Celo. Use when building swaps, lending, or liquidity applications with Uniswap, Aave, Ubeswap, or other DeFi protocols.
Interact with Celo blockchain via RPC endpoints. Use when reading balances, transactions, blocks, and interacting with Celo via viem or cast.
Working with Celo's stablecoin ecosystem. Use when building with USDm, EURm, USDC, USDT, or regional Mento stablecoins on Celo.
| name | evm-wallet-integration |
| description | Integrate wallets into Celo dApps. Covers RainbowKit, Dynamic, and wallet connection patterns. |
| license | Apache-2.0 |
| metadata | {"author":"celo-org","version":"1.0.0"} |
This skill covers integrating wallet connection libraries into Celo dApps.
| Library | Description | Best For |
|---|---|---|
| Reown AppKit | Official WalletConnect SDK with wagmi | Production React apps |
| Dynamic | Auth-focused with dashboard | Apps needing user management |
| ConnectKit | Simple wagmi integration | Quick setup |
| Custom wagmi | Direct connector setup | Full control |
Official WalletConnect SDK for React apps with built-in wallet UI. Supports 600+ wallets.
Source: https://docs.reown.com/appkit
Note: Reown is the company formerly known as WalletConnect Inc. (rebranded in 2024). The protocol and npm packages for wagmi connectors still use "walletConnect" naming.
npm install @reown/appkit @reown/appkit-adapter-wagmi wagmi viem @tanstack/react-query
// config.ts
import { WagmiAdapter } from "@reown/appkit-adapter-wagmi";
import { celo, celoAlfajores } from "@reown/appkit/networks";
const projectId = process.env.NEXT_PUBLIC_REOWN_PROJECT_ID!;
export const wagmiAdapter = new WagmiAdapter({
networks: [celo, celoAlfajores],
projectId,
ssr: true,
});
export const config = wagmiAdapter.wagmiConfig;
"use client";
import { WagmiProvider } from "wagmi";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { createAppKit } from "@reown/appkit/react";
import { wagmiAdapter } from "./config";
import { celo, celoAlfajores } from "@reown/appkit/networks";
const queryClient = new QueryClient();
createAppKit({
adapters: [wagmiAdapter],
networks: [celo, celoAlfajores],
projectId: process.env.NEXT_PUBLIC_REOWN_PROJECT_ID!,
metadata: {
name: "My Celo App",
description: "Celo dApp",
url: "https://myapp.com",
icons: ["https://myapp.com/icon.png"],
},
});
export function Providers({ children }: { children: React.ReactNode }) {
return (
<WagmiProvider config={wagmiAdapter.wagmiConfig}>
<QueryClientProvider client={queryClient}>
{children}
</QueryClientProvider>
</WagmiProvider>
);
}
import { AppKitButton } from "@reown/appkit/react";
function Header() {
return (
<nav>
<AppKitButton />
</nav>
);
}
import { useAppKit, useAppKitAccount } from "@reown/appkit/react";
function WalletConnect() {
const { open } = useAppKit();
const { address, isConnected } = useAppKitAccount();
if (isConnected) {
return (
<div>
<p>Connected: {address}</p>
<button onClick={() => open({ view: "Account" })}>Account</button>
</div>
);
}
return <button onClick={() => open()}>Connect Wallet</button>;
}
import { useAccount, useBalance, useDisconnect } from "wagmi";
function AccountInfo() {
const { address, isConnected } = useAccount();
const { data: balance } = useBalance({ address });
const { disconnect } = useDisconnect();
if (!isConnected) return null;
return (
<div>
<p>Address: {address}</p>
<p>Balance: {balance?.formatted} {balance?.symbol}</p>
<button onClick={() => disconnect()}>Disconnect</button>
</div>
);
}
Authentication-focused wallet connection with user management dashboard.
Source: https://docs.dynamic.xyz
npm install @dynamic-labs/sdk-react
import {
DynamicContextProvider,
DynamicWidget,
} from "@dynamic-labs/sdk-react";
function App() {
return (
<DynamicContextProvider
settings={{
environmentId: process.env.NEXT_PUBLIC_DYNAMIC_ENV_ID!,
}}
>
<DynamicWidget />
</DynamicContextProvider>
);
}
Build wallet connection without a library using wagmi directly.
import { http, createConfig } from "wagmi";
import { celo, celoSepolia } from "wagmi/chains";
import { injected, walletConnect, metaMask } from "wagmi/connectors";
const projectId = process.env.NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID!;
export const config = createConfig({
chains: [celo, celoSepolia],
connectors: [
injected(),
walletConnect({ projectId }),
metaMask(),
],
transports: {
[celo.id]: http(),
[celoSepolia.id]: http(),
},
});
import { useConnect, useConnectors, useAccount, useDisconnect } from "wagmi";
function WalletConnect() {
const { connect } = useConnect();
const connectors = useConnectors();
const { address, isConnected } = useAccount();
const { disconnect } = useDisconnect();
if (isConnected) {
return (
<div>
<p>Connected: {address}</p>
<button onClick={() => disconnect()}>Disconnect</button>
</div>
);
}
return (
<div>
{connectors.map((connector) => (
<button
key={connector.uid}
onClick={() => connect({ connector })}
>
{connector.name}
</button>
))}
</div>
);
}
| Network | Chain ID | Reown Import | Wagmi Import |
|---|---|---|---|
| Mainnet | 42220 | celo from @reown/appkit/networks | celo from wagmi/chains |
| Celo Alfajores | 44787 | celoAlfajores from @reown/appkit/networks | celoAlfajores from wagmi/chains |
| Celo Sepolia | 11142220 | - | celoSepolia from wagmi/chains |
Required for WalletConnect connections. WalletConnect Inc. rebranded to Reown in 2024.
NEXT_PUBLIC_REOWN_PROJECT_ID=your_project_id
Note: The wagmi
walletConnectconnector still uses the same project ID. Only the cloud console was rebranded.
{
"dependencies": {
"@reown/appkit": "^1.0.0",
"@reown/appkit-adapter-wagmi": "^1.0.0",
"wagmi": "^2.0.0",
"viem": "^2.0.0",
"@tanstack/react-query": "^5.0.0"
}
}
{
"dependencies": {
"wagmi": "^2.0.0",
"viem": "^2.0.0",
"@tanstack/react-query": "^5.0.0"
}
}