Skip to main content
POST
Optimal route between two tokens

Body

application/json
fromAddress
string
required

Ethereum address of the wallet to send the transaction from

Example:

"0xd8da6bf26964af9d7eed9e03e53415d37aa96045"

amountIn
string[]
required

Amount of tokenIn to swap in wei

Example:
tokenIn
string[]
required

Ethereum address of the token to swap from. For ETH, use 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

Example:
tokenOut
string[]
required

Ethereum address of the token to swap to. For ETH, use 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

Example:
variableEstimates
object
required
chainId
number
default:1

Chain ID of the network to execute the transaction on

routingStrategy
enum<string> | null

Routing strategy to use. In majority of cases you can use router. Use delegate with EOA when you want to specify a spender

Available options:
router,
delegate,
router-legacy,
delegate-legacy,
ensowallet
toEoa
boolean | null
deprecated

Flag that indicates if gained tokenOut should be sent to EOA

includeTransactionCost
boolean
default:false

Include point-in-time source-chain transaction cost estimates in native units and USD, plus USD values for reported bridge fees

receiver
string

Ethereum address of the receiver of the tokenOut

Example:

"0xd8da6bf26964af9d7eed9e03e53415d37aa96045"

spender
string

Ethereum address of the spender of the tokenOut. Note: you must use the delegate strategy when specifying a spender, otherwise it will be ignored.

Example:

"0xd8da6bf26964af9d7eed9e03e53415d37aa96045"

minAmountOut
string[]

Minimum amount out in wei. If specified, slippage should not be specified

slippage
string
default:50

Slippage in basis points (1/10000), e.g. 50 = 0.50%. Takes precedence over minAmountOut argument.

Example:

"300"

ignoreAggregators
string[] | null

A list of swap aggregators to be ignored from consideration

ignoreStandards
string[] | null

A list of standards to be ignored from consideration

ignoreBridges
string[] | null

A list of bridges to be ignored from consideration for crosschain routes. Supported values: relay, stargate, ccip, cctp

referralCode
string

Referral code that will be included in an on-chain event.

Maximum string length: 16
Pattern: ^.{0,16}$
destinationChainId
number

Chain ID of the network to bridge to and receive tokenOut

crosschainRouteMode
enum<string>
default:full

Controls cross-chain route complexity. direct uses only a bridge, source allows routing before the bridge, destination allows routing after the bridge, sourceOrDestination allows routing on either chain but not both, and full allows routing on both chains

Available options:
direct,
source,
destination,
sourceOrDestination,
full
refundReceiver
string

Ethereum address of the receiver of any dust tokens that might be produced during the execution of actions

Example:

"0xd8da6bf26964af9d7eed9e03e53415d37aa96045"

Response

gas
string
required
amountOut
string
required
priceImpact
number | null
required

Price impact in basis points, null if USD price not found

feeAmount
string[]
required

An array of the fee amount collected for each tokenIn

minAmountOut
string
required

The minimum allowable amount out after slippage

createdAt
number
required

Block number the transaction was created on

tx
object
required

The tx object to use in ethers

route
object[]
required

The route the shortcut will use

ensoFeeAmount
string[]
required
metadata
object
required
transactionCost
string | null

Point-in-time lower-bound estimate of mandatory source-chain transaction fees in the native token smallest unit. Excludes priority fees, transaction value, bridge fees, and destination execution.

transactionCostUsd
string | null

Decimal string USD value of transactionCost. Null when the native-token price or source-chain fee estimate is unavailable.

preTransactions
object[]

Transactions that may need to be executed before the main shortcut transaction. Token approvals should be skipped when the current allowance is already sufficient.