What a liquidity ad contains
- The route — which token a Bridger deposits, and which token (on which chain) the Maker provides. Tokens exchange 1:1 by value; amounts are aligned across differing token decimals automatically (decimal scaling).
- Pool amount — the total liquidity the Maker has escrowed
- Min / max per trade — optional limits
- Ad ID — the identifier orders and proofs reference
AdManager contract; the app’s routes are
built from them.
Ad lifecycle
1
Create + fund
The Maker submits
createAd and escrows the pool. Only funded ads
serve orders.2
Reserved by an order
A Bridger creates an order against the ad — the matching slice of the
pool is reserved before any money moves. Reservations from orders
that never fund expire after ~30 minutes and release automatically,
so abandoned checkouts can’t strand liquidity.
3
Locked for the order
Once the Bridger’s deposit confirms, the Maker locks the reserved
liquidity on-chain (
lockForOrder) — the Maker’s deposit into this
trade. Both deposits are appended to their chain’s Merkle Mountain
Range.4
Co-signed
Both parties sign the settlement with their
settlement keys — the trade cannot
settle without both signatures.
5
Settled
Background workers combine the signatures, prove both deposits, and
submit the unlocks. Each chain verifies the aggregated signature and
the proof, then releases funds to the respective recipients.
6
Closed
After open trades settle, the Maker can close the ad and reclaim the
remaining pool. Unlocked funds can be withdrawn at any time.