Navigate...

K

Catalogs

Query supported blockchains and tokens. Read-only reference data used when creating distributions — chain IDs, contract addresses, token decimals, and Multisender contract addresses.

Overview

Before creating a distribution, you need to know the chainId for the target network. The Catalogs API provides this reference data.Key fields for distributions: - chainId — required parameter for distribute(), createDraft(), and getApproveCalldata() - multisenderContractAddress — the spender address for ERC-20 approve() transactions - nativeSymbol — the native token symbol for the chain (e.g. ETH, POL)All catalog methods are read-only and work with any API key scope.

Read-only, any scope

All Catalogs methods are read-only and work with any API key scope. They do not modify project state.

Token decimals matter

Amounts in distribute() and recipient lists are in human-readable units (e.g. "100" USDC, not "100000000"). The SDK handles conversion using the token's decimals.

Key Concepts

Chain

A supported blockchain network. Each chain has a unique numeric chainId (e.g. 1 for Ethereum, 137 for Polygon), address type (currently EVM only), native currency, RPC and explorer URLs, and the multisenderContractAddress for token approvals.

Token

An ERC-20 or native token on a supported chain. When calling distribute(), you provide tokenAddress and tokenSymbol. Amounts are in human-readable units (e.g. "100" USDC, not "100000000").

Multisender contract

The on-chain contract that executes batch transfers. Its address is available in chain.multisenderContractAddress. For ERC-20 distributions, you must approve() this address as the spender before distributing.

Quick Start

Common Workflows

Prepare for distribution

Look up the chain and token info needed before creating a distribution.

1

2

getApproveCalldata()

Generate ERC-20 approval using the chainId and tokenAddress

3

distribute()

Create distribution with chainId, tokenAddress, and tokenSymbol

Methods

sdk.catalogs.getChains()

Retrieve all supported blockchains. Returns the full configuration for every network Multisender supports, including chain ID, native currency, address type, explorer URL, and the multisenderContractAddress needed for ERC-20 token approvals.

Parameters

No parameters

Returns

Chain[]

Array of all supported blockchain configurations

Errors

401

The request is not authorized

403

You do not have permission to access this resource

Notes

All chains are returned in a single array (not paginated)

multisenderContractAddress is the spender for ERC-20 approve() — null if not deployed on this chain

See Also

getApproveCalldata()

Use chainId for ERC-20 token approval

distribute()

Use chainId when creating a distribution

sdk.catalogs.getChain(chainId)

Retrieve configuration for a specific blockchain by chain ID. Key fields: multisenderContractAddress (spender for ERC-20 approve), rpcUrl (for custom RPC in prepare()), and explorerUrl (for building transaction links).

Parameters

NameTypeRequiredDescription

chainId

string

Yes

Chain ID as string (e.g. "1" for Ethereum, "137" for Polygon)

Returns

Chain

Full chain configuration

Errors

400

Invalid chain id

401

The request is not authorized

403

You do not have permission to access this resource

404

Chain not found

See Also

getChains()

List all chains to find valid chainId values

getApproveCalldata()

Use chainId for ERC-20 approval calldata

Generated Code