Skip to main content
GET
Get chain defaults
Fetch these addresses at startup rather than hardcoding them — they change when a chain’s contracts are redeployed. With no chain_id you get every chain the gateway serves, which also makes this the simplest check that the gateway is reachable. A chain that isn’t fully configured is left out of that listing, and an empty address is a chain you cannot pay on. See Contract addresses.

Query Parameters

chain_id
string

CAIP-2 chain identifier. Omit it, or send it empty, to receive every chain the gateway serves, keyed by chain id.

Response

Chain defaults. A single object when chain_id was supplied, otherwise an object keyed by CAIP-2 chain id.

Either one chain's defaults or every chain keyed by CAIP-2 chain id, depending on whether chain_id was supplied. A top-level chain_id identifies the first.

chain_id
string
required

CAIP-2 identifier of the chain these defaults describe, normalised to lower case.

Example:

"eip155:84532"

quote_selector
string
required

The account named as the reserver in the deposit authorization. Sign against this exact value; a deposit reserved by anyone else is rejected.

Example:

"0xd0f080E23F95571D26eEb1FAD24a5F3d66835195"

escrow_contract
string
required

The escrow the deposit is made into, and the spender of the token approval. Empty when the chain is not fully configured.

Example:

"0xa61a0C025943Aa79B73D8D07E3aDbEe1873738b4"

fulfillment_proxy
string
required

The contract that pays the receiver. Read this from the DESTINATION chain's defaults, not the source chain's. Empty when the chain is not fully configured.

Example:

"0x09A5a0d6955E5394A661Cd9E7007076fa63B4158"

fulfillment_verifier
object
required

The service that attests settlement, and the account it signs with.

permit2_contract
string

The Permit2 this chain's escrow verifies against, sent only when it is not the canonical deployment. When absent, use the canonical Permit2 address for the chain. EVM and Tron only.

Minimum string length: 1
Example:

"0x000000000022D473030F116dDEE9F6B43aC78BA3"

deposit_witness_version
integer

Which deposit witness this chain's escrow expects. 4 and above select the four-member witness, 3 the two-member one; absent means four. EVM and Tron only - on Solana this is carried by svm_signature_domain_version.

Required range: x >= 3
Example:

4

tokens
object[]

Tokens this chain's escrow accepts for deposit. Absent when the gateway has no listing for the chain, which does not mean no token is accepted.

svm_signature_cluster_id
string

Solana only. The cluster the escrow's signing domain is bound to, needed to build the deposit hash. Absent for EVM and Tron.

Example:

"devnet"

svm_signature_domain_version
integer

Solana only. Version of the escrow's signing domain. Absent for EVM and Tron.

Required range: x >= 1
Example:

2