A delayed Chainflip swap is easiest to diagnose by checking its stages in order: source transaction, deposit witnessing, then destination payout. Each stage has its own transaction record and timing, so you can tell whether the funds are still confirming, being processed, or already sent to the destination wallet.
- Start with the source transaction hash and confirm it reached the deposit address.
- Bitcoin and Ethereum deposits can take different numbers of blocks to be witnessed.
- After the swap is processed, look for a separate payout transaction on the destination chain.
Source-chain confirmation is the first place to check
The source transaction is the on-chain transfer from your wallet to the deposit address. Open its hash in an explorer for that chain and check that it succeeded, went to the intended address, and is included in a block; if it is still pending, the swap cannot move on yet.
For example, an Ethereum transaction may appear in your wallet as submitted while still waiting for inclusion in a block. Ethereum.org’s documentation explains that transactions must be included in a validated block to change the network’s state. A Bitcoin transaction also gains confirmations as more blocks build on the one containing it, as described in the Bitcoin Developer Guide.
When opening a new swap, the deposit address belongs to the swap details registered for that request. Chainflip is one way to arrange a native-asset swap across chains; use the address and destination details associated with the specific swap you are making, rather than reusing an old address from a previous one.
Deposit witnessing is the handoff into the swap
Witnessing is when the protocol observes the source-chain deposit and records it for processing. A source transaction can be confirmed in its own explorer before this handoff is complete, so “confirmed” on the source chain does not necessarily mean the swap has already been executed.
Chainflip’s protocol documentation gives a useful timing reference: its current thresholds are six Ethereum blocks, about 90 seconds, and three Bitcoin blocks, about 30 minutes. These are estimates based on block production, not countdowns; busy networks, slow block production, or higher confirmation requirements for a large transfer can extend the wait.
If the source transaction has enough confirmations but the swap has not advanced, keep its hash and compare the deposit address, asset, and amount with the request. Avoid sending a second payment to “unstick” the first one: another deposit may be treated as another swap or create a separate problem to resolve.
Destination payout is a separate transaction
Once the deposit is witnessed and the swap is processed, the network still has to broadcast the output asset on the destination chain. This step creates a new transaction hash on that chain, so check the destination wallet’s network and its explorer, rather than expecting the original source transaction to show the final funds.
This stage is the right place to look when the swap has advanced but the output is not visible. A payout may be waiting for the destination chain to include it in a block, or it may have landed at the destination address specified when the swap was set up. Check that address carefully, especially if you control several wallets.
The amount received can also differ from the amount sent because execution and the destination transfer have costs. Chainflip’s “How Swapping Works” documentation describes the output payout as a distinct transaction and says estimated destination-chain gas is deducted before broadcast; a small difference alone does not show that a swap is stuck.
A stale or unmatched deposit needs a careful check
A deposit sent to an expired or mismatched channel may not proceed like a normal swap. Chainflip’s Deposit Channels documentation says channels close after 24 hours, and its swap-flow documentation warns that a late deposit may no longer be recognised. That makes the age and details of the original request important when the transaction is confirmed but no swap appears.
Before taking another action, compare the transaction hash, asset, amount, address, and send time with the original request. If the channel may have expired or any detail differs, preserve those records and use the relevant recovery process instead of assuming the deposit will automatically restart.
Follow the hashes from source confirmation to witnessing to destination payout; the last stage with no transaction is where the delay sits.