USDC pools let a swap move between assets that lack a direct trading pair. The route trades the first asset for USDC, then USDC for the destination asset. If your swap is pending, it may still be waiting for a blockchain deposit to confirm or for the destination transfer to finish.
Why does a route use USDC in the middle?
USDC is a common trading asset, so a system can connect many assets with fewer, deeper pools. Without a shared pair, each asset would need its own pool with every other asset. That spreads available liquidity thinly across many routes.
Think of a currency exchange that quotes many currencies against dollars. A direct BTC-to-SOL pool would need its own traders and funds. With BTC-USDC and USDC-SOL pools, liquidity in the common asset can serve both legs. This can make more routes practical, though the final price still depends on liquidity and trade size.
What happens from deposit to delivery?
A cross-asset route has three broad stages: deposit confirmation, pool trades, and destination delivery. First, the source blockchain records your deposit. The swap network waits for enough confirmations before treating it as final; the required wait varies by chain and transaction.
Next, the network records the deposit and executes the route through its pools. For example, a Bitcoin-to-Solana swap can trade BTC for USDC, then USDC for SOL. The USDC is an intermediate trading asset; it does not have to arrive in your wallet. Finally, the network sends native SOL to the destination address. This kind of route does not require the user to receive wrapped BTC or wrapped SOL.
Chainflip uses USDC as a common pool asset in its cross-chain exchange. That helps connect assets across chains through pool trades, while the user’s intended result remains delivery of the chosen destination asset.
What can make the swap pending or more expensive?
A pending status can mean the source deposit is still waiting for confirmations, the pool trades have not yet completed, or the destination transaction is awaiting confirmation. Bitcoin and Solana have different block times and transaction rules, so the same route can take different amounts of time depending on which chains it touches.
The route’s price reflects both pool legs. Each leg can have its own trading cost and price impact, meaning a large trade may move the available price more than a small one. The total can also include network transaction costs for sending funds on the source and destination chains. The amount shown before sending is the useful reference for your specific route; a general fee figure cannot describe every pair and trade size.
What should you check if it is stuck or failed?
Start with the source transaction. Check that it succeeded on the source blockchain, and confirm that the asset and amount match the swap you intended. If it is still unconfirmed or failed on that chain, the swap network may not have a completed deposit to process.
If the source transaction succeeded, keep its transaction ID and check the swap’s latest status before taking action. Look for whether the deposit was recognized, whether the trade ran, and whether a destination transaction was sent. If delivery is pending, verify the destination address and chain against your original request. Do not send a second deposit just because the first route is taking time; you could create another swap.
Your next step is to identify the stage that has not completed, using the source transaction and swap status as evidence. If the source deposit is confirmed but the route has no clear outcome, use the service’s official support channel and provide the transaction ID and destination details.