All posts
2026-06-01

Bridging to Solana and arriving on a private wallet

A bridge moves your assets across chains, but it also carries your identity with them. When you bridge from Ethereum, an L2, or another chain to Solana, the bridge records the source address, the destination address, the amount, and the time — on both sides. The Solana wallet your funds land on is now publicly tied to the source-chain wallet you bridged from, and that source wallet often has years of history, an ENS name, or an exchange link attached. You've changed chains, not identities.

This is the practical guide to bridging to Solana and ending up on a fresh wallet that has no on-chain link to where the assets came from. For the underlying reason every transfer is a public link, see /blog/what-the-blockchain-reveals-about-you.

Why bridging alone doesn't give you a clean wallet

The bridge deposit on Solana is a normal, public transaction: it names the address that received the bridged funds. Spending from that address links everything you do to your cross-chain trail. Routing through a couple of Solana wallets afterward doesn't help — each hop is public. To get a genuinely fresh starting point you need a step where your funds mix with everyone else's: a shielded pool. You deposit the bridged funds behind a commitment and withdraw to a new wallet with a zero-knowledge proof, so the bridge-linked address and your spending address look unrelated on-chain. /learn/what-is-a-shielded-pool is the plain-English version.

The flow, step by step

1. Bridge to a dedicated landing wallet. Bridge your assets to Solana as usual, into a wallet you'll treat as a disposable landing pad — not your long-term wallet. Expect this address to be publicly linked to your source chain; that's fine, because nothing will be spent from it. If you bridge to an asset SolMask doesn't pool directly, swap into SOL, USDC, or USDT first.

2. Deposit from the landing wallet. Open /swap, connect the landing wallet, choose the asset and amount, and deposit. Depositing is free — the full amount enters the pool, with only a commitment hash on-chain (/blog/fee-model-explained).

3. Set a privacy delay and let bridge activity settle. Pick an unlock delay (10 minutes to a week). Bridge transactions have conspicuous timestamps, so an instant deposit-then-withdraw is easy to line up against the bridge event. A longer delay puts distance — and other people's deposits — between the bridge and your withdraw. /blog/the-privacy-delay-explained explains the trade-off.

4. Withdraw to your real fresh Solana wallet. Generate a new wallet with no history, then withdraw to it. The proof is built in your browser and submitted through the relayer, which broadcasts and pays the network fee — so your fresh wallet needs no SOL and you never fund it from the bridge-linked landing pad (/glossary/relayer). /learn/choosing-a-recipient-address covers picking a clean destination.

The result on-chain: a bridge into a landing wallet, a deposit from that wallet into the pool, and — separately — an unrelated withdraw to a fresh wallet you actually use. The cross-chain trail dead-ends at the pool.

The mistakes that undo all of it

  • Spending directly from the bridge landing wallet. That address is linked to your source chain. Treat it as a one-way stop into the pool, never as a wallet you transact from.
  • Funding the fresh wallet for gas from the landing pad. A top-up reconnects them. The relayer covers the withdraw fee.
  • Bridging an exact amount and withdrawing it instantly. Distinctive amount plus tight timing re-links the bridge event to your withdraw. Use the delay.
  • Carrying a labeled identity across the bridge. If your source-chain wallet is doxxed and you immediately reuse the same handle or NFT on the fresh Solana wallet, the inference survives a clean on-chain leg. /learn/what-solmask-cannot-protect-you-from is the honest list.

For the condensed ruleset, see /blog/solana-wallet-privacy-checklist.

FAQ

Q. Can I hide the bridge transaction itself? A. No — the bridge logs the transfer on both chains. What you break is the link between the bridge-linked landing wallet and the wallet you ultimately spend from, so the cross-chain trail stops at the pool.

Q. What if I bridge an asset SolMask doesn't support? A. Swap it into SOL, USDC, or USDT on the landing wallet before depositing. You can also deposit one supported asset and withdraw another via a swap on the way out.

Q. Does my fresh Solana wallet need SOL before it can receive the withdraw? A. No. The relayer pays the network fee, so the fresh wallet can start from zero — which is what keeps it unlinked from the bridge.

Q. Do I need a separate landing wallet, or can I bridge straight into the pool? A. Bridges deliver to a normal wallet address, not into the pool, so you need a landing wallet to receive the bridged funds and then deposit. Keeping it disposable — used only to bridge in and deposit — is what isolates the cross-chain link.

Q. Will the landing wallet show that it deposited? A. Yes — it publicly shows a deposit into the pool, the same as every other depositor. It does not reveal which fresh wallet later received the withdraw.

Bridging to Solana and arriving on a private wallet · SolMask