{"uid":"cap_bYjEh3R06lLBRt-3VFjIu","slug":"bridgepilot-route-prepare-9b049936","name":"BridgePilot Route Prepare","description":"Re-quotes a chosen cross-chain route and returns unsigned approval and transfer transactions after deterministic checks (allowlisted contract, decoded calldata, output tolerance). Non-custodial: the caller signs with their own wallet.","url":"https://bridgepilot.onrender.com/v1/routes/prepare?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"amount":{"type":"string","pattern":"^[1-9][0-9]*$","description":"Integer amount in the token smallest unit (USDC has 6 decimals: 100 USDC = \"100000000\")."},"sender":{"type":"string","description":"Sender EVM address (signs the transactions)."},"provider":{"enum":["lifi","across"],"type":"string","description":"Provider chosen from the quote."},"providers":{"type":"array","items":{"enum":["lifi","across"],"type":"string"},"description":"Optional subset of providers to query."},"recipient":{"type":"string","description":"Recipient EVM address on the destination chain."},"constraints":{"type":"object","properties":{"min_output":{"type":"string","description":"Minimum acceptable output in destination token base units."},"include_review":{"type":"boolean"},"max_slippage_bps":{"type":"integer","maximum":10000,"minimum":1},"max_time_seconds":{"type":"integer","minimum":1},"max_total_cost_usd":{"type":"string","description":"USD decimal string, e.g. \"1.50\"."},"max_value_loss_bps":{"type":"integer","maximum":10000,"minimum":1},"require_executable":{"type":"boolean"}},"additionalProperties":false},"source_chain":{"type":["string","integer"],"description":"Chain key (ethereum, base, arbitrum, optimism, polygon) or numeric chain id."},"source_token":{"type":"string","maxLength":64,"description":"Token symbol from GET /v1/assets (e.g. USDC, ETH) or token contract address."},"accepted_output":{"type":"string","pattern":"^[1-9][0-9]*$","description":"Output accepted from the quote, destination token base units."},"max_alternatives":{"type":"integer","maximum":5,"minimum":0},"selection_policy":{"enum":["highest_net_output","fastest"],"type":"string","default":"highest_net_output"},"destination_chain":{"type":["string","integer"],"description":"Chain key (ethereum, base, arbitrum, optimism, polygon) or numeric chain id."},"destination_token":{"type":"string","maxLength":64,"description":"Token symbol or contract address on the destination chain."},"max_output_drop_bps":{"type":"integer","maximum":500,"minimum":0}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_L7OwStkuW3Mny7_s2iLvy","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Re-quotes a cross-chain bridge route and returns unsigned approval and transfer transactions ready for wallet signing, with deterministic safety checks on contracts, calldata, and output tolerance.","exampleAgentPrompt":"Prepare the bridge transactions for me to sign: I want to move 500 USDC (500000000 base units) from Ethereum to Base, sending from 0xMySenderAddress to 0xMyRecipientAddress using the Across provider, with max slippage of 30 bps and minimum output of 498000000 USDC base units.","exampleUseCases":[{"title":"Safe USDC bridge to Base","prompt":"Get the unsigned bridge transactions ready for me to sign — I want to move 1000 USDC (1000000000 base units) from Ethereum to Base using Across, from my wallet 0xABC...123 to the same address on Base, with max slippage of 50 bps and max total cost of $2.00."},{"title":"ETH transfer from Arbitrum to Optimism","prompt":"Prepare a cross-chain transfer: bridge 0.5 ETH (500000000000000000 wei) from Arbitrum to Optimism, sender and recipient both 0xDEF...456, using LI.FI, and make sure the output is at least 0.498 ETH with max 25 bps slippage."},{"title":"Fast cross-chain token move for DeFi position","prompt":"I need the fastest route — prepare bridge transactions to move 200 USDC from Polygon to Arbitrum, from address 0x111...AAA to 0x222...BBB, using the fastest selection policy and max 100 bps slippage, accepted output 199000000 base units."}],"resultDescription":"Returns a re-quoted route with unsigned approval and transfer EVM transactions (calldata, to, value, chainId), deterministic safety check results (allowlist verification, decoded calldata validation, output tolerance confirmation), and fee/output breakdown. The caller signs and broadcasts these transactions independently with their own wallet.","failureModes":["Route no longer available or repriced beyond tolerance — returns error indicating quote expired or output below min_output","Contract not on allowlist — returns safety check failure blocking transaction preparation","Slippage or value loss exceeds specified constraints — returns constraint violation error","Invalid or unsupported chain/token combination — returns 400 with unsupported asset error","Malformed sender/recipient address — returns validation error","Provider (lifi/across) temporarily unavailable — returns 503 or provider-specific error"],"whenToPreferThis":"Use this endpoint when you have already obtained a route quote and need to prepare verified, unsigned transactions for non-custodial signing. Prefer this over generic bridge APIs when you require deterministic safety checks (contract allowlisting, calldata decoding, output tolerance) before committing to sign. Ideal for AI agents or automated workflows where trust minimization and pre-signing validation are critical before executing a cross-chain transfer.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-31T18:34:43.361Z","isFirstParty":false,"canonicalSlug":"bridgepilot-route-prepare-9b049936"}