@zethub/bridge
Reference

Networks and environment

Every environment and network id you can pass as a source or destination.

Every transfer has a source and a destination network. You name them by id. To avoid loose strings, the SDK exports every id as a constant on NetworkId, and every environment on Environment.

Environment

import { Environment } from "@zethub/bridge";

Environment.TESTNET; // Circle sandbox networks
Environment.MAINNET; // production networks

The environment is chosen at construction and is immutable on an instance. Build two instances if you need both.

Referencing a network

import { NetworkId, ZetHubBridge } from "@zethub/bridge";

const sdk = new ZetHubBridge({ environment: Environment.TESTNET });
const chains = await sdk.chainDetailsMap();

const base = chains[NetworkId.BASE_SEPOLIA].network;
const stellar = chains[NetworkId.STELLAR_TESTNET].network;

Testnet

ConstantidCCTP domainEVM chain id
NetworkId.ETHEREUM_SEPOLIAethereum-sepolia011155111
NetworkId.AVALANCHE_FUJIavalanche-fuji143113
NetworkId.OPTIMISM_SEPOLIAoptimism-sepolia211155420
NetworkId.ARBITRUM_SEPOLIAarbitrum-sepolia3421614
NetworkId.BASE_SEPOLIAbase-sepolia684532
NetworkId.POLYGON_AMOYpolygon-amoy780002
NetworkId.STELLAR_TESTNETstellar-testnet27n/a

Mainnet

ConstantidCCTP domainEVM chain id
NetworkId.ETHEREUMethereum01
NetworkId.AVALANCHEavalanche143114
NetworkId.OPTIMISMoptimism210
NetworkId.ARBITRUMarbitrum342161
NetworkId.BASEbase68453
NetworkId.POLYGONpolygon7137
NetworkId.UNICHAINunichain10130
NetworkId.LINEAlinea1159144
NetworkId.CODEXcodex1281224
NetworkId.SONICsonic13146
NetworkId.WORLDCHAINworldchain14480
NetworkId.SEIsei161329
NetworkId.HYPEREVMhyperevm19999
NetworkId.STELLARstellar27n/a

The Network object

Each entry in chainDetailsMap() exposes the raw Network value under .network:

class Network {
  readonly id: string;
  readonly name: string;
  readonly shortName: string;
  readonly family: ChainFamily;         // "evm" | "stellar"
  readonly environment: Environment;
  readonly cctpDomain: number;
  readonly evmChainId?: number;
  readonly stellarPassphrase?: string;
  readonly tokens: readonly TokenAsset[];
  readonly defaultAsset: AssetSymbol;
  readonly tokenMessenger: string;
  readonly messageTransmitter: string;
  readonly cctpForwarder?: string;
  readonly rpcUrls: readonly string[];
  readonly explorerUrl: string;
  readonly accentColor: string;

  hasToken(symbol: AssetSymbol): boolean;
  token(symbol?: AssetSymbol): TokenAsset;
  isEvm(): boolean;
  isStellar(): boolean;
}

The contract addresses for each network are on the Contracts page.

On this page