Skip to content
Blockchain Post

News on how crypto works

Why a swap’s recipient can change before confirmation

A swap’s recipient is fixed in its signed call, but a same-nonce replacement can change it before confirmation; trace the calldata and final token transfer.

The Blockchain Post Editors4 min read#0eee43

Why a swap’s recipient can change before confirmation

A swap route’s recipient can change before confirmation only if a different transaction replaces the pending one. A route is a set of instructions: take an input token, pass it through one or more pools, enforce an output limit, then send the result to an address. The wallet signs those instructions into transaction data. Once signed, that transaction cannot be edited in place.

The recipient is usually the address meant to receive the final token. A router may also send an intermediate token to another contract for the next hop. That is part of the route, not necessarily a change to the final destination. For cross-chain swaps, the source-chain transaction may instead send funds to a bridge or router that later delivers them on the destination chain. For that separate transfer, see steps for bridging Bitcoin to Ethereum with Quickswap. The recipient depends on the instructions for each leg.

What does the recipient field control in a swap?

The recipient field tells the contract where to send the output token when the swap completes. The route may include several pool trades, but those trades are usually grouped into one on-chain transaction. The router follows the encoded path and amount limits, then sends the result to the specified recipient.

Think of the router as a courier following a sealed delivery order. Pools are stops along the way; the recipient is the final address on the order. A route can name a contract for an intermediate handoff, while the final recipient remains the user’s wallet. The exact meaning depends on the router and command format, so inspect the transaction’s decoded data rather than assuming every displayed “recipient” field refers to the same hop.

Can the recipient change while a transaction is pending?

Not inside the signed transaction. On Ethereum-style networks, a pending transaction is a signed instruction waiting to be included in a block. Its destination and call data are fixed by the signature. A wallet or swap app can submit a replacement transaction from the same account with the same nonce; that new transaction can contain different call data, including a different recipient.

Transactions with the same sender and nonce are alternatives: only one can be executed on-chain. If a replacement is accepted and confirmed first, the original cannot later execute with that nonce. Until then, different nodes may still know about different versions, and the pending status alone does not prove which version will land. A “speed up” action often changes the fee while preserving the swap instructions; a changed recipient requires changed transaction data.

How can you check which address will receive the tokens?

Check the actual transaction that was confirmed, not only the quote screen or the first pending hash. The quote describes a proposed route; the signed call carries the instructions; the confirmed transaction and resulting token transfers show what happened. A quick check is to:

  • Compare the confirmed transaction’s sender and nonce with the pending transaction.
  • Decode the router call and identify its final recipient field, along with any intermediate recipients.
  • Check the token transfer events to see which address received the output.
  • Compare the minimum output and deadline with the quote you approved.

If the recipient in the confirmed call is not the address you intended, check whether your wallet or app submitted a replacement and whether you approved its details. A route refresh by itself does not rewrite a transaction already signed. Slippage limits and deadlines can make a swap revert if market conditions change, but they do not redirect the output. The key distinction is simple: the route decides how tokens move, while the signed call fixes where its final output goes. After confirmation, the transaction record shows which instructions took effect.