Hookshade, in 60 seconds.
Private hooks that run in your browser. A Uniswap v4 hook that records one net swap instead of yours. A shielded pool the trade comes out of.
0x12524323c2ee0e89166cc895d5d369c5d76ce9f7
https://t.co/rXecejPALs · $HOOKSHADE
Two clocks.
On Robinhood Chain a contract's block.number is the Ethereum block, not the L2 head. Our first settle reverted because we divided the wrong one. A batch is two L1 blocks, about 24 s; clients read currentBatch(). Written down, with the hashes.
Why an APK matters.
Privacy that lives in a browser tab dies when the tab closes. A rule you set stops watching. A key you hold sits in a profile folder that syncs, backs up and gets wiped by the next update. For most people, the phone is the only computer they carry, and a privacy tool that is not on it is a tool they will not use.
So the first thing we did after the contracts went live was put the shade on the phone.
Not through a store. A store listing means an account with us, a review process we do not control, and an update channel that can swap the binary under you. The APK is served from our own domain, with its SHA-256 printed next to it. You compare the hash, you install, you know what you are running. That is the only distribution that matches what the app does.
And what it does is nothing new, which is the point. It is the site, wrapped. The same sealed rules, the same vault, the same proofs made on the device. We did not add a server to make a phone app. The whole claim of Hookshade is that there is no server of ours between you and the chain, and a phone app that broke that claim would not be worth shipping.
The phone is where the rule can keep watching, where the key stays with you, and where a cast can leave from without ever touching a desktop. That is why.
https://t.co/6cw62lRNpr
GM! Macro update: Hookshade for Android.
The site, wrapped. Your rules and your keys stay on the phone; proofs are made there; the batch sees the pool, not you. APK served from our domain, SHA-256 on the page, no store between.
https://t.co/qb4l1bovTF
GM! Macro update: Hookshade for Android.
The site, wrapped. Your rules and your keys stay on the phone; proofs are made there; the batch sees the pool, not you. APK served from our domain, SHA-256 on the page, no store between.
https://t.co/qb4l1bovTF
Servers of ours between you and the chain: zero.
Your browser holds the rules, the keys and the proofs. A public RPC answers reads. Robinhood Chain holds the contracts. No indexer, no API key, no account.
Check https://t.co/rXecejPALs
80 checks, not a mock.
The PoolManager in our tests is the 24,009 bytes deployed on Robinhood Chain, run in an in-process EVM. Real initialize, real swaps, real Groth16 proofs. Ten sections, every build.
Somebody carries the slippage: the side that caused it. The smaller side is matched at spot, no fee, no impact. The larger side's surplus is the only swap, and that side shares what it got. One price per side. It adds up.
For those asking where to find the information about our smart contracts: every address, what each one does, and what is deployed versus what is not, is on https://t.co/3cG4K7JbsK
Addresses in full, linked to the explorer.
Your floor is a floor, not a hope.
Settle quotes the residual with a self-reverting swap, drops every cast under its minOut, re-quotes until nothing drops, then swaps for real. Refunds in full. Nobody's floor can block the batch.
The person is a nullifier.
A note is a leaf. Spending it publishes a nullifier, never the leaf. The cast comes from the pool. The output returns under a key used once. Amounts show; who does not.
New: the shade is open.
A shaded cast and a public cast landed in one batch, matched inside, and the pool's price and liquidity came back unchanged. Proof on the batches page.
https://t.co/vZLjXAz96m
The address is the permission.
The singleton reads fourteen bits of a hook's address and calls only what they name. Ours ends in 0x0a80: three bits, mined over 18,368 salts, and they can never change.
Milestone for Hookshade: first update.
The hooks are live, both kinds. Shade hook on chain, first market under it, batch explorer on the site, private hooks in your browser.
https://t.co/xAfyUVJ7fq
00 · Shipped, October 2026 · In the shade
Private hooks live in the browser. Shade hook, gate and shaded pool deployed on Robinhood Chain. First market under the hook, WETH/USDG. First shielded round trip settled on chain. $HOOKSHADE live on pons. 80 checks against the real singleton on every build.
01 · Q4 2026 · Harden
Public Groth16 ceremony, open to anyone. Audit of the hook, the gate and the pool. A relayer for gasless shielded casts, so nothing links your wallet. More markets under the hook: WBTC/USDG, $HOOKSHADE/WETH. A batch explorer. The sealed hooks in a mobile shell.
02 · Q1 2027 · Deepen
Liquidity from the shade: private LPs. Hooks that act: a rule fires, a cast goes out. Batch fees routed to $HOOKSHADE buybacks. A Shade SDK so any v4 hook can settle through the shade. Stealth payouts for watch hooks. Everything open-source, with the ceremony transcript.
03 · 2027 · Spread
Multichain: Base and Ethereum under the same hook. The nine-network workspace, private this time. Dark pools for tokenised stocks on Robinhood Chain. Governance by $HOOKSHADE: markets, fees, the screen. Partner hooks settling in the shade. The shade as the default way to trade a v4 pool.
Private hooks. Private pools. In the shade.
https://t.co/aK4cShE1Eu
The Hookshade roadmap. Phase zero is already shipped.
Four phases. Phase zero is shipped: the hook, the pool and the first market are on chain. Next: the ceremony, the audit, more markets, private LPs, and the shade on every chain.
https://t.co/rXecejPALs · $HOOKSHADE
The Hookshade roadmap. Phase zero is already shipped.
Four phases. Phase zero is shipped: the hook, the pool and the first market are on chain. Next: the ceremony, the audit, more markets, private LPs, and the shade on every chain.
https://t.co/rXecejPALs · $HOOKSHADE
Three orders in, one swap out.
The Shade hook matches orders inside the batch at the pool's own price. Only the residual touches the pool. The ledger records the net, not you.
Hookshade, in 60 seconds.
Private hooks that run in your browser. A Uniswap v4 hook that records one net swap instead of yours. A shielded pool the trade comes out of.
0x12524323c2ee0e89166cc895d5d369c5d76ce9f7
https://t.co/rXecejPALs · $HOOKSHADE
We start with what matters: our 9 deployed smart contracts, one by one.
1. ShadeHook · 0x862e24Dc6FBbD69e5904d4f9936d6bfb0b7A8a80
The v4 hook. Orders go into a batch; the pool sees one net swap. No owner.
2. ShadeGate · 0x39e7D3EBFf16D1c13E3422E4AeAca53526246f01
The only address that can add or remove liquidity.
3. ShadePool · 0x3fBf0b82365250A701d36E3A46Be05FC7Ae47209
The shaded pool. Notes, nullifiers, Groth16 proofs. Cast from a note; the output comes back as a note.
4. Groth16Verifier · 0xE53c047061331B673bA781E6bFbB3497F46c84a2
Verifies every spend.
5. Screen · 0x12668C6f479501e37b3e0DF632BfbA574b816D4c
Shield-time blocklist. Empty.
6. Poseidon(2) · 0x697bB01A503694E8951B91Ba282725f240c2e956
The tree's hash.
7. Poseidon(3) · 0x15BeF0c2301e7af2ec59Ec12f166Ce79266DfBA9
The note commitment.
8. Create2Deployer · 0x49582e41aD6b082755E2012c859c379C1B9E9694
Puts the hook at its mined address.
One market under the hook: WETH/USDG, 0.30%. The first shielded round trip already ran through it.
The shade.
A pool of notes: commitments in a Merkle tree, nullifiers, a Groth16 proof per spend.
A cast can be paid from a note. The pool unshields into the batch and the output comes back as a fresh note under a one-time key. The address the batch sees is the pool. The person is a nullifier.
https://t.co/WoXGv54MWW · $HOOKSHADE
How Hookshade works, in five posts.
Three pieces: private hooks that live in your browser, a Uniswap v4 hook that settles a pool in batches, and a shielded pool the trade comes out of. All on Robinhood Chain.
https://t.co/rXecejQ8B0
The Shade hook.
A pool under it cannot be swapped directly. Orders are cast into a batch; anyone settles it when it closes.
The smaller side is matched at the pool’s own price, no fee, no impact. Only the surplus touches the pool, as one swap. The ledger records the net, not you.