Derived, not stored
The key is derived from a wallet signature over a fixed message:key #NNNN counter is the key index. A replacement key uses the
next index, so the message changes, the signature changes and the key
changes.
Screenshot coming soon
The derivation signature in the wallet: the message text and the key index
Registration
Registration writes your key to theBLSKeyRegistry on both chains,
because a trade settles on both. It:
- carries a proof of possession: a BLS signature showing you hold the key you’re registering, so nobody can register a key they don’t hold
- is authorized by one wallet signature that covers both registries (EIP-712 for an EVM wallet, SEP-53 for a Stellar wallet)
- is submitted by the relayer, which pays the gas. You can submit the same registration yourself instead.
Per wallet, not per user
The contracts check the keys of the trade’s two deposit wallets. They have no notion of a “user” with linked wallets. If you make markets from a Stellar wallet and bridge from an EVM wallet, each registers its own key.Several keys at once
An account can have up to five live keys at a time, each with an optional expiry. That lets a new key go live before the old one ends, and lets an agent’s key sit alongside your own. When an order is locked, the Maker’s co-signing key for that trade is pinned. If that key ends before the trade settles, both parties are asked to sign again with a live key.Naming a settlement signer
Each ad names the wallet whose key co-signs the Maker’s side. If the ad names a wallet other than the Maker itself (for example, an agent account naming your own wallet), that wallet must approve the Maker first. This stops anyone from naming your key on their ad without your consent. The approval is on the BLS Keys page under Maker approvals.Retiring, replacing and revoking
- Retire ends a key now, on every registry. The relayer pays the gas. Retiring only shortens a key’s life; it never moves funds.
- Emergency stop is a retirement you sign in advance. The retirement service stores it and submits it when it’s needed: when you revoke an agent, or in an incident. A stored retirement can only end a key; it can never move funds.
- Replace a key by registering the next key index. In-flight trades keep their pinned key until they end.
- Revoke removes every key on the wallet. It’s refused while the wallet has open trades.
Screenshot coming soon
Retire a key, or file an emergency stop