Skip to main content
DZap supports multiple blockchain networks, enabling seamless cross-chain operations and comprehensive DeFi access.
The DZap SDK provides extensive multi-chain support, allowing you to interact with DeFi protocols across various blockchain networks. Each chain has specific capabilities and supported features.

Chain IDs (reference)

Common mainnet chain IDs for use in fromChain, toChain, and RPC config:
ChainchainId
Ethereum1
Arbitrum42161
Optimism10
Polygon137
Base8453
BNB Chain56
Avalanche43114
For the full list, call getAllSupportedChains() and use each chain’s chainId and name.

Get Supported Chains

Retrieve all chains supported by DZap:
import { DZapClient } from "@dzapio/sdk";

const dZap = DZapClient.getInstance();

// Get all supported chains
const supportedChains = await dZap.getAllSupportedChains();

console.log(
  `DZap supports ${Object.keys(supportedChains).length} blockchain networks:`
);
Object.values(supportedChains).forEach((chain) => {
  console.log(`${chain.name} (${chain.chainId}) - ${chain.coin}`);
});

// Get chains that support specific features
const bridgeChains = Object.values(supportedChains).filter(
  (chain) => chain.supportedAs.source && chain.supportedAs.destination
);

const zapChains = Object.values(supportedChains).filter(
  (chain) => chain.contracts?.zap
);

console.log(`Bridge-enabled chains: ${bridgeChains.length}`);
console.log(`Zap-enabled chains: ${zapChains.length}`);

Chain Information Structure

Each chain contains comprehensive configuration:
type Chain = {
  coinKey: string; // Unique identifier
  chainId: number; // EIP-155 chain ID
  chainType: string; // 'evm', 'solana', 'cosmos', etc.
  name: string; // Human-readable name
  coin: string; // Native coin symbol
  dcaContract: string; // DCA contract address
  swapBridgeContract: string; // Swap/bridge contract address
  logo: string; // Chain logo URL
  tokenlistUrl?: string; // Token list URL
  multicallAddress: string; // Multicall contract address
  blockExplorerUrl: string; // Block explorer URL
  nativeToken: NativeTokenInfo; // Native token details
  rpcProviders: ApiRpcResponse[]; // Available RPC endpoints
  pricingAvailable: boolean; // Price data available
  balanceAvailable: boolean; // Balance queries supported
  supportedAs: {
    source: boolean; // Can be used as source chain
    destination: boolean; // Can be used as destination chain
  };
  contracts?: Partial<{
    router: string; // Swap router contract
    dca: string; // DCA contract
    zap: string; // Zap contract
  }>;
  coingecko?: {
    chainKey: string; // CoinGecko chain identifier
    nativeTokenKey: string; // CoinGecko native token ID
  };
  defiLlama?: {
    chainKey: string; // DeFiLlama chain identifier
    nativeTokenKey: string; // DeFiLlama native token ID
  };
  disableMultiTxn: boolean; // Whether multi-transaction operations are disabled
  isEnabled: boolean; // Whether chain is currently enabled
  mainnet: boolean; // Whether this is a mainnet chain
};