Bridge tokens in Phantom

  • Updated

Bridging lets you trade one token for another on a different network, such as turning BTC into SOL, ETH into USDC on Solana, or Polygon USDC into ETH on Base, directly from the app. Bridging is also referred to as cross-chain swaps. Phantom routes your swap through trusted decentralized exchanges to find the best available price.

To swap between different tokens on the same network, such as SOL to USDC on Solana, see Swap tokens in Phantom.

How bridging works

When you swap tokens between two different blockchains, Phantom routes the transaction through a bridge. A bridge is a third-party service that locks or burns your tokens on the source network, then releases or mints equivalent tokens on the destination network.

Phantom uses LI.FI to find the best bridge route automatically. LI.FI is an aggregator that compares multiple bridges including Mayan, Relay, and deBridge, and picks the route with the best balance of speed, fees, and liquidity. You don't choose a bridge yourself.

A cross-chain swap typically has three or four steps:

  1. Your token is swapped or wrapped on the source network if needed, for example SOL to USDC on Solana before bridging.
  2. The bridge locks or burns your tokens on the source network.
  3. Validators or relayers confirm the transaction across both networks. This is where most of the wait time is spent.
  4. The bridge releases or mints tokens on the destination network. If the destination token differs from what the bridge delivered, Phantom does a final same-network swap.

Each step requires confirmations on its blockchain, which is why cross-chain swaps take longer than same-network swaps.

What counts as a bridge

Some pairs look like they should be simple but are still bridges, and some look like bridges but aren't.

SOL to ETH is a bridge. SOL is the native token of the Solana network and ETH is the native token of the Ethereum network. They live on different blockchains. Selecting SOL on Solana to ETH on Ethereum routes through LI.FI like any other cross-chain swap. There's no shorter path. Moving value between Solana and Ethereum requires a bridge, even though both are native tokens of major networks.

A Cash swap is not a bridge. If you're swapping your Cash account balance to a token like SOL or USDC, that's a same-network swap on Solana. Your Cash account holds CASH, a Solana-based token, so the swap does not use a bridge and is not affected by the cross-chain wait times in this article. If a Cash swap is failing, see Swap tokens with your Cash account instead.

Before you bridge

  • You need a small amount of the network's native token on both the source and destination networks to cover fees. For example, swapping Polygon USDC to Solana SOL requires POL on Polygon for the source-side fee and a small amount of SOL on Solana for any final swap step. For more information, see About network fees.
  • Review the quote before confirming. The quote screen shows the estimated arrival time, destination amount, bridge fee, network fees, and price impact. Bridge fees are typically 0.1 to 0.5%, but can be higher for less common pairs or low-liquidity tokens.
  • Double-check the destination network. If you select the wrong destination network, the bridge will deliver the tokens there and there's no easy way to reverse it.

Mobile app

Note: If your mobile app looks different from what's described here, you may be on a newer version. An update is rolling out gradually.

53 O2_Swap.gif
  1. Open the Trade tab or tap the + button, then tap Trade.
  2. In You Pay, choose the token you want to swap out of.
  3. In You Receive, choose the network and token you want to swap into.
  4. Enter the amount.
  5. Review the quote. Optionally, adjust the swap settings in the upper right.
  6. Tap Swap Now.

Tokens appear in your portfolio after the transaction confirms.

Bridge using Buy or Sell buttons

Use the Buy and Sell buttons to bridge tokens directly from token pages.

To buy:

buy-next-gen.png
  1. Open any token, then tap Buy.
  2. Enter the amount and choose which token to pay with. Your Cash account is set as the default payment method. To change it, tap Cash, then tap Other Tokens.
  3. Tap Review and review the quote. Optionally, adjust the swap settings in the upper right.
  4. Tap Confirm.

To sell:

sell-next-gen.png
  1. Open a token you hold, then tap Sell.
  2. Enter the amount and choose which token to receive. Your Cash account is set as the default destination. To change it, tap Cash, then tap Other Tokens.
  3. Tap Review and review the quote. Optionally, adjust the swap settings in the upper right.
  4. Tap Confirm.

Tokens appear in your portfolio after the transaction confirms.

Browser extension

  1. On the Home tab, click Swap.
  2. In You Pay, choose the token you want to swap out of.
  3. In You Receive, choose the network and token you want to swap into.
  4. Enter the amount.
  5. Review the quote. Optionally, adjust the swap settings in the upper right.
  6. Click Swap Now.

Tokens appear in your portfolio after the transaction confirms.

Wait times

Cross-chain swaps take longer than same-network swaps because they require confirmations on two blockchains plus bridge processing time.

Route Typical time
Solana to Ethereum, Base, or Polygon 5 to 20 minutes
Ethereum, Base, or Polygon to Solana 5 to 20 minutes
Polygon to Ethereum or Base (and reverse) 5 to 30 minutes
Any EVM network to Bitcoin (and reverse) 10 to 60 minutes
Sui to any other network (and reverse) 10 to 30 minutes

Times vary based on network congestion and bridge load. If the swap screen shows "1 minute remaining" but the swap isn't done, this is normal. The estimate reflects bridge processing time, not the underlying blockchain confirmation time. For Bitcoin and other high-confirmation networks, the swap can sit at "under 1 minute" while the destination block is still being mined.

Fees

A cross-chain swap can have up to four fee components:

Fee Description
Source network fee Paid to the source network in its native token. Required to submit the source-side transaction.
Cross-chain swap fee Charged by LI.FI's chosen bridge. Typically 0.1 to 0.5% of the swap value, sometimes higher for niche routes.
Destination network fee If the bridge requires a final swap on the destination network, you pay gas in the destination's native token.
Price impact The cost of trading against onchain liquidity. Larger swaps and lower-liquidity tokens have higher price impact.

The quote shown before you confirm includes all of these. If you receive less than the quoted amount, check the transaction on a block explorer to see exactly where the difference came from.

Bitcoin network fees can be unpredictable. During periods of high congestion, your transaction may sit in the mempool longer than usual. Phantom does not currently let you manually adjust Bitcoin fees.

Bitcoin swaps

Bitcoin is fundamentally different from Solana, Ethereum, and other EVM networks, and that affects how Bitcoin swaps work in Phantom.

Bitcoin address types

Phantom supports two Bitcoin address types:

  • Native SegWit (addresses starting with bc1q...): The older, more widely supported format.
  • Taproot (addresses starting with bc1p...): The newer format with privacy and efficiency benefits.

Both are derived from the same wallet but have separate balances. BTC received at a Native SegWit address won't appear in your Taproot balance in Phantom until you turn it on, and vice versa.

To switch between address types, go to SettingsPreferencesPreferred Bitcoin Addresses. For more information, see Supported Bitcoin addresses in Phantom.

Why some Bitcoin swap routes are grayed out

Not all Bitcoin swap routes are available for every address type. If you try to swap from BTC to a network like Polygon and the option is grayed out or you see "No quotes available," it's because the bridge LI.FI selected does not currently support that specific combination of the BTC address type and the destination route.

To work around this, switch to the other Bitcoin address type if you have a balance there, or swap BTC to SOL or ETH first and then swap to the token you need.

Bitcoin swap timing quirks

  • Confirmations matter. Bitcoin needs multiple block confirmations before the bridge releases destination tokens. Each block is roughly 10 minutes. A swap can sit at "Pending" for 30+ minutes and still be on track.
  • The on-screen timer is bridge time, not Bitcoin time. Don't trust the "1 minute remaining" countdown for Bitcoin swaps. It reflects LI.FI's bridge processing, not the Bitcoin block timer.
  • Mempool congestion. During heavy Bitcoin network activity, your transaction may take longer to confirm. Check mempool.space to see current congestion.

After a Bitcoin swap completes

  • Check both Native SegWit and Taproot balances. The bridge may deliver to one address type even if you expected the other.
  • Charts and balance displays may take a moment to update. If your balance doesn't appear within 5 minutes of the swap completing, restart the app.

Supported Bitcoin swap routes

See Supported Bitcoin swap routes in Phantom.

Troubleshooting

Most stuck swaps complete on their own. Wait at least 60 minutes for non-Bitcoin swaps and at least 90 minutes for Bitcoin swaps before assuming there's a problem. If your source tokens left your wallet but the destination tokens haven't arrived, that's normal mid-swap.

Check the status of your swap

Step 1: Check transaction history in Phantom

Open your transaction history in Phantom, then find the cross-chain swap. It will show one of these statuses:

  • Pending: The source-side transaction hasn't confirmed yet.
  • Swapping / In Progress: The source confirmed and the bridge is processing.
  • Completed: The destination tokens have arrived.
  • Failed: The swap could not be completed. Funds are typically refunded to your source wallet, but this can take time.

If the status shows Completed but you don't see the tokens, restart the app.

Step 2: Check LI.FI Scan

LI.FI Scan (scan.li.fi) is the most reliable way to see what stage your bridge is at. Copy your source wallet address, go to scan.li.fi, and paste it into the search bar. It shows three milestones:

  • Source transaction: Confirmed on the source network.
  • Bridge processing: Relayer or validator activity.
  • Destination transaction: Confirmed on the destination network.

If the source is confirmed but the destination is still pending, the bridge is still processing. Check again in 10 to 15 minutes.

Step 3: Check the source network explorer

If LI.FI Scan doesn't show your transaction (this happens occasionally for newer or less common routes), check the source network's explorer directly. Paste your source wallet address into:

Network Explorer
Solana solscan.io
Ethereum etherscan.io
Base basescan.org
Polygon polygonscan.com
Bitcoin mempool.space
Sui suivision.xyz

Step 4: Check the destination network explorer

Use the destination wallet address (usually the same wallet, but on a different network) and the destination explorer from the table above. If the destination shows an incoming transaction matching your swap, the bridge has completed and the tokens are in your wallet. Your Phantom app may just need a moment to refresh.

Find which step is stuck

Use LI.FI Scan to match your situation to the right action:

Symptom Status Action
Source transaction not confirmed Source-side transaction still pending on the source network Wait. Don't retry, as this may create a duplicate.
Source confirmed, bridge processing Bridge relayers are still working Wait. Bridge processing takes the bulk of the time.
Bridge completed, destination not visible in Phantom Tokens arrived but the UI hasn't refreshed Restart the app and check the destination explorer.
Source confirmed, bridge stalled or failed Bridge encountered an issue mid-swap See "What if my funds are stuck?" below.

Should you retry a stuck swap? No. Retrying may create a duplicate transaction. Wait for the bridge to finish.

What if my funds are stuck?

If the source transaction confirmed but the bridge has been stalled or failed for more than an hour, contact Phantom Support with the following:

  1. Source and destination wallet addresses.
  2. Source transaction hash or signature (find this in your transaction history by tapping the swap). On Solana this is an 88-character base58 string. On Ethereum, Base, and Polygon it's 66 characters starting with 0x. On Bitcoin it's 64 hexadecimal characters with no 0x prefix.
  3. The amount and tokens involved, for example 0.001 BTC to SOL.
  4. A screenshot of the swap status screen if available.

Phantom Support cannot reverse a bridge transaction or force the bridge to complete, but with this information we can escalate to LI.FI and the underlying bridge provider.

If your source-side transaction confirmed but the destination transaction never appeared on the destination blockchain at all, do not reset your wallet. Resetting will not recover the missing leg and may erase transaction history. Contact Support with both wallet addresses and the source transaction hash so we can escalate to the bridge provider.

"No quotes available"

LI.FI couldn't find a bridge route for that exact token pair. The most reliable workaround is to use a widely supported intermediate token:

  1. On the source network, swap your token to USDC, ETH, or SOL.
  2. Do the cross-chain swap with that common token.
  3. On the destination network, swap the common token to the token you actually wanted.

This adds an extra fee, but it almost always works because USDC, ETH, and SOL have the deepest cross-chain liquidity.

"Insufficient funds" or "Not enough ETH/SOL/POL"

You don't have enough of the native token on the source network to pay the network fee. This can be confusing because you might have plenty of the token you're trying to swap, but you still need a small amount of the native token (the network's gas token) to submit the transaction. See Not enough SOL, ETH, or other network fees.

Swap simulation failed

Phantom simulates the transaction before submitting it. If the simulation fails, the swap won't go through. Causes include:

  • Token has trading restrictions (some tokens block contract-initiated transfers).
  • Bridge route has temporary liquidity issues.
  • Slippage tolerance is too low. Try increasing it slightly.

Swap failed after loading

The bridge may have hit a liquidity issue or timeout mid-way. Try:

  • A slightly smaller amount.
  • A different intermediate token (for example, go through USDT instead of USDC).
  • Waiting a few minutes and trying again. Bridge liquidity refreshes regularly.

Received less than expected

Cross-chain swaps stack fees: source gas, bridge fee, destination gas, and price impact. The quote shown before confirming includes all of these. If the final amount is significantly below the quote, check both the source and destination explorer to see the exact deductions at each step. Slippage protection limits how much less you can receive, but small differences are normal.

SOL to ETH appears to do nothing

SOL to ETH is a bridge (see What counts as a cross-chain swap). If the swap appears to fail or do nothing when you set this pair, check that:

  • You've selected the correct networks for both tokens (the network selector is below each token).
  • You have native tokens on both sides for fees.
  • LI.FI returned a quote. If it shows "No quotes available," try a smaller amount or use USDC as an intermediate.

See also

Was this article helpful?

3 out of 3 found this helpful
Can't find what you're looking for?

Start a chat