A gasless order replaces the user’s deposit transaction with a signature. The quote must have been requested with gasless: true; the user signs an authorization instead of sending a transaction, and an operator wallet submits the deposit and pays the gas. The gas cost is priced into the quote as the sponsor_gas fee component — or charged to the partner’s funding balance when the quote was requested with sponsor_fees. Gasless is available for cross-chain quotes whose source token is not the native asset, on chains where GetChains reports gasless: true. Same-chain swaps and native deposits are not gasless; GetQuote rejects them with gasless is not supported for this order.

Request

string
required
Hash of a quote requested with gasless: true.
The order is a oneof matching the source chain’s VM.

EVM: evm

The deposit is authorized with a permit2 SignatureTransfer witness signature. The witness binds the signature to the quote: ApsisDeposit(bytes32 quoteHash) for a plain deposit, ApsisSwapDeposit(bytes32 quoteHash, address bridgeToken, uint256 minBridgeOut) when the quote has a source swap. The spender is the quote’s gasless_router_address.
string
required
Address that signed and whose tokens are pulled.
string
required
Unused permit2 nonce chosen by the signer, decimal string.
uint64
required
Unix timestamp the signature expires at. A past deadline is rejected with signature deadline expired.
string
required
The permit2 witness signature, 0x hex.
string
Optional EIP-2612 permit signature approving permit2, for tokens where the owner has no standing permit2 allowance. 65 bytes, 0x hex.

Solana: svm

string
required
A fully user-signed deposit transaction with the quote’s sponsor_address as fee payer. The API validates it byte for byte — program, treasury, quote hash, amount, compute budget — then the sponsor co-signs and submits it.

Response

string
Echoed back.
string
pending, submitting, submitted, or failed.
string
The relayed deposit transaction, once submitted. Optional.
string
Failure reason when status is failed. Optional.
Submission is idempotent per quote hash: calling again returns the current state of the existing submission rather than creating a second one. Poll it until tx_hash appears or the status is failed; from there the order is tracked like any other deposit with GetOrder.

With the SDK

gaslessSteps on a chain adapter builds the signature or transaction, submits it, and polls until the deposit is on chain:

Errors