Fix a swap problem

Does a successful transaction receipt prove my swap completed?

A successful outer transaction does not always prove every intended swap step ran; verify settlement and recipient balances.

Status 1 proves that the top-level transaction completed successfully. It does not prove that every action you expected occurred, that you chose the correct token, or that the output reached your intended account.

Success has a specific technical meaning

The receipt standard reports the result of the top-level call. Some contracts intentionally tolerate failure in a nested action. For example, Uniswap’s Universal Router supports an allow-revert flag, under which an individual command can fail without reverting the complete transaction.

That capability does not mean an ordinary successful swap is suspicious. It means the receipt status alone is too coarse to establish a complete economic outcome.

Verify what settled

  1. Confirm that the transaction was a swap, not only an approval.
  2. Identify the input token and amount actually taken from your account.
  3. Identify the output token contract, amount and final recipient.
  4. Check for refunds, wrapped-native output or a documented partial result.

Consider a hypothetical route that tries one command, tolerates its failure and returns unused input. A successful receipt with a refund is not evidence that the requested purchase completed. The balance changes explain the result.

If the explorer’s token summary is incomplete, use the application’s order detail and official support alongside chain evidence. Do not interpret the transaction destination—the router address—as necessarily being the final token recipient. Those are different roles.

When reporting a discrepancy, quote the expected result and observed transfers separately. “Status one, but output reached this other address” is a concrete problem to investigate.

Sources & verification (2)

Source-check date is recorded in the article details. URLs are provided for manual verification. Use Copy to keep this page open.

  1. EIP-658: Embedding transaction status code in receipts

    Receipt status indicates success or failure of the top-level call.

    https://eips.ethereum.org/EIPS/eip-658
  2. Universal Router Commands

    Optional command failure and payment/cleanup behavior in Universal Router.

    https://developers.uniswap.org/docs/protocols/universal-router/concepts/commands

Continue reading

How to identify your actual input and output in a swap receipt I approved a token but received nothing: did I swap?