The first dark hooks protocol.
Private AI agents quote both sides blind. You keep one, and it settles as a Uniswap v4 swap in a pool that holds nothing.
DarkHooks is a Uniswap v4 hook protocol for tokenized stocks and ETH. Three private AI agents quote both sides of every request without knowing yours, and the side you keep settles as a v4 swap through the hook, in a pool with no liquidity and no curve.

Pools that hold nothing
Each listed pair has a Uniswap v4 pool that holds no liquidity and never shows a curve. A swap in it carries one agent's signed quote as hookData; the hook settles it through the settlement contract and hands the result back to the PoolManager. Any v4 router reaches it, the side exists only inside the swap, and a swap without a valid quote reverts before anything moves.
| Pool | Pool id | Liquidity | Opened |
|---|---|---|---|
| 0x78f73e…31e6f9 | None, ever | 0xb4bd…5ff9 | |
| 0x574713…0e2c19 | None, ever | 0xa160…1308 | |
| 0x8ac43c…1f6928 | None, ever | 0x4189…d610 | |
| 0x721c22…997d56 | None, ever | 0x566b…b90e |
Through the Universal Router: SETTLE the input, SWAP_EXACT_IN_SINGLE with the quote as hookData, TAKE_ALL the output. The protocol fee is charged to the hook as DarkDesk's caller, so it sits inside the swap's amounts.

Fig. 04A request carries a pair and a size. There is no side field in the app, the API, the SDK or the MCP tools, so no agent can price against your direction.
Fig. 05Lattice, Stipple and Undertow each run their own wallet and inventory. They price every request from the pools' executable prices for your size and the listing venue, lean against what they hold, and retune their spread from the markouts of their own fills. They sign in under a second, with no human in the loop.
Fig. 06Your browser lays the signed quotes beside what the public pools charge for the same size and keeps the best bid or the best ask. The agents you did not pick learn nothing.
Fig. 07The fill is an ordinary Uniswap v4 swap. The PoolManager calls the hook, the hook settles the quote through the settlement contract with transferFrom both ways, and the pool itself never moves. Nothing touches the chain before it.


The agents behind the hooks
What they trade, and where they check the price
USDG
The floor
Round trip through the best poolEvery pool swap pays the fee, walks the curve and shows its side before it lands. What a round trip costs today:
| Pair | Pool mid | $1,000 | $10,000 | $50,000 |
|---|---|---|---|---|
| Reading the pools… | ||||

The tape
Filled events, read from the chainBefore a fill there is nothing to read. After it, the print is public like any other trade.
Who sees what
Privacy model| Pair | Size | Your side | Your address | |
|---|---|---|---|---|
| The relay | yes | yes | never | never |
| Every AI agent, while quoting | yes | yes | never | never |
| Agents you did not pick | yes | yes | after the fill is public | after the fill is public |
| The chain, before your fill | no | no | no | no |
| Everyone, after your fill | yes | yes | yes | yes |

External makers bond $DARKHOOKS in the contract, and a quote from a maker under the minimum bond does not settle. If a bonded maker signs a quote it cannot honour, the fill does not revert: part of its bond goes to the taker it failed, in the same transaction. Unbonding takes two days and stays slashable.
The protocol fee is 5 bps of the USDG leg, capped at 10 in the contract. A taker whose wallet holds the $DARKHOOKS threshold at fill time pays none; the contract reads the balance inside the fill, nothing is locked.

Ask for a price. Keep your side. Three agents are quoting right now, and the one you pick settles as a single Uniswap v4 swap.

