GET
GetSwapInstructions
Builds a fresh route for a quote that has a source swap leg, one where order_params.src_token differs from order_params.lock_token. Call it immediately before sending the deposit; routing reflects pool state at build time. Sui quotes have no instructions: the user opens a swap intent and the relayer builds and runs the route itself. See Deposit on Sui.

Request

string
required
Hash returned by GetQuote.

Response

string
Contract the deposit call goes to: the BlinkRouter on EVM chains, the program id on Solana.
string
Input token.
string
Amount the depositor sends, base units: the quote’s expected_amount_in. For a Token-2022 source with a transfer fee, the route swaps this amount less the fee.
string
Output token of the swap. For a cross-chain quote this is the asset that bridges; for a same-chain quote it is the destination token.
string
Floor the swap output is checked against on chain.
The payload is a oneof matching the source chain’s VM.

EVM: evm

string
Aggregator the router will call. Allowlisted on the contract.
string
0x hex calldata to pass through.
string
Transaction value to attach. Non-zero only when the source token is the chain’s native asset.

Solana: svm

SvmInstruction[]
Instructions to run before the swap. These only create the swap authority’s associated token accounts, with the depositor paying the rent.
SvmInstruction
The aggregator swap instruction. The deposit wraps it in the program’s deposit_swap instruction, which runs the swap and checks the output against min_lock_amount.
SvmInstruction[]
Instructions to run after the swap. Empty for Solana source swaps; the depositor’s transaction closes the swap authority’s token accounts itself.
SvmLookupTable[]
Address lookup tables to attach to the versioned transaction.
string
Lamports the depositor transfers to the swap authority before deposit_swap, for venues on the route that pay rent from the swap authority. The API measures it by simulating the deposit, up to the chain’s configured limit. deposit_swap returns whatever the route did not spend in the same instruction. Zero means no transfer. The SDK refuses more than 4,000,000 lamports (0.004 SOL).
Each SvmInstruction carries program_id, accounts (pubkey, is_signer, is_writable), and base64 data. On Solana the route is built for the swap authority, a program-derived address with seeds swap_authority, the depositor, and the quote hash. The depositor is the quote’s depositor, or its refund_address when the quote request named none; a deposit signed by any other wallet derives a different swap authority and cannot execute the route. The depositor never signs anything the aggregator built: the transaction moves exactly amount_in from the depositor into the swap authority’s token account and swap_authority_lamports into the swap authority, the program signs the swap with the authority’s seeds, returns the authority’s unspent lamports, and closes the authority’s token accounts back to the depositor. The program rejects a deposit_swap whose swap is handed the depositor’s key, so a route cannot reach the depositor’s other balances. See Deposit on Solana for the full layout.

Using it

On EVM, map the fields straight onto the router call:
On Solana, hand the payload to buildSvmSwapDeposit in the SDK, which checks the payload and assembles the versioned transaction; the depositor is its only signer. Same-chain quotes on EVM use the same instructions with swapAndForward instead; see Same-chain swaps.

Errors

The last one means the market moved after the quote was issued. Getting a new quote is the correct response; retrying the instructions will keep failing while the route is worse than what was promised.

Headers

x-api-key
string

Optional. Without a key the request is rate limited per client IP and quotes carry extra spread.

Path Parameters

quote_hash
string
required

Response

OK

Exactly one of evm, svm, sui is set.

routerAddress
string
srcToken
string
amountIn
string
lockToken
string
minLockAmount
string
evm
object
svm
object
sui
object