What a liquidity ad contains
- The route: which token a Bridger deposits, and which token (on which chain) the Maker provides. Tokens pair 1:1 by value, less the fee; amounts are aligned across token decimals automatically (decimal scaling).
- Pool amount: the liquidity the Maker has escrowed
- Min / max per trade: optional limits
- Settlement signer: the wallet whose settlement key co-signs the Maker’s side of every trade. Usually the Maker’s own wallet. If it’s another wallet, that wallet has to approve the Maker first.
- Ad ID: the identifier orders and proofs reference
AdManager contract; the app’s routes are
built from them.
The ad’s maker can be a wallet or an agent account.
Only an ad held by an agent account can be served by an agent.
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, and the matching slice of
the pool is reserved before any money moves. Reservations from
orders that are never funded are released after ~30 minutes, 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). This is the Maker’s deposit into
the trade. Both deposits are recorded in their chain’s Merkle Mountain
Range.4
Co-signed
Both parties sign the settlement with their settlement keys. The trade
can’t settle without both signatures.
5
Settled, or ended
The payouts are proven and submitted on both chains. The locked amount
leaves the ad, less the LP fee, which stays in the pool. If the trade
doesn’t settle by its deadline, the lock returns to the ad through the
cancel path.
6
Closed
The Maker can close the ad and reclaim the remaining pool once its
trades have ended.