POST /execute returns exactly one of them, tagged by
executionType. Your integration reads that single field and branches. Nothing else about the
flow changes.
TRANSACTION
Sign and broadcast the returned transaction.
Across, Relay, Mayan, Eco Routes, THORChain, Jupiter, 0x Swap, 0x Solana, Nordstern, Fly Trade, KyberSwap, OKX DEX, Bebop (self-executed)
Across, Relay, Mayan, Eco Routes, THORChain, Jupiter, 0x Swap, 0x Solana, Nordstern, Fly Trade, KyberSwap, OKX DEX, Bebop (self-executed)
SIGNATURE
Sign typed data, with no gas and no send. RAVN submits it.
0x Gasless, Bebop (gasless), CoW, Relay (gasless permit)
0x Gasless, Bebop (gasless), CoW, Relay (gasless permit)
DEPOSIT
Send the origin asset to an address.
NEAR Intents, Chainflip, Rift, Houdini Swap, Layerswap, Relay (BTC source)
NEAR Intents, Chainflip, Rift, Houdini Swap, Layerswap, Relay (BTC source)
A few venues return different types depending on the source chain or execution mode. See the
Execution column on Supported Chains & Venues for exactly which.The payloads
quoteToken. Pass that one, not the token from /quote, to
/submit-signature and /status: a two-hop RAVN route is rebound to its second hop at execute, and
/submit-signature refuses its original token.
Branch logic
The approval step
Both TRANSACTION and SIGNATURE payloads can carry an optional approval, a ready-to-send
ERC-20 approve() call.
On
TRANSACTION: send approval, wait for it to be mined, then send transaction. The
swap moves your tokens with transferFrom, so an allowance that is merely broadcast, and not yet
in a block, still reverts, and the user pays gas for a failed transaction.
On SIGNATURE: land the allowance before you submit the signed order. Gasless does not mean
allowance-free: CoW settles through its vault relayer and Bebop through Permit2. Skip it and the
order is accepted and then silently never fills, with no error to debug.
Read the on-chain allowance for spender first and skip the approval when it already covers
amount. RAVN does not check the chain for you, so approval can be present on a token you
have already approved.

