Connext NXTP Support
Please note, your funds are never lost! Connext is always non-custodial and your funds are always retrievable. In the worst possible case, you can reclaim your funds on the original chain 72 hours from the time you sent them.
This document is also available in:
Español
Thai
Vietnamese
Korean (-ing)
Korean (-ing) (2)
Debugging a Stuck Transfer
Understanding the Transfer Lifecycle
When debugging a stuck transfer, it is important to understand the lifecycle of a crosschain transaction.
The NXTP crosschain transaction lifecycle.
There are three phases:
- Auction: During this phase, you (the user) are paired with a router (liquidity provider) who will provide the exit liquidity for your transfer. For example, if you are transferring DAI from Optimism to Arbitrum the router would provide the DAI on Arbitrum in exchange for the DAI you supply on Optimism. Router selection is based on
- Prepare: During this phase, both parties lock up funds for a transfer — the user on the sending chain and the router on the receiving chain. Routers wait for the subgraph (a piece of infrastructure to easily process complex chain data) to show the user transfer before locking up liquidity on the receiving chain.
- Fulfill: During this phase, both parties unlock the funds for a transfer. The user provides a signature that is used to unlock their funds on the receiving chain, and the router uses the same signature to unlock the funds on the sending chain.
Once prepared, the transfer may be cancelled once it expires by either party if it is not fulfilled. Alternatively, the person who is owed funds can cancel the transfer prior to expiry rather than fulfilling. This means as soon as the transaction has been prepared, the user can cancel the transfer on the receiving chain while the router can cancel the transfer on the sending chain.
Steps to Debug
The following will show pictures from xpollinate.io, but the steps are the same to debug any NXTP transaction even if it is initiated from a different website!