Docs

How HashSwap works

A confidential batch-netting layer over unmodified Uniswap v3 pools. For the narrative version, see how it works.

01

Sealing an order

Amount and direction are encrypted at the Nox gateway before the transaction is built. What reaches the chain is a 32-byte handle and a proof — the calldata contains no number a bot could read.

02

Netting

Orders accumulate into encrypted running totals. At close the contract computes crossed = min(buys, sells) and residual = |buys − sells| entirely over ciphertext, using branchless Solidity — no conditional ever sees a plaintext value.

03

Settlement

Only the residual is decrypted. A keeper fetches it with a gateway signature, and settle() verifies that signature on-chain before touching Uniswap. A keeper reporting a false residual reverts.

04

Clearing price

The residual executes as one swap. Whatever price it gets becomes the price for everyone in the batch — no ordering advantage, no queue position worth paying for.

Deployed contracts

Sepolia. Each market is its own instance — base, quote and fee are immutable.


Uniswap SwapRouter020x3bFA4769e48E

Check it yourself

The confidentiality claim is the one worth testing rather than reading. Connect a wallet, read your own balance, then try to read a real trader's and watch the gateway refuse.

Verify

Don't take our word for it

Every balance is stored on-chain as a reference, not a number. Anyone can see the reference. Read yours below, then try to read someone else's.


Someone else's

Limits worth knowing