How to move an asset cross-chain without a bridge
Swap crypto
Live rates · no accountSend exactly to:
This asset needs a memo / tag. Send it with or the exchanger cannot credit your deposit.
You receive about at . Exchange reference .
Status: waiting for your deposit
You send from your own wallet straight to the exchanger — nothing to connect, no account, and you stay on this page throughout. Rates are indicative until a swap is opened.
The swap is carried out by an independent exchanger and the deposit address above is theirs. loomprotocol.xyz never holds, receives or controls your funds, has no key to that address, and earns a referral commission. Opening a swap sends your receiving address, IP, browser and timezone to the exchanger for their compliance checks; we store none of it. Check their terms, fees and country restrictions before sending anything.
You want to move ETH from Ethereum to SOL on Solana. The usual answer is a bridge: a smart contract that locks your ETH on one side and mints a wrapped version on the other. That works until the bridge gets exploited, or the wrapped token loses its peg, or the team behind it disappears.
There is another way. A cross-chain swap service can send your asset from one chain to another without you ever trusting a bridge or a centralised account. No locking. No wrapping. No waiting for someone to verify a proof. The mechanism is simpler than it sounds, but the details matter because mistakes here are permanent.
What actually happens
The service runs a matching system. It has pools of native tokens on multiple blockchains: real ETH on Ethereum, real SOL on Solana, real USDC on both. When you request a swap, the system finds a counterparty who wants the opposite trade, or it draws from its own inventory. It sends you SOL from its Solana wallet at the same time it receives your ETH on Ethereum. The two transactions happen in parallel, not sequentially.
That is the key difference from a bridge. A bridge moves a representation of your asset; a cross-chain swap moves the asset itself. You receive native SOL, not a wrapped version. You can use it immediately in any Solana dApp without checking a bridge contract or trusting a custodian.
Settlement speed and the timing problem
Blockchains confirm transactions at different speeds. Ethereum takes twelve seconds. Solana takes under a second. This creates an obvious problem: if the service sends your SOL before it sees your ETH confirm, you could reverse the ETH transaction and walk away with both. If it waits for your ETH to confirm before sending SOL, you wait twelve seconds plus block time, and the service still bears exchange-rate risk during that window.
So how do cross-chain swap services settle trades when blockchains have different confirmation times? They use a combination of pre-signed transactions, time-locked escrows, and monitoring nodes. The service signs a transaction that sends you SOL but makes it invalid until a certain block height or a specific on-chain condition is met. Your ETH transaction must reach a minimum number of confirmations before that condition unlocks. The system is not instant, but it is trustless in the sense that neither side can steal from the other without violating the blockchain's consensus rules.
The destination tag problem
Some blockchains use a single deposit address for many users. Exchanges and some cross-chain services do this to save on wallet creation costs. When you send to that address, the system needs a secondary identifier to know which user the deposit belongs to. That identifier is called a destination tag on XRP Ledger, a memo on Stellar, or a payment ID on some other networks.
What is a destination tag and why do some swaps require one? It is a number you attach to your transaction so the receiving system can credit you. If you send funds without it, the system sees a deposit but has no way to know it is yours. Those funds may be recoverable, but only if the service operator manually reviews the transaction and your support ticket. That can take weeks. Some services do not attempt recovery at all. Always check whether the destination field is mandatory before you send.
Why tokens look different on different chains
Why does the same token have a different contract address on each blockchain? Because a token is a smart contract, and each blockchain has its own virtual machine with its own address space. USDC on Ethereum is contract 0xA0b8... On Solana, it is a completely different program with a different address. The token is the same economic asset - Circle can freeze or mint it on both chains - but the software that represents it is not the same code. A cross-chain swap handles this by sending you the native version on the destination chain. You do not need to know the contract address on the source chain; you just need to send the correct asset to the correct address on the correct network.
What can go wrong
Why do cross-chain swaps sometimes fail after I send my coins? The most common reason is slippage. The exchange rate moves between the moment you initiate the swap and the moment your transaction confirms. If the rate moves beyond the acceptable range the service set, the swap cancels. Your coins are returned to your wallet, but you pay the network fee for a failed transaction. Another common failure is insufficient gas. If you send ETH to a swap contract without enough gas for the return transaction, the service cannot complete its side. Some services return your funds minus gas; others do not.
What happens if I send tokens to the right network but the wrong contract address? You lose them. There is no undo button on a blockchain. If you send USDC to a Solana address but use the Ethereum contract address as a memo, or if you send to an exchange deposit address that expects a different token, the receiving wallet accepts the transaction because the address is valid. But the recipient cannot use or forward the token because their wallet does not recognise the contract. Recovering such funds requires the cooperation of whoever controls the private key for that address. If that is a service, they may help. If it is a random user, they will not.
Cross-chain swap versus bridge transfer
What is the difference between a cross-chain swap and a bridge transfer? A bridge transfer moves a representation. You deposit ETH into a bridge contract, the contract mints a wrapped version on the destination chain, and you later redeem it for real ETH by burning the wrapper. The bridge holds the real asset. A cross-chain swap moves the real asset itself. You send ETH, you receive native SOL. No representation, no redemption step, no bridge contract to exploit. The trade-off is that cross-chain swaps depend on a matching engine or liquidity provider rather than a pool of locked tokens. They are not always available for every pair or every size.
How liquidity pools enable chain-to-chain swaps
How do liquidity pools let me swap between chains without a traditional bridge? The pool holds native tokens on multiple chains. A liquidity provider deposits ETH into the Ethereum pool and SOL into the Solana pool. When you swap, the system takes your ETH and credits the Ethereum pool, then sends you SOL from the Solana pool. The provider earns fees for making those balances available. No bridge contract holds the pooled assets; each pool exists independently on its own chain. The system coordinates the two pools off-chain, but the actual token movements are on-chain transactions you can verify.
Doing it yourself without a centralised exchange
How do I swap ETH for SOL without using a centralized exchange? You find a counterparty who wants the opposite trade, or you use a service that aggregates liquidity from multiple sources. The process is the same: you send ETH to a specific address on Ethereum, the service sends SOL to your address on Solana. The difference from a centralised exchange is that you never deposit funds into an account the exchange controls. You send directly to a swap contract or to a provider's wallet, and the return transaction comes from a different wallet on the other chain. Your funds never sit in a hot wallet waiting to be hacked.
Check the destination chain address twice. Verify the contract address if you are sending a token rather than the native coin. Confirm that a destination tag is required. After that, the swap either completes or it does not. If it fails, you get your coins back minus network fees. If it succeeds, you hold the native asset and the bridge stays out of it.
More on swapping
-
How do cross-chain swap services settle trades when blockchains have different confirmation times
A cross-chain swap service does not wait for both blockchains to confirm at the same time. Instead, it uses a mechanism that treats each chain's confirmation independently, then reconciles the trade after both sides have settled.
-
How do I swap ETH for SOL without using a centralized exchange
You use a non-custodial cross-chain swap service that accepts ETH on Ethereum and sends SOL directly to your Solana wallet. This works without you ever creating an account, depositing funds to an exchange, or trusting a third party to hold your coins.
-
How do liquidity pools let me swap between chains without a traditional bridge
Liquidity pools allow cross-chain swaps by pre-positioning assets on multiple blockchains so that a user's deposit on one chain can be matched with a payout from a separate pool on another chain, without any single token ever needing to be locked in a bridge contract. Instead of
-
What happens if I send tokens to the right network but the wrong contract address
You lose them. The tokens arrive on the correct blockchain but are sent to a contract address that does not recognize them, so they become permanently stuck.
-
What is a destination tag and why do some swaps require one
A destination tag is a numeric label attached to a transaction on certain blockchains to identify which user or account the funds are intended for. Cross-chain swaps require one when the receiving blockchain uses a shared deposit address rather than giving each user a unique addr
-
What is the difference between a cross-chain swap and a bridge transfer
A cross-chain swap exchanges one asset on one blockchain for a different asset on another blockchain in a single atomic transaction. A bridge transfer locks or burns tokens on the source chain and mints or releases wrapped versions on the destination chain, typically preserving t
-
Why do cross-chain swaps sometimes fail after I send my coins
The swap fails because the service cannot complete the second half of the trade - sending you the destination coins - even though it received your original coins. This happens for three main reasons, each rooted in the mechanics of moving value between blockchains that do not tal
-
Why does the same token have a different contract address on each blockchain
A token's contract address differs on each blockchain because the token is a separate smart contract deployed independently on each network. Blockchains do not share a common address space, so the same asset - like USDC or Wrapped Bitcoin - must create a new contract with a uniqu
loomprotocol.xyz is an information site and is not an exchange. Swaps are carried out by independent exchangers; we never hold or control your funds.