Route Request Parameters
Building with Squid, fundamentally starts with requesting a route.
The getRoute
type is used to define the parameters required for bridging assets between different blockchain networks.
const params = {
fromChain: number | string; //the chainID assets are being bridged FROM
toChain: number | string; //the chainID assets are being bridged TO
fromToken: string; //the asset address being swapped FROM, "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" for native assets
toToken: string; // The asset address being swapped TO, "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" for native assets
fromAmount: string; // The unadjusted decimal amount assets
fromAddress: string; // The address FROM which assets are being sent to be bridged
toAddress: string; // The address TO which bridged assets will be sent to
slippage?: number; //OPTIONAL, If set it determines the max slippage across the route (0.01-99.99) 1 = 1% slippage.
quoteOnly?: boolean; //OPTIONAL, If true, returns only a quote for the route. Omits transaction data needed for execution. Defaults to false
enableExpress?: boolean; //OPTIONAL, Utilizes Axelar's Express message passing for an additional small fee to expedite the crosschain transaction. Defaults to true
prefer?: string[]; // When set, the route response will prefer routes from the DEX corresponding to the string. EVM chains only supported.
receiveGasOnDestination?: boolean;
collectFees?: {
integratorAddress: string; //The EVM address of the integrator that will receive the fee
fee: number; // The amount in "basis points" for the fee. 50 = 0.05%. there is currently soft limit of 1% fee allowed for each tx.
};
fallbackAddresses?:{
//For Cosmos routes where either the source or destination chains are not of coinType 118, the SDK necessitates an additional argument.
///This argument is fallbackAddresses, which is an array of objects containing an address and its associated coin type.
//See more here
coinType: number;
address: string;
};
};
Parameter Summaries
fromChain (
number | string
): The chain ID of the network from which assets are being bridged.toChain (
number | string
): The chain ID of the network to which assets are being bridged.fromToken (
string
): The address of the asset being swapped from. Use "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" for native assets.toToken (
string
): The address of the asset being swapped to. Use "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" for native assets.fromAmount (
string
): The unadjusted decimal amount of assets being transferred.fromAddress (
string
): The address from which assets are being sent for bridging.toAddress (
string
): The address to which bridged assets will be sent.slippage (
number
, optional): Maximum allowable slippage across the route (range: 0.01-99.99). A value of 1 represents 1% slippage.quoteOnly (
boolean
, optional): If true, only a quote for the route is returned without transaction data needed for execution. Defaults to false.enableExpress (
boolean
, optional): Utilizes Axelar's Express message passing for a small fee to expedite the cross-chain transaction. Defaults to true.customContractCalls (
ContractCall[] | CustomCosmosContractCall[]
, optional): Custom contract calls to be included in the route.prefer (
string[]
, optional): Prefers routes from the specified DEXs. Only supported on EVM chains.receiveGasOnDestination (
boolean
, optional): Determines whether to receive gas on the destination chain.collectFees (
{ integratorAddress: string; fee: number; }
, optional): Specifies the integrator's address to receive the fee and the fee amount in basis points (e.g., 50 = 0.05%). There is a soft limit of 1% fee per transaction.fallbackAddresses (
{ coinType: number; address: string; }[]
, optional): For Cosmos routes where the source or destination chains are not of coinType 118. Requires an array of objects containing an address and its associated coin type.
Last updated