POST
/
execute
/
swap
We recommend using the SDK over our APIs. The SDK will iterate the steps and return useful callback information. The APIs will require iterating through the steps manually.
Get started with the Relay SDK here.

Body

application/json
user
string
required

Address that is depositing funds on the origin chain and submitting transactions or signatures

recipient
string

Address that is receiving the funds on the destination chain, if not specified then this will default to the user address

originChainId
number
required
destinationChainId
number
required
originCurrency
string
required
destinationCurrency
string
required
amount
string
required

Amount to swap as the base amount (can be switched to exact input/output using the dedicated flag), denoted in the smallest unit of the specified currency (e.g., wei for ETH)

tradeType
enum<string>
required

Whether to use the amount as the output or the input for the basis of the swap

Available options:
EXACT_INPUT,
EXACT_OUTPUT
txs
object[]
source
string
refundTo
string

Address to send the refund to in the case of failure, if not specified then the recipient address or user address is used

refundOnOrigin
boolean

Always refund on the origin chain in case of any issues

useForwarder
boolean
default: true

Enable this to route payments via a forwarder contract. This contract will emit an event when receiving payments before forwarding to the solver. This is needed when depositing from a smart contract as the payment will be an internal transaction and detecting such a transaction requires obtaining the transaction traces.

useExternalLiquidity
boolean

Enable this to use canonical+ bridging, trading speed for more liquidity

usePermit
boolean

Enable this to use permit (eip3009) when bridging, only works on supported currency such as usdc

slippageTolerance
string

Slippage tolerance for the swap, if not specified then the slippage tolerance is automatically calculated to avoid front-running. This value is in basis points (1/100th of a percent), e.g. 50 for 0.5% slippage

appFees
object[]

Response

200 - application/json
steps
object[]

An array of steps detailing what needs to be done to bridge, steps includes multiple items of the same kind (signature, transaction, etc)

fees
object
breakdown
object[]
balances
object
details
object

A summary of the swap and what the user should expect to happen given an input