Connect to Canmo
RPC endpoints, chain IDs, and how to add Canmo to your wallet or dApp.
Network Reference
Canmo Mainnet
| Field | Value |
|---|---|
| Network Name | Canmo Mainnet |
| Chain ID | 167000 |
| Chain ID (Hex) | 0x28C58 |
| RPC URL | https://rpc.mainnet.canmo.xyz |
| Explorer | https://canmoscan.io |
| Explorer API | https://api.etherscan.io/v2/api?chainid=167000 |
| Bridge | https://bridge.canmo.xyz |
| Native Currency | ETH |
Canmo Hoodi Testnet
| Field | Value |
|---|---|
| Network Name | Canmo Hoodi |
| Chain ID | 167013 |
| Chain ID (Hex) | 0x28C65 |
| RPC URL | https://rpc.hoodi.canmo.xyz |
| Explorer | https://hoodi.canmoscan.io |
| Explorer API | https://api.etherscan.io/v2/api?chainid=167013 |
| Bridge | https://bridge.hoodi.canmo.xyz |
| Native Currency | ETH |
L1 Reference Chains
Canmo settles to Ethereum L1. Use these chain IDs when configuring L1 connections.
| Network | Chain ID |
|---|---|
| Ethereum Mainnet | 1 |
| Ethereum Hoodi | 560048 |
Summary
| Network | Chain ID | RPC | Explorer |
|---|---|---|---|
| Canmo Mainnet | 167000 | https://rpc.mainnet.canmo.xyz | https://canmoscan.io |
| Canmo Hoodi Testnet | 167013 | https://rpc.hoodi.canmo.xyz | https://hoodi.canmoscan.io |
| Ethereum Mainnet | 1 | Use your preferred Ethereum RPC | https://etherscan.io |
| Ethereum Hoodi | 560048 | Use your preferred Hoodi RPC | https://hoodi.etherscan.io/ |
Prompt mode
Paste this into your coding agent to configure Canmo in one prompt:
Reference http://localhost:5173/SKILL.md
Add Canmo mainnet and Hoodi testnet to my wagmi config.
Use chain ID 167000 for mainnet and 167013 for testnet.Manual mode
Add Canmo to MetaMask
Open MetaMask → Settings → Networks → Add Network and enter:
| Field | Value |
|---|---|
| Network Name | Canmo Mainnet |
| RPC URL | https://rpc.mainnet.canmo.xyz |
| Chain ID | 167000 |
| Currency | ETH |
| Explorer | https://canmoscan.io |
Configure wagmi / viem
Use defineChain to add Canmo mainnet and testnet to your app config.
import { defineChain } from 'viem'
export const canmoMainnet = defineChain({
id: 167_000,
name: 'Canmo Mainnet',
nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },
rpcUrls: {
default: { http: ['https://rpc.mainnet.canmo.xyz'] },
},
blockExplorers: {
default: { name: 'Canmoscan', url: 'https://canmoscan.io' },
},
})
export const canmoHoodi = defineChain({
id: 167_013,
name: 'Canmo Hoodi',
nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },
rpcUrls: {
default: { http: ['https://rpc.hoodi.canmo.xyz'] },
},
blockExplorers: {
default: { name: 'Canmoscan', url: 'https://hoodi.canmoscan.io' },
},
})EIP-3085: wallet_addEthereumChain
Use these JSON params to programmatically prompt users to add Canmo.
Mainnet
{
"chainId": "0x28C58",
"chainName": "Canmo Mainnet",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"rpcUrls": ["https://rpc.mainnet.canmo.xyz"],
"blockExplorerUrls": ["https://canmoscan.io"]
}Bootnodes
Find the bootnodes for the respective chains in the simple-canmo-node repo sample .env files:
- Repository: simple-canmo-node