Jump to content
Crypto Desk Report

Crypto markets, protocols and policy

Cross-chain swaps settle in stages, not in one step

Cross-chain swaps settle across source and destination chains, so integrators must track funding, execution, finality and recovery before marking a trade complete.

Crypto Desk Report Editorial#6a40025 min read

Cross-chain swaps settle in stages, not in one step

Cross-chain swaps settle through separate steps on the source and destination chains, so an integrator must track funding, execution, finality and delivery before showing a trade as complete. That differs from a same-chain swap, where one transaction can usually exchange assets and leave the resulting balance in the same account. Cross-chain routes add a second chain, and often a bridge, liquidity provider or solver that coordinates the handoff. The user sees one quote and one action; the integrator must represent a sequence whose parts can finish at different times. For the separate question of whether quickswap suits a first cross-chain swap, see the guide focused on that decision. Here, the key distinction is between a transaction being submitted and the swap being settled.

What does settlement mean in a cross-chain swap?

Settlement means the source asset has been committed and the agreed destination asset has been delivered, or the route has reached a defined recovery outcome. A source-chain transaction alone proves only that the user initiated the route. It does not prove that the destination transaction succeeded, or that the funds are recoverable if it does not.

A common route has a few stages: the user approves or deposits the source token, the source-chain transaction is included, the route waits for sufficient finality, and a destination-side transaction delivers the output. Depending on the design, a bridge message may trigger that delivery, or a solver may front the destination liquidity and later claim reimbursement. In either case, the chains do not share one transaction that commits both sides together.

That gap changes the meaning of “pending.” A route can be confirmed on the source chain while still waiting for a message, a solver, destination liquidity or destination execution. The application should preserve those distinctions in its status model. A submitted transaction is not a completed swap; a source confirmation is not destination receipt.

How do bridge, solver and atomic routes compare?

Bridge-and-swap routes move value across a bridge and then trade on the destination chain. They can draw on destination-side liquidity and familiar swap execution, but the user may depend on both the bridge and the destination trade. A delay or failure at either stage changes the final outcome.

Solver routes ask a participant to fulfill the destination side, often by delivering the quoted output before claiming funds or reimbursement under the route’s rules. This can make the user experience feel more direct. The trade-off is dependence on solver availability, quote terms, and the mechanism that lets the solver recover its costs. Integrators should show the quoted output and route conditions, not treat a solver’s presence as a guarantee of instant completion.

Atomic swap designs use cryptographic conditions and timeouts to link the two sides, so one party can claim funds only under specified conditions and the other side can reclaim after a deadline. This can provide a clear refund path, but it depends on compatible assets, timing and participant behavior. It is not the same as a universal transaction that executes across both chains at once.

The practical choice depends on what the application needs to promise. A route optimized for speed may rely more on liquidity and intermediaries. A route with an explicit recovery path may take longer or impose tighter conditions. Compare the failure handling and user obligation alongside the quoted output.

What should an integrator track from quote to delivery?

Model the route as a state machine, with transitions tied to observable events from the route and both chains. The exact states vary by protocol, but a useful record keeps the source transaction, destination transaction and route identifier connected. This lets support and the user see which step is still outstanding instead of seeing an unexplained spinner.

  • Quote: Record the expected output, expiry, route and any slippage or execution conditions shown to the user.
  • Source: Track approval and submission separately from inclusion and finality. Handle rejected, replaced or reverted transactions as distinct outcomes.
  • Destination: Wait for the destination action and verify the recipient, token and received amount before marking delivery complete.
  • Recovery: Surface a refund or retry path only when the route defines one, and track its conditions and deadline.

Make status changes idempotent, since indexers, callbacks and clients may report the same event more than once. Keep the user’s intended recipient and route terms available for reconciliation. If the destination amount differs from the quote, report the actual result and the reason the route exposes; do not silently label the quoted amount as delivered.

When is a cross-chain swap actually complete?

For the user, completion should mean the destination asset arrived at the intended address and the destination transaction reached the confirmation threshold your application uses. A source-chain success is evidence of progress, not a completion signal. A route that ended in a refund or recoverable state should be reported as recovered or refunded, not as a successful swap.

There is no single finality threshold that suits every chain or product. A fast interface can acknowledge source inclusion while clearly labeling the route as in progress; a settlement ledger may wait longer before treating the result as final. Keep those two purposes separate. If a destination event is later reorganized or a route remains unresolved, the application needs a way to revise its displayed status and notify the user.

The useful signals to watch are therefore concrete: source finality, route or message status, destination execution, actual delivered amount, and any expiry or recovery condition. A route is easier to integrate when it exposes these events and a defined outcome for failure. When comparing alternatives, weigh those guarantees and recovery mechanics against speed, output and the extra steps the user may have to take.