Send Swap Transaction
Broadcast a signed swap transaction to the blockchain network.
Overview
The Swap Send endpoint allows you to broadcast a signed transaction to the blockchain network. This endpoint should be used after obtaining a quote from the Swap Quoting endpoint and signing the transaction with your wallet.Request Body
The request body must be a JSON object with the following fields:Single Mode
chainId(required) — The blockchain identifier. Examples:solana:solana,evm:1(Ethereum),evm:42161(Arbitrum),evm:8453(Base),evm:137(Polygon),evm:56(BNB Chain)signedTransaction(required) — Base64-encoded signed transaction bytesawaitLanding(optional, boolean) — Whentrue, the endpoint blocks until the transaction is confirmed on-chain and returns detailed confirmation data including landing time and swap amounts. Default:false
Batch Mode (Solana MEV)
chainId(required) — The blockchain identifiercandidates(required) — Array of candidate transactions targeting different block engines (landers)lander(string) — Lander identifier (e.g.jito,nozomi,zeroslot)signedTransaction(string) — Base64-encoded signed transaction
awaitLanding(optional, boolean) — Same as single mode
Usage Examples
Fire-and-Forget (Default)
Await Landing (Solana)
Await Landing (EVM)
Batch Mode (Solana MEV)
Response Format
Response Fields
Data Object
success(boolean) — Whether the transaction was successfully broadcasttransactionHash(string, optional) — Transaction hash/signature on the blockchainrequestId(string) — Unique identifier for the requeststatus(string, optional) — Landing status, present whenawaitLandingis used:broadcasted— Transaction sent to the network (default whenawaitLandingis false)processed— Transaction processed by a Solana validator (fast, ~500ms, not yet confirmed by supermajority)confirmed— Transaction fully confirmed on-chain (EVM receipt or Solana RPC fallback)failed— Transaction landed on-chain but reverted/failedtimeout— Confirmation not received within the timeout period (30s Solana, 60s EVM)
onchainLandingTimeMs(number, optional) — Time in milliseconds from broadcast to on-chain confirmationlander(string, optional) — Which block engine landed the transaction (batch mode only, e.g.jito,nozomi)landingTimeMs(number, optional) — Time in milliseconds from send to first RPC acceptanceswap(object, optional) — Parsed swap data from the confirmed transaction (Solana only):tokenIn—{ address: string, amount: string }— Token senttokenOut—{ address: string, amount: string }— Token received
Error Field
error(string, optional) — Error message if the transaction failed
Example Responses
Broadcasted (fire-and-forget)
Processed (Solana with awaitLanding)
Confirmed (EVM with awaitLanding)
Failed On-Chain
Broadcast Error
Transaction Flow
- Get Quote: Call the Swap Quoting endpoint to get a serialized transaction
- Sign Transaction: Use your wallet to sign the transaction
- For Solana: Use
@solana/web3.jsto deserialize, sign, and re-serialize - For EVM: Use
viem,ethers.js, orweb3.jsto sign with gas estimation
- For Solana: Use
- Encode to Base64: Convert the signed transaction bytes to base64
- Broadcast: Send the encoded transaction using this endpoint
- Track: Either use
awaitLanding: trueto get immediate confirmation, or track using the returned transaction hash on blockchain explorers
Status Semantics
| Status | Meaning | Reliability |
|---|---|---|
broadcasted | Transaction sent, confirmation unknown | Pending |
processed | Solana: processed by leader validator | ~99.99% reliable |
confirmed | Fully confirmed on-chain | 100% reliable |
failed | Confirmed as failed/reverted | Definitive |
timeout | No confirmation within timeout | Unknown |
Important Notes
awaitLandinglatency: Solana ~500ms (PROCESSED), EVM ~1-3s depending on chain block time- Timeouts: Solana gRPC timeout is 30s with RPC fallback, EVM polling timeout is 60s
- Transaction Validity: Transactions may expire if not sent within a certain timeframe
- Slippage: If market conditions change significantly, the transaction may fail
- Batch Mode: Only supported for Solana. All candidates share a durable nonce so only one can land
Error Handling
Common error scenarios:- Insufficient Funds: Wallet doesn’t have enough balance to cover the swap + fees
- Slippage Exceeded: Market moved beyond acceptable slippage tolerance
- Invalid Signature: Transaction was not properly signed
- Expired Transaction: Transaction validity period has passed
- Network Congestion: Blockchain network is experiencing high load
Use Cases
- Automated Trading: Execute swaps programmatically with confirmation tracking
- Trading Bots: Use
awaitLandingfor real-time execution feedback - MEV Protection: Use batch mode with multiple landers for optimal landing
- DeFi Integration: Complete swap flows with on-chain confirmation in your application
Body
Chain dispatcher. Solana: solana:solana. EVM: evm:<chainId> (e.g. evm:8453 for Base). TON: ton:mainnet or ton:testnet.
"solana:solana"
Base64 of the signed payload. Solana: signed VersionedTransaction/Transaction bytes. EVM: raw signed RLP. TON: signed external_in_message BoC.
1"AQABAuObQ8Adqk1eqZxRMJg4r6vGtXq9k0...base64..."
Multi-lander batch (Solana only). One signed candidate per lander, sharing a durable nonce — only one will commit. Mutually exclusive with signedTransaction.
1When true, the endpoint blocks until on-chain confirmation and returns swap data.
false
Wallet that receives the referral fee on this swap. Echo from the original /quote request.
Referral fee amount in USD for this swap (feePercentage × amountInUsd from the /quote response). Persisted for dashboard attribution; not re-validated against the signed transaction.
x >= 01.25