New to web3?
New to web3?
What is an RPC? An RPC (remote procedure call) endpoint is the URL your app uses to read from and write to a blockchain (e.g. send transactions, read balances). The SDK needs at least one RPC URL per network.Why set your own? You might set custom RPC URLs for rate limits, reliability, or to use a provider you already use (e.g. Alchemy, Infura). If you don’t set them, the SDK uses defaults from the Dynamic dashboard.When can I skip this? If you’re fine with dashboard defaults and don’t need to customize networks, you don’t need to use network transformers. Only use this page when you want to override RPC URLs, block explorers, or other network data.
Prerequisites
Before this: create and initialize a Dynamic client (see Creating a Dynamic Client, Initializing the Dynamic Client). You also need@dynamic-labs-sdk/client installed; RPC provider API keys are optional.
Quick Start
Common Patterns
Multiple networks:NetworkData shape
Thenetwork object passed to your transformer has the following fields:
| Field | Type | Description |
|---|---|---|
networkId | string | Unique identifier for the network (chain ID for EVM, cluster for Solana) |
name | string | Human-readable network name |
rpcUrls | { http: string[] } | List of RPC endpoints for the network |
nativeCurrency | { name: string, symbol: string, decimals: number } | Native token details |
blockExplorerUrls | string[] | Block explorer URLs |
chainName | string | The blockchain family (e.g., 'ETH', 'SOL', 'SUI') |
Network IDs
EVM networks use chain IDs:'1' (Ethereum), '137' (Polygon), '8453' (Base), '42161' (Arbitrum), '10' (Optimism), '11155111' (Sepolia)
Solana networks use cluster names: 'mainnet-beta', 'devnet', 'testnet'
The transformer applies to all chains — EVM, Solana, Sui, and others enabled in your project.
Provider Examples
Alchemy:Rules
- Always return valid
NetworkDatastructure - Use environment variables for API keys
- Keep transformers synchronous (no async/await)
- Transformers are called once during initialization