ZigZag

Getting Started

Install and start using @zig-zag/chains in your project.

Installation

npm i @zig-zag/chains

Basic Usage

Import any chain directly by name:

import { polkadot, kusama, moonbeam } from '@zig-zag/chains';

// Access chain metadata
console.log(polkadot.name);                     // "Polkadot"
console.log(polkadot.network);                  // "polkadot"
console.log(polkadot.nativeCurrency.symbol);    // "DOT"
console.log(polkadot.nativeCurrency.decimals);  // 10
console.log(polkadot.ss58Format);               // 0
console.log(polkadot.genesisHash);              // "0x91b171..."

Using Chain Logos

Every chain includes a base64-encoded SVG logo:

import { polkadot } from '@zig-zag/chains';

function ChainIcon() {
  return <img src={polkadot.chainIconUrl} alt={polkadot.name} />;
}

Connecting to RPCs

RPCs are organized by provider name with lowercase keys:

import { polkadot } from '@zig-zag/chains';

// Named providers
const ws = polkadot.rpcUrls.dwellir;      // "wss://polkadot-rpc.n.dwellir.com"
const ws2 = polkadot.rpcUrls.onfinality;  // "wss://polkadot.api.onfinality.io/public-ws"
const def = polkadot.rpcUrls.default;     // "wss://rpc.polkadot.io"

// Get all RPC URLs as an array
const allRpcs = Object.values(polkadot.rpcUrls);

Getting All Chains

import { allChains } from '@zig-zag/chains';

// Array of all chain objects
allChains.forEach((chain) => {
  console.log(`${chain.name} (${chain.nativeCurrency.symbol})`);
});

On this page