POST
/
execute
/
bridge
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
currency
enum<string>
required
Available options:
anime,
btc,
cgt,
degen,
eth,
omi,
pop,
sipher,
tg7,
tia,
topia,
usdc,
xai
amount
string
required

Amount to bridge as the base amount (can be switched to exact input using the dedicated flag), denoted in wei

appFees
string[]

App fees to be charged for execution

source
string
refundTo
string

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

refundOnOrigin
boolean

Always refund on the origin chain in case of any issues

useExactInput
boolean

Enable this to use the exact input rather than exact output

useExternalLiquidity
boolean

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

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.

usePermit
boolean

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

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