How it works

Private, not invisible.

Warp Bridge moves value between chains without an operator holding your funds and without a public link between the address that deposits and the address that receives. It does this with zero-knowledge proofs over a shared set of deposits. It does not make amounts or timing disappear, and this page is honest about what that means.

The path of a transfer

  1. 01

    Deposit

    Source chain

    The pool stores a hash of your note: amount, asset, destination and two secrets only your browser knows.

  2. 02

    Sync through Robinhood Chain

    Robinhood hub

    WarpHub merges the trees of up to 16 chains into one global root and sends it to every pool.

  3. 03

    Association set

    ASP

    An Association Set Provider screens the deposit and, after a short delay, approves it.

  4. 04

    Prove in your browser

    Your browser

    A zero-knowledge proof says “I own an approved, unspent note” without saying which one.

  5. 05

    Relay after a random delay

    Destination chain

    A relayer submits the withdrawal and pays gas for a small fee. The recipient has no on-chain link to you.

Hidden

  • Which deposit funded a withdrawal
  • The source chain and sender of a withdrawal
  • The recipient of a deposit
  • Who owns change notes left in the pool

Visible on-chain

  • Deposit: amount, asset, source chain, destination chain, depositor address
  • Withdrawal: amount, asset, destination chain, recipient address, time
  • That the recipient used Warp

Your anonymity set

A withdrawal on chain B could have come from any approved note destined to chain B that was included in the global root the proof used. The more people bridge to the same chain with similar amounts, the larger that crowd and the stronger your privacy. All assets share one tree per chain, so ETH and stablecoin deposits make the set bigger together.

The main risk: amount and timing

If you deposit 1.2371 ETH and 40 seconds later 1.2371 ETH arrives at a fresh address, anyone can guess the link without breaking any cryptography. Warp gives you tools against this — use them:

  • Round depositsDepositing a common size (1, 2, 5 × 10ⁿ) makes your deposit look like many others. The difference stays as a private change note on the destination chain.
  • Partial withdrawalsWithdraw a different amount than you deposited, and withdraw the change later to another address.
  • Random relay delaysStandard waits a random 5–30 minutes, Strong a random 1–6 hours. Fast relays immediately and is the easiest to correlate.
  • RelayersThe withdrawal is sent by a relayer, so there is no gas-funding trail from you to the recipient.
  • Fresh recipientsSending to an address already linked to you undoes the work. Don’t reuse addresses, and avoid moving funds straight back to the depositing wallet.

Why the destination chain is public

Pools must know how much value is owed on each route so independent solvers can bring liquidity where it is needed, without an operator. Hiding the destination would require shared liquidity accounting that leaks the same information through rebalancing. So deposits reveal where the value is headed; they never reveal who receives it.

Compliance: association sets and ragequit

Warp follows the Privacy Pools design. An Association Set Provider screens deposits (for example against sanctions lists) and approves their labels. Every private withdrawal proves that its deposit is in the approved set, so funds from excluded deposits cannot be mixed with everyone else’s.

If a deposit is never approved — or you simply want out — the original depositor can always ragequit: a public withdrawal that reveals the deposit and returns the full note value to the depositing address, on the destination chain or back on the source chain. Ragequit is not private, but it means your funds can never be trapped by the ASP.

No custodian

Contracts hold the funds; nobody can withdraw a note without its secrets. Relayers, root syncers, solvers, ASPs and message attesters are replaceable roles that anyone can run, and you can always relay your own withdrawal. A guardian can pause the pools or veto a suspicious root during its activation delay; it cannot move funds. Cross-chain roots travel through pluggable messengers (an attester committee, LayerZero — Robinhood Chain’s listed messaging partner — or Hyperlane, optionally combined in a quorum).

Your keys live in this browser

The first time you send, your wallet signs a fixed message (no gas). Your note secrets are derived from that signature and kept in memory; the notes themselves are saved in this browser’s storage. Deposits can be re-derived from the signature, but change notes cannot, so export a backup after transfers that leave change. A backup string is as sensitive as a private key.

Protocol specification and audits: docs.usewarp.net