1. The maker posts an ad
A maker escrows liquidity in the AdManager on their chain and publishes a route (say, USDC on Sepolia → USDC on Stellar) with limits and a price.2. The bridger opens an order
The bridger picks an ad, creates an order, and funds it — their tokens go into the OrderPortal escrow on the order chain. Creating an order reserves the matching slice of the maker’s ad; unfunded reservations expire automatically, so abandoned checkouts never strand maker liquidity.3. The maker locks
The maker (or their bot) locks the matching funds from the ad. Both escrows are now committed to this specific trade: state Locked. Each deposit is appended to that chain’s Merkle Mountain Range — an append-only tree the deposit proofs are built against.4. Both parties co-sign
Once both deposits are confirmed, each party signs a fixed settlement message — the SettlementAuth — with their registered BLS key. The message binds the exact order and both chains’ Merkle roots, so a signature can’t be replayed against different state. Signing is silent (no wallet transaction — the settlement key signs locally) and the two parties sign independently. Counter shows Signed (2/2) when both are in.5. Background workers finish the trade
From here everything is automatic:- Aggregate — the two BLS signatures combine into one.
- Prove — a zero-knowledge proof is generated per side showing the counterparty’s deposit is included in the other chain’s Merkle root. Proof generation takes seconds.
- Submit — the relayer submits the unlock on each chain, paying gas.
6. On-chain verification
Each chain’sunlock verifies three things before releasing funds:
- the aggregated BLS signature against the keys registered for the two
party wallets in the on-chain
BLSKeyRegistry - the zero-knowledge deposit proof against the counterparty chain’s Merkle root
- the nullifier — each deposit can be unlocked exactly once
There is no ProofBridge approval anywhere in this flow. The pre-auth
authorization token and signature parameters from v1 no longer exist in
the contracts.