> For the complete documentation index, see [llms.txt](https://adam-rister.gitbook.io/syncswap/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://adam-rister.gitbook.io/syncswap/syncswap-what-can-be-reversed-and-what-cannot.md).

# SyncSwap: What Can Be Reversed, and What Cannot

<figure><img src="/files/JsNGrTB4lQRAWiikJV6i" alt=""><figcaption></figcaption></figure>

On [SyncSwap](https://syncswap.app/), a confirmed swap or approval cannot be undone; only a transaction still pending in the wallet or network may be replaced, while a later approval revocation stops future spending but cannot reverse the swap. The dividing line is not the button labelled Swap. It is the point at which the signed transaction executes on-chain.

| Stage                | What exists                                                  | What can change                                                |
| -------------------- | ------------------------------------------------------------ | -------------------------------------------------------------- |
| Quote                | A live estimate, route, fee and minimum-received calculation | Everything; no transaction exists yet                          |
| Wallet prompt        | An unsigned request to call the router or token contract     | It can simply be rejected, with no on-chain fee                |
| Pending transaction  | A signed transaction waiting to execute                      | It may be replaced with the same nonce and a higher fee        |
| Confirmed swap       | A completed router call and token transfers                  | Nothing is cancelled; an opposite trade is a new swap          |
| ERC-20 approval      | Permission for a spender to use a token allowance            | A later approval can reduce or revoke future access            |
| Reverted transaction | An attempted contract call that did not complete             | The swap does not settle, but execution gas can still be spent |

### SyncSwap’s boundary is the signature

SyncSwap is a non-custodial DEX: the wallet signs transactions, and the protocol’s contracts execute them. The current [official SyncSwap swap guide](https://syncswap.app/how-to-swap-on-syncswap) identifies zkSync Era, Linea and Scroll as supported networks and tells traders to review the route, price impact and minimum received before confirmation. That order matters. Until confirmation, the trade is a proposal. Afterwards, it is a state change.

A completed swap moves the input token through the selected pools and leaves the output token in the wallet. The router cannot be asked to “put it back.” Ethereum-style transactions are signed instructions that change network state; once a transaction reaches finality, the state is treated as permanently settled, not as an editable exchange order. [Ethereum’s transaction lifecycle](https://ethereum.org/developers/docs/transactions) makes the distinction clear: a submitted transaction enters a pool, gets included in a block, and later gains finality.

That does not mean every wallet confirmation is a catastrophe. A swap can revert because its minimum-output condition is not met, the route no longer works, or the wallet lacks enough gas. In that case, the token exchange does not complete. But a reverted call is not a free cancellation: network execution can still consume gas.

### A quote is not a transaction

The amount displayed before signing is an estimate assembled from liquidity, route choice, pool fees and the current market. It is useful, not binding. A quote can be refreshed, tokens can be changed, the amount can be reduced, and the wallet can be disconnected without touching on-chain balances.

The important guard is [slippage tolerance](https://support.uniswap.org/hc/en-us/articles/8643879653261-How-to-change-slippage-on-the-Uniswap-Web-app), meaning the maximum deterioration between the expected output and the executed output that the trade will accept. In practice, it becomes the minimum amount received. If the route cannot deliver at least that amount when the contract executes, the swap reverts instead of settling at a worse price.

I always change the default slippage setting before a material trade. Leaving it untouched accepts someone else’s trade-off between a failed transaction and a worse fill. Too tight, and normal price movement can make the swap revert; too loose, and the trade may settle at an output that should have been unacceptable. Neither setting is a way to undo a completed swap.

### What fees still cost you

There are two costs that readers regularly blend together. The pool’s swap fee is part of the trading calculation and affects the output. Network gas pays to execute the transaction on the selected rollup. SyncSwap’s technical documentation describes Aqua Pool as the pool type with dynamic fees, while Classic and Stable pools generally use fixed-fee behaviour. [The protocol’s fee documentation](https://docs.syncswap.xyz/syncswap-technical-docs/integrations/introduction-to-protocol) is the place to check that mechanism rather than assuming one fee model applies to every route.

A rejected wallet prompt costs no gas because nothing reached the chain. A pending transaction replaced with a cancellation transaction costs gas for the replacement if it succeeds. A confirmed swap has already paid its execution cost, pool fee and whatever price movement occurred. Selling the received token back may reduce market exposure, but it creates another route, another pool fee, another gas charge and another exposure to price movement. That is damage control, not reversal.

### Approval survives a swap

Many token swaps require an [ERC-20 allowance](https://eips.ethereum.org/EIPS/eip-20), which is permission for a specified spender to transfer up to a stated amount of that token from the holder’s wallet. The approval and the swap are separate transactions unless the token and interface use a different signing flow. An approval can therefore settle even when the later swap never happens.

Once confirmed, the approval event cannot be erased from history. What can still be changed is the current allowance. A new `approve(spender, 0)` call can revoke it, or a new approval can set a smaller amount. That new call costs gas and affects only future spending; it does not retrieve tokens already transferred by a completed SyncSwap trade.

Disconnecting a wallet changes the browser session, not the allowance. A contract with an existing allowance may still retain that permission until it is changed on-chain. [Ethereum’s approval-revocation guidance](https://ethereum.org/guides/how-to-revoke-token-access) confirms that revocation requires a new transaction and that disconnecting alone does not remove access.

### Read SyncSwap before signing

Before approving a transaction, check the active network, token contract, input amount, minimum received, price impact, route and approval target. The [SyncSwap app](https://syncswap.app/) is where the live route and pool information can be checked immediately before the wallet request appears. Do not rely on a copied router address or a screenshot from another chain.

If the transaction is still pending, a wallet may offer Speed Up or Cancel. Technically, this means broadcasting a replacement from the same account with the same nonce and a higher fee. It is an attempt to occupy that nonce before the original transaction executes, not a protocol-level undo button. [Ethereum’s pending-transaction guidance](https://ethereum.org/community/support/faq) notes the same limitation: replacement is relevant while the transaction remains pending, and it is no help after execution.

The practical rule is blunt. Reject an unwanted prompt. Replace a genuinely pending transaction if the wallet and network permit it. Revoke an allowance if future token access is no longer wanted. Treat every confirmed swap as final, because the chain does.

### FAQ: The remaining questions

#### Can an opposite swap restore the original amount?

No. It is a separate trade at the current price, with a new route, pool fee, gas cost and minimum-received condition.

#### Can a confirmed approval be cancelled?

No. It can be superseded by a new approval, including an approval of zero, to stop future spending.

#### Can a pending SyncSwap transaction always be cancelled?

No. Replacement only has a chance while the original remains pending, and the replacement must meet the wallet and network’s fee requirements.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://adam-rister.gitbook.io/syncswap/syncswap-what-can-be-reversed-and-what-cannot.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
