Signed orders, settled atomically.
A maker signs an order offchain (EIP-712). A taker submits it onchain; the settlement contract pulls both legs in one transaction. If either transfer would fail, the whole transaction reverts — there is no partial fill.
Order lifecycle
Your tokens stay in your wallet until a taker fills the order. You grant an ERC-20 allowance to the settlement contract and sign the terms — nothing moves until fill.
The contract doesn't track a "side" — it just moves sellAmount of sellToken from maker to taker, and buyAmount of buyToken from taker to maker. The UI labels this Buy/Sell; the contract doesn't need to know which.
Cancellation & privacy
A maker can cancel a single order, or bump their epoch to invalidate every order they've ever signed in one transaction. Closing a tab doesn't cancel a signature — only an onchain cancel or expiry does.
An offer can be restricted to one wallet address, but the terms and the eventual transfer are both visible onchain. "Targeted" is not "confidential."