Squid Dev Documentation
Ask or search…
K

Set your transfer parameters

Before you can send tokens or messages, you'll need to set your parameters.
Now you're ready to set the parameters of your trade request.
Example 1: [EVM -> Cosmos] Swap 0.1 Native AVAX from Avalanche Fuji Tesntet and receive Noble USDC on the Osmosis Testnet
const params = {
fromChain: 43113, // Avalanche Fuji Tesntet
fromToken: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", // AVAX on Avalanche
fromAddress: "0x6A32651F7D6131A0cAB2c649190F3B256f1A959D" // address of the sender
fromAmount: "100000000000000000", // 0.1 AVAX
toChain: "osmo-test-5", // Osmosis Testnet
toToken: "ibc/DE6792CF9E521F6AD6E9A4BDF6225C9571A3B74ACC0A529F92BC5122A39D2E58", // nUSDC on Osmosis
toAddress: "osmo16xz3ujtdszrqzzjqpx79wuxya3w27jn9khnumm", // the recipient of the tokens on Osmosis
slippage: 1.00, // 1.00 = 1% max slippage across the entire route
fromAddress: "0x747A6e3824FAB0d1266306C3b492fcB941C5dd93", // Fallback address for the EVM Side
quoteOnly: false // optional, defaults to false, if true there are less params required by the api, but no tx object is returned
};
Example 2: [Cosmos -> EVM] Swap 1 nUSDC from Osmosis Testnet and receive Native AVAX Avalanche Fuji Tesntet
const params = {
fromChain: "osmo-test-5", // Osmosis Testnet
fromToken: "ibc/DE6792CF9E521F6AD6E9A4BDF6225C9571A3B74ACC0A529F92BC5122A39D2E58", // nUSDC on Osmosis
fromAmount: "1000000", // 1 nUSDC
toChain: 43113, // Avalanche Fuji Tesntet
toToken: "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE", // AVAX on Avalanche
toAddress: "0x747A6e3824FAB0d1266306C3b492fcB941C5dd93", // the recipient of the trade on Avalanche
slippage: 1.00, // 1.00 = 1% max slippage across the entire route
fromAddress: "osmo1eaztm3pqrkw2xgt0lxppahtx5v5pndmjg6yfrh", // Cosmos Sender address
quoteOnly: false // optional, defaults to false
};
Example 3: [Cosmos -> Cosmos] Swap 1 uosmo from Osmosis Testnet and receive nUSDC on Omosis Testnet
const params = {
fromChain: "osmo-test-5", // Osmosis Testnet
fromToken: "uosmo", // OSMO on Osmosis
fromAmount: "1000000", // 1uosmo
fromAddress: "osmo1eaztm3pqrkw2xgt0lxppahtx5v5pndmjg6yfrh", // Cosmos Sender address
toChain: "osmo-test-5", // Omosis Testnet
toToken: "ibc/DE6792CF9E521F6AD6E9A4BDF6225C9571A3B74ACC0A529F92BC5122A39D2E58", // nUSDC on Osmosis
toAddress: "osmo1eaztm3pqrkw2xgt0lxppahtx5v5pndmjg6yfrh", // the recipient of the trade
slippage: 3.0, // slippage option
};
Due to low liquidity on testnet, we ask that you limit your trade size in most cases to less than 0.1 of the native gas token (e.g. <0.1 ETH, or AVAX).
Note that the same token types (i.e. USDC) often has a different address on each chain. Make sure you've checked the address is right for the chain you are sending from/to.
Params are structured as agetroute object. A GetRoute object describes a desired any-to-any transfer. It is defined by the following interface:

Request Params:

Property
Description
fromChain
fromToken
fromAmount
Amount of tokens to be sent (in EVM wei or "u" Cosmos micro units)
toChain
toToken
fromAddress
Fallback address for the EVM or Cosmos part of the trade. Must be set when executing swaps from EVM to/from Cosmos
toAddress
The recipient address to receive the tokens
slippage
Max slippage across route, (0.3-99.99) 1 = 1% slippage.
quoteOnly (optional)
If true, returns only a quote for the route. Omits transaction data needed for execution. Defaults to false
prefer (optional)
When set, the route response will prefer routes from the DEX corresponding to the string. See possible strings here. EVM chains only supported.
collectFees
Integrators can pass in a wallet address and a fee percentage - see fees section

Sending/receiving native tokens (EVM chains only)

If you want to send or receive native tokens (i.e ETH), the sourceTokenAddress or destinationTokenAddress arguments must be set to 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE
Once you have configured the params object, the next step is to get a route