Supported Chains
web3market-kit supports the following EVM-compatible chains. Chain definitions are in the chains record exported from @web3marketlabs/sdk.
Chain Reference
| Chain | Chain ID | Type | Explorer |
|---|---|---|---|
| Ethereum | 1 | Mainnet | etherscan.io |
| Sepolia | 11155111 | Testnet | sepolia.etherscan.io |
| Arbitrum One | 42161 | Mainnet | arbiscan.io |
| Arbitrum Sepolia | 421614 | Testnet | sepolia.arbiscan.io |
| Base | 8453 | Mainnet | basescan.org |
| Base Sepolia | 84532 | Testnet | sepolia.basescan.org |
| Polygon | 137 | Mainnet | polygonscan.com |
| Polygon Amoy | 80002 | Testnet | amoy.polygonscan.com |
| OP Mainnet | 10 | Mainnet | optimistic.etherscan.io |
| OP Sepolia | 11155420 | Testnet | sepolia-optimistic.etherscan.io |
| Anvil (local) | 31337 | Local | — |
CLI Chain Name Mapping
When using w3m deploy --chain <name>, pass one of the following chain names. The CLI resolves the name to the corresponding chain ID internally.
| CLI Name | Chain ID |
|---|---|
ethereum | 1 |
sepolia | 11155111 |
arbitrum | 42161 |
arbitrum-sepolia | 421614 |
base | 8453 |
base-sepolia | 84532 |
polygon | 137 |
polygon-amoy | 80002 |
optimism | 10 |
optimism-sepolia | 11155420 |
# Deploy to Sepolia testnet
w3m deploy --chain sepolia
# Deploy to Base mainnet (requires Pro tier)
w3m deploy --chain base
# Deploy to Arbitrum Sepolia testnet
w3m deploy --chain arbitrum-sepoliaRPC URL Configuration
The CLI expects an environment variable for each chain’s RPC URL. The variable name is derived from the chain name in uppercase with hyphens replaced by underscores, suffixed with _RPC_URL:
# .env
SEPOLIA_RPC_URL=https://rpc.sepolia.org
ETHEREUM_RPC_URL=https://eth.llamarpc.com
BASE_RPC_URL=https://mainnet.base.org
ARBITRUM_SEPOLIA_RPC_URL=https://sepolia-rollup.arbitrum.io/rpcTier Requirements
Not all chains are available on every tier.
| Tier | Available Chains |
|---|---|
| Free | All testnets (Sepolia, Arbitrum Sepolia, Base Sepolia, Polygon Amoy, OP Sepolia) + Anvil local (31337) |
| Pro | All chains including mainnets (Ethereum, Arbitrum One, Base, Polygon, OP Mainnet) |
| Enterprise | All chains |
Deploying to a mainnet chain on the Free tier returns an error from the API preflight check. Upgrade to Pro at web3.market/pricing.
Custom Chains
Custom chains can be configured in kit.config.ts under the chains.targets section by providing a chain ID and RPC URL:
import { defineConfig } from '@web3marketlabs/config'
export default defineConfig({
chains: {
default: 'mychain',
targets: {
mychain: {
chainId: 12345,
rpcUrl: 'https://rpc.mychain.example.com',
},
},
},
})Programmatic Chain Lookup
Use getChain() from @web3marketlabs/sdk to look up chain configuration by name or ID:
import { getChain } from '@web3marketlabs/sdk'
const ethereum = getChain('ethereum') // by name
const sepolia = getChain(11155111) // by chain ID
console.log(ethereum?.name) // 'Ethereum'
console.log(sepolia?.blockExplorers?.default.url) // 'https://sepolia.etherscan.io'