After building a swap transaction viaDocumentation Index
Fetch the complete documentation index at: https://docs.argyros.xyz/llms.txt
Use this file to discover all available pages before exploring further.
POST /api/v1/swap, sign it, submit it to the network, and wait for confirmation.
Full flow
Transaction expiry
Every transaction includes alastValidBlockHeight. If the transaction is not confirmed by that block height, it expires and can never be included. This is typically around 60 seconds from when the transaction was built.
If a transaction expires:
- Get a fresh quote (prices may have changed).
- Build a new transaction.
- Sign and submit again.
Retry strategy
| Scenario | Action |
|---|---|
sendRawTransaction throws network error | Retry the same signed transaction (it’s idempotent) |
| Transaction lands but fails on-chain | Get a new quote and rebuild. Pool state has changed. |
| Transaction doesn’t confirm within 30s | Check getSignatureStatuses. It may still land. |
lastValidBlockHeight passed | Transaction expired. Rebuild from scratch. |
Preflight checks
By default,skipPreflight: false runs a simulation on the RPC node before broadcasting. This catches obvious failures early (wrong signer, insufficient balance, etc.).
Set skipPreflight: true only if:
- You already validated via the
/api/v1/swapsimulation. - You need the lowest possible submission latency.
Confirmation levels
| Level | Meaning | Use case |
|---|---|---|
processed | Transaction seen by the RPC node | Fastest, but can be rolled back |
confirmed | Voted on by supermajority of validators | Safe for most use cases |
finalized | Rooted in the chain, irreversible | Required for high-value operations |
confirmTransaction waits for confirmed level, which is appropriate for most swap integrations.