Execute a signed gasless route
Submit a route; the relayer fronts all gas, tries ranked routes in net-output order and fails over on error, then returns a route id to track. Use mode=permit2 for a user-signed off-chain pull. Add header x-anygas-sandbox: 1 for a zero-funds simulation. Rate limit 8/min. REHEARSAL: send dryRun:true (or live:false) for a rail-independent dry run that broadcasts nothing, or the x-anygas-sandbox: 1 header for a full simulation with sbx_ ids.
THIS ENDPOINT BROADCASTS REAL TRANSACTIONS BY DEFAULT. Omitting live does NOT mean dry run. To simulate without moving funds, send "live": false or "dryRun": true (or the header x-anygas-sandbox: 1 for a fully simulated route with sbx_ ids). Requests to burn/null addresses are refused with BURN_ADDRESS_REFUSED because those funds would be unrecoverable; pass "allowBurnAddress": true only if the burn is intentional. Amounts must be a positive integer string in base units — malformed, zero or negative amounts are rejected with BAD_AMOUNT on the dry path as well as the live one.
minOut coverage: the Robyn float lane enforces it and refuses the transfer with BELOW_AGREED_OUTPUT before any custody change. On third-party bridge rails minOut is passed through to the underlying bridge as its slippage floor rather than enforced by Robyn, so the guarantee is the bridge's, not ours. Use POST /api/floatlane/execute when you need Robyn itself to refuse a route that would deliver less than you agreed to.
Request
- Base URL: https://api.anygas.xyz/svc
- URL: https://api.anygas.xyz/svc/api/route/execute
- Auth: none declared
Headers
Set to "1" to simulate the full execute lifecycle with zero funds — no signature, no relayer spend, nothing on-chain. Returns an sbx_ id that progresses BRIDGING -> DONE in ~40s.
Optional API key (ak_…). Never required for reads; only tags requests for usage visibility.
Request body
Example request
{
"amount": "5000000",
"fromToken": "USDC",
"toToken": "USDC",
"toAddress": "0x8EdE0eEb8C03a45886836A1baDec03CdB08cDFb2",
"permit2": {
"owner": "0xAbC0000000000000000000000000000000000001",
"permitted": {
"token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "4000000"
},
"nonce": "0x9f2c…",
"deadline": "1785300000",
"signature": "0x…"
}
}Response
Route accepted (or FUNDS_REQUIRED for an unfunded non-EVM lane)
Example response
{
"id": "rt_1a2b3c4d5e6f",
"status": "BRIDGING",
"gasless": true,
"bridge": "across",
"aggregator": "lifi",
"robynFee": "12500",
"bridged": "4987500",
"stage": "RECEIVING",
"track": "/api/route/status?id=rt_1a2b3c4d5e6f"
}Changes
No recorded changes to this operation across all 1 revision of this API.