Stuck Transactions

Symbiosis WebApp user guide: What stuck transactions are and how to revert them via Symbiosis WebApp.
A stuck transaction means that a user has given away assets on the source blockchain and gets nothing on the destination blockchain. It can occur only with a cross-chain operation: a cross-chain swap, cross-chain Zap, bridging, adding liquidity to a third-party lending protocol, etc.
A stuck transaction cannot be accomplished; it can be reverted instead.
Symbiosis WebApp supports two sets of blockchains: for Mainnet and Testnet:
You may consider using Symbiosis WebApp on Testnet first to get familiar with the application's functionality.

Reverting a Stuck Trade

Requirements to operate:
  • Your wallet is installed and connected to Symbiosis WebApp,
  • You have enough native assets to pay for a transaction on the source blockchain.
To find and revert a stuck trade:
  1. 1.
    Navigate to Symbiosis WebApp > the Stuck Transactions section:
The red circle with a number indicates that there is one stuck transaction. To get more details press on this icon:
In the Stuck Transaction view, you will find all stuck transactions from all blockchains for the address currently active in your connected wallet:
If you did a cross-chain swap and the recipient's address differs from the sender's address, and the recipient's address has not received the sent tokens, then to see the stuck transaction, you should activate the address that did not received the sent tokens (the recipient's address) in your wallet.
WebApp lists the stuck transactions that happened during the last 10,000 blocks. More ancient transactions can be reverted though they are not shown via WebApp interface. So, if you use WebApp, please do not wait long to perform reverts.
2. When you revert a stuck trade the transaction is sent to the network where you have not received tokens. So, if your active current network is a different one, you should switch it:
3. Press on the Revert icon. Having been pressed the button gets inactive:
4. Confirm the operation in your connected wallet and wait a bit to get tokens:

After Reverting

There are two important things to pay attention to
  1. 1.
    The reverting transaction is sent to the blockchain where the user has not received assets.
  2. 2.
    Once the reverting has been accomplished, the user receives stablecoins that may differ from the exchanging token of the original cross-chain operation (the stuck one).
Let's consider a couple of examples:
  1. 1.
    A cross-chain swap UNI (Ethereum) -> CAKE (BSC) got stuck. The route for such a cross-chain swap may look like: UNI-> USDC | sUSDC-> BUSD-> CAKE To revert it, the reverting transaction is sent to BSC, and the user gets USDC on Ethereum.
  2. 2.
    A cross-chain swap CAKE (BSC) -> UNI (Ethereum) got stuck. The route for such a cross-chain swap may look like: CAKE-> WBNB-> BUSD-> sUSDC | USDC-> WETH-> UNI To revert it, the reverting transaction is sent to Ethereum, and the user gets sUSDC on BSC.
To illustrate the second example, we set the transaction deadline to a very short time (10 seconds) and perform the following cross-chain swap (CAKE -> UNI):
The sequence of the swaps CAKE-> WBNB-> BUSD-> sUSDC on the source blockchain (BSC) has been successfully accomplished, but, due to the insane short deadline, the second part of the trade was canceled:
And now we can see this trade on the list of the stuck transactions:
Please notice:
  1. 1.
    The reverting transaction will be sent to Ethereum (the destination blockchain of our original cross-chain trade that got stuck). So, we should have native cryptocurrency on this blockchain to pay the gas fee (ETH in this example).
  2. 2.
    Once the revert is done, we will get sUSDC tokens on BSC.
Let's revert it > press on the Revert icon and confirm the transaction in the wallet. As soon as the transaction is processed and confirmed:
We get sUSDC tokens on BSC:
Our stuck transaction changed its status from Revert to Reverted:
If you reload the page, the stuck transactions with the Reverted status are gone:
What are sUSDC tokens? sUSDC is an ERC20 token and one of sTokens (wrapped or synthetic tokens) used by the Symbiosis protocol to perform cross-chain swaps. Please refer to Wrapped Tokens and sTokens | Symbiosis for more information on sTokens.
What can I do with sTokens? There are three ways to deal with sTokens:
  1. 1.
    Just keep them,
  2. 2.
    Swap them to stablecoins on a Symbiosis DEX. sUSDC tokens from our example can be exchanged for BUSD tokens. Please refer to Dealing with sTokens for instructions on exchanging sTokens.
  3. 3.
    Become a liquidity provider: add the sTokens to an appropriate liquidity pool, get a reward for providing liquidity and burn them later to get stablecoins on the blockchain that this liquidity pool links to. sUSDC tokens from our example can be added to the liquidity pool BUSD <> sUSDC located on the BSC network. When we burn sUSDC tokens added to this pool, we get USDC tokens on Ethereum. Please refer to Liquidity Pools for instructions on adding/withdrawing liquidity to/from a liquidity pool.
If you would like to learn more about stuck transactions, please refer to this document.