Trading

Transaction Lifecycle

Each state a trade passes through, and what the user sees.

  1. 1
    Quote requested. Input is debounced; RwaMarkets requests a quote for the pair and amount.
  2. 2
    Quote available. Price, impact, minimum received and fees are displayed and refresh automatically.
  3. 3
    Review. The user reviews the final quote. Stale quotes are refreshed first.
  4. 4
    Awaiting signature. The wallet shows the unmodified transaction. The user can approve or reject.
  5. 5
    Submitting and confirming. The signed transaction is passed to the execution provider, which lands it on Solana and waits for confirmation.
  6. 6
    Success or failure. The result is shown with a link to the transaction on a Solana explorer.

Failure states

StateWhat happens
No routeNo trading route is currently available; nothing can be signed.
Insufficient balance / SOLThe trade is blocked before signing.
Rejected in walletNothing is submitted; the user can try again.
Quote expired / price movedThe transaction does not execute; a new quote is requested.
Failed to landThe transaction did not confirm; no swap took place.
Status unknownConfirmation could not be read in time; the explorer link shows the final outcome.

Duplicate protection

A trade cannot be submitted twice from repeated button presses; the interface locks execution until the current attempt resolves.