Get started
Network info
Chain IDs, RPC endpoints and explorers for Somnia mainnet and testnet.
Mainnet
| Parameter | Value |
|---|---|
| Network name | Somnia Mainnet |
| Chain ID | 5031 |
| Currency | SOMI |
| RPC | https://api.infra.mainnet.somnia.network/ |
| WebSocket | wss://api.infra.mainnet.somnia.network/ws |
| Explorer | explorer.somnia.network |
Testnet
| Parameter | Value |
|---|---|
| Network name | Somnia Testnet |
| Chain ID | 50312 |
| Currency | STT |
| RPC | https://api.infra.testnet.somnia.network/ |
| WebSocket | wss://api.infra.testnet.somnia.network/ws |
| Explorer | shannon-explorer.somnia.network |
| Faucet | testnet.somnia.network |
Tokyo testnet
| Parameter | Value |
|---|---|
| Network name | Somnia Tokyo Testnet |
| Chain ID | 50383 |
| Currency | STT |
| RPC | https://api.hideki.infra.testnet.somnia.network/ |
| WebSocket | wss://api.hideki.infra.testnet.somnia.network/ws |
Regional subchains
Regional subchains run validators in one financial centre for lower latency and connect back to Global. None is on mainnet yet: Tokyo will be first and its testnet is live; New York follows. See Tokyo Subchain.
From code
import { defineChain } from "viem"
export const somnia = defineChain({
id: 5031,
name: "Somnia Mainnet",
nativeCurrency: { name: "Somnia", symbol: "SOMI", decimals: 18 },
rpcUrls: { default: { http: ["https://api.infra.mainnet.somnia.network/"] } },
blockExplorers: { default: { name: "Somnia Explorer", url: "https://explorer.somnia.network" } },
})