What gets signed
Six fields, byte-identical for both parties:
Because the message commits to the order hash and both roots, a
signature authorizes exactly one settlement of exactly one trade against
exactly the deposits that existed — it can’t be replayed against different
state, and the backend rejects a pair signed over different roots.
Who signs
The trade’s two party wallets: the ad creator (maker) and the bridger. Each must sign with the key registered for that wallet — the contracts checkkeyOf(party) at unlock, so a key registered under a different
wallet is invisible for this trade.
Signing is silent: the settlement key signs locally, with no on-chain
transaction. Parties sign independently, in any order.
The status ladder
Everything after
Signed (2/2) is background workers — no user action.
The relayer aggregates, proves, and submits; it can’t forge either
signature and can’t settle without both.