How one blind request becomes one fill
The grid floor from above, an orange cable routed between two hatches
Plan of the floor

Privacy model

DarkHooks hides one thing, your side, and keeps one thing off the chain, your intent, until it settles. This page says exactly where each piece of information goes.

Pair and sizeSideWallet address
RelayYesNever sentNever sent
Makers, while quotingYesNever sentNever sent
Chain, before the fillNoNoNo
Everyone, after the fillYesYesYes

How each line holds

  • The request schema has no side field. The API rejects a body that contains one.
  • Quotes are two-sided by type: one signature covers both the bid and the ask, so the agent commits to both before anyone chooses.
  • The app shows, under every request, the exact body the agents received: a pair and a size.
  • The best bid and best ask are picked in your browser from the full list of quotes. Nothing is sent back to the protocol about the choice.
  • The site reads balances and allowances through your wallet's own provider, so the protocol's servers never receive your address.
  • Approvals cover both tokens of a pair and are made before you ask, so the approval history does not point at a side.
  • The fill goes from your wallet straight to the sequencer as one transaction. There is no order resting anywhere before it.

What becomes public

A fill is an ordinary transaction. Once it lands, the pair, size, side, price and both addresses are public, and they appear on the tape. DarkHooks protects the moment before settlement, which is when a side is worth something to someone else.

The relay runs on a hosting provider that sees the IP address a request comes from, like any website. The site sets no tracking cookies; see the privacy policy.