Polkadot needs a way to move tokens to and from Ethereum. The community spent five years studying every bridge design and shipping nothing, because every option had a worse trust model than they were willing to accept. The eventual answer is Snowbridge — and it's the most trust-minimised public-internet bridge between two major chains that exists right now.
What Snowbridge is
Snowbridge moves DOT (and a small set of other assets) between Polkadot and Ethereum using a BEEFY light client on Ethereum and a corresponding Ethereum light client inside a Polkadot parachain. Both sides verify the other's consensus directly. No multisig holds the funds. No off-chain committee signs withdrawals.
When you queue a Snowbridge transfer in the wallet, you submit a message to Polkadot's BridgeHub parachain. BridgeHub burns or locks your assets and emits a message. Polkadot validators sign a BEEFY commitment (a Merkle root over recent block headers) every epoch. A relayer (anyone) submits the commitment and a proof of your message to the Snowbridge verifier contract on Ethereum. Ethereum verifies the BEEFY signature against the known Polkadot validator set, verifies the Merkle inclusion proof for your message, and releases the assets on the Ethereum side.
The reverse direction works symmetrically with an Ethereum light client on BridgeHub.
Why "BEEFY"
BEEFY = Bridge-Efficient Ethereum-Friendly. It's a sub-protocol the Polkadot validators run alongside their normal consensus (GRANDPA). Instead of every Ethereum verification needing to check 1000+ Polkadot validator signatures (gas-prohibitive on L1), BEEFY uses an ECC-style signature aggregation that compresses all validator signatures into a small constant-size object verifiable in tens of thousands of gas.
The trade-off is in the design of the cryptographic aggregation, not in the trust model. Validators still need to honestly sign BEEFY commitments; if ⅓+ collude they can sign a false commitment and steal bridge funds. But that's the same trust model that secures Polkadot itself — if you trust Polkadot to not double-spend, you trust BEEFY.
How this compares to other bridges
The wallet has six bridges as of iter-G. Their trust models, ranked:
| Bridge | Security | Comment |
|---|---|---|
| IBC (Cosmos) | Light-client | Strongest. Both sides run BFT and verify the other directly. |
| Snowbridge | BEEFY light-client | Strong. Same trust as Polkadot itself. |
| Native XRPL↔EVM | Ripple-operated | Centralized but Ripple, with deep regulatory exposure. |
| CCTP (Circle USDC) | Circle attestation | Centralized to Circle. |
| Axelar | Validator multisig (~70) | Federated. |
| LayerZero | DVN multisig (5-of-7 typical) | Federated, smaller set. |
| Wormhole | 19-of-19 guardian multisig | Federated, largest set. |
Snowbridge sits in the second tier — not full BFT-to-BFT like IBC, but materially better than the federated bridges below it.
What you can bridge
In iter-G, Snowbridge supports:
- DOT: native DOT, locked on Polkadot, minted as wrapped DOT on Ethereum.
- ETH: bridged ETH from Ethereum, available as wrapped ETH on Polkadot AssetHub.
Other ERC-20s (USDC, USDT, etc.) will land via AssetHub bridging in a follow-up sprint. The pattern is the same: lock on source, prove via BEEFY, mint on destination.
Latency
Polkadot blocks finalise in ~12 seconds. Ethereum requires roughly 2 blocks of confirmations for the BEEFY commitment to be trusted. End-to-end, expect:
- Polkadot → Ethereum: 5 minutes (BEEFY epoch + Ethereum confirmations + L1 fee transit).
- Ethereum → Polkadot: 5 minutes (similar — depends on Ethereum block time).
Compare to LayerZero (2-3 minutes), Axelar (10-15 minutes), Wormhole (15 minutes). Snowbridge is competitive on speed and significantly better on trust assumptions.
Fee structure
The bridge fee covers two costs:
- Source gas: small. Polkadot extrinsics are cheap.
- Ethereum L1 gas: the dominant cost. Verifying a BEEFY commitment + Merkle proof on Ethereum L1 burns roughly 200k-400k gas. At 30 gwei + €3500 ETH, that's around €25 — but the relayer batches multiple transfers into a single commitment so the per-user cost is much lower.
The wallet's quote module shows €0.80 for a typical DOT → ETH transfer. This is amortised across the batch. For high-priority single-transfer use, expect more.
Failure modes
Relayer downtime. Multiple relayers run BEEFY relays — including Snowfork (Snowbridge's developer), Parity, and several community operators. A complete relay halt is unlikely but possible. The wallet's snowbridge_job state machine retries with backoff; admin alerts fire after 6 attempts.
Validator set rotation. The Polkadot validator set changes every era (~24h). Snowbridge's BEEFY-on-Ethereum contract needs to know the current set to verify signatures. If the validator set on Ethereum's verifier becomes stale (e.g. the relayer pushing updates is down), transfers stall until it catches up. This is also why a fresh bridge for a forked Polkadot would need a full re-bootstrap.
Critical exploit. Smart contract bugs in the Ethereum verifier are the headline risk. Snowbridge has been audited multiple times (Sigma Prime, Trail of Bits, others). No critical issues found, but novel bridge contracts have a history of finding ways to fail.
Why use it
If you want to move DOT off Polkadot to do anything in the Ethereum ecosystem (use a DEX, mint an NFT, stake in DeFi), Snowbridge is the trust-minimised path. If you don't care about the trust model and just want speed, LayerZero is faster but at the cost of weakening the security to a 5-of-7 multisig.
The wallet's bridge picker comparator presents both options when both apply. Default selection is Snowbridge for trust-minimisation; the user can override.
The TL;DR
Snowbridge moves DOT/ETH between Polkadot and Ethereum using BEEFY light-clients on both sides. Trust assumption ≈ "trust the Polkadot validator set" — same as trusting Polkadot itself. 5-minute latency, ~€0.80 amortised fee. Use it when trust matters; use LayerZero or Wormhole when speed matters more.
Next: a tour of Polkadot vs Cosmos as design choices.