Private bets and private swaps on Uniswap v4

QuietOdds

Bet on anything, privately. Swap on Uniswap, quietly.

Built with Noir · Uniswap v4 · Chainlink CRE · Anon-RPCScroll

Nobody sees your bet. Nobody sees your swap.

Deposit once into a shielded pool. Bet, claim, batch-swap and withdraw with zero-knowledge proofs sent by a relayer, so no market, side, payout or swap is ever linked to your wallet. Even your reads go through Anon-RPC.

What you get
Public odds. Private bettors.
Shielded balance

Deposit once, act privately

Your USDC becomes a hidden note in a Poseidon Merkle tree. Every bet, claim and swap after that is a zero-knowledge proof sent by a relayer: your wallet never appears next to a market.

Uniswap v4 hook

Bet straight from a Uniswap swap

Our v4 hook shields part of any ETH/USDC swap into your private balance in the same transaction. A directional fee and an anti-sandwich guard make sandwiches unprofitable.

Private batch swaps

One swap, many owners

Join a batch privately; it executes as one swap through the pool. Everyone gets the same price, pro rata.

Who settles markets

Chainlink CRE decides

A CRE workflow reads ESPN or a Chainlink feed under DON consensus and settles on chain. No admin picks winners.

Liquidity providers

Bets fund liquidity

The 1% market fee is donated to the Uniswap pool's LPs. The prediction market makes the pool deeper.

How it works — deposit to payout
Four steps. Zero links to you.

Deposit USDC, or shield part of a Uniswap swap through our v4 hook. The pool builds a Poseidon note from your amount and a commitment only you can open.

Your keys come from one wallet signature, so notes can always be recovered.

Read the code ↗
one Poseidon tree · every note hidden
The stack

Three integrations doing one quiet job.

Uniswap v4

A hook that shields, and a pool that can't be sandwiched

Shield-on-swap carves your USDC into a private note mid-swap. Private batch swaps settle through the same pool inside one unlock. A directional dynamic fee and a block-start guard make same-block sandwiches lose money, and market fees are donated to LPs.

Explore the markets
Chainlink CRE

Results under consensus, not on our word

A CRE workflow reads open markets, fetches each result from ESPN or a Chainlink price feed, agrees on it across the DON, and writes one signed report that resolves markets, executes ready batches and donates fees.

See how markets resolve
EF Anon-RPC

Even your reads stay private

Scanning for your notes, reading odds and pool state all go through Anon-RPC, so the node serving you can't tie your IP to the markets you look at. Proofs are generated in your browser.

Open your private portfolio
The difference — public odds, private bettors
Everyone sees the odds. Nobody sees who.

Other prediction markets put your wallet next to every bet you make. On QuietOdds the side totals are public, so prices still work, but each bet arrives from the shielded pool through a relayer.

Arsenal 6.20 · Liverpool 5.40 USDC · ████████
Who placed these bets?
QuietOdds
Quiet bets. Loud odds.
Explore the repository ↗