The dark pool for on-chain stocks

Trade like Wall Street.
Privately, at the real price.

Cloister is a sealed-batch dark pool for Robinhood Chain stock tokens. Orders go in encrypted, cross at the Chainlink reference price once the batch closes, and settle into shielded notes. Nobody sees your size, your side or your ticker. The chain publishes a single total for each batch.

Zero price impactCrosses at the reference, not along a curve
Price-blind ordersSealed before the price exists
No liquidity requiredThe listed market sets the price, not a curve
Your order
NV NVDA·rhNVIDIA Corp · buy Sealed
Size
— — — — —
Batch #18,442closes in 0:60

U.S. equity volume off-exchange
40%+
institutional size trades out of view
Robinhood Chain DEX volume
$12B+
soon after the July 2026 mainnet
Of that, executed in the dark
0%
every size, every wallet, every fill
The problem

Institutional markets hide size. On-chain markets broadcast it.

A tokenized equity is an ordinary ERC-20. It trades against a shallow automated curve, so a large order pays a worse price with every unit it fills, and the moment it lands, its size, direction and wallet are permanently readable by anyone. Equities do not need an on-chain market to discover a price; the listed market sets one continuously. What remains on-chain is execution, and execution has never needed to be public.

How it works

One batch. Four moves. One public number.

01 — Seal

Burn a note into a ciphertext

You spend a shielded note and submit an encrypted order. A zero-knowledge proof shows the ciphertext encrypts exactly what the note held. Ticker and side stay hidden because every order writes to every book.

02 — Accumulate

The chain adds what it can't read

Orders use additively homomorphic ElGamal. The contract sums ciphertexts per book and side without decrypting anything. Individual orders are never opened, not even at settlement.

03 — Reveal the total

Keepers decrypt one number

A threshold committee decrypts only the batch totals and proves it did so correctly. The cross price is the first oracle update after the batch closes, so no order could have seen it.

04 — Claim

Pro-rata fills, back into notes

Each trader proves their own fill against the public totals and gets fresh shielded notes: the filled asset plus any unfilled remainder. Nothing links the claim to the order.

What the chain sees

The only print is the batch print.

A regulated dark pool hides orders before they trade and prints the result afterwards. Cloister works the same way, except the print is an aggregate and there's nothing to see before it.

Lit AMM · one swap
swap  0x7a3f…c91b
      pool     NVDA·rh / USDC
      in       812,400.00 USDC
      out      4,361.227 NVDA·rh
      impact   +2.84% vs reference
      // indexed, attributed, permanent
Cloister · one batch
batch #18,442   closed 14:32:00Z
      orders   37  // books, sides, sizes hidden
      price    oracle round 0x…9f21
      NVDA·rh  crossed 6,210.004  residual rolled
      SPY·rh   crossed 1,902.550  residual rolled
      // no wallets, no orders, no impact
The state of the art

Every private venue so far stops short.

On-chain privacy has moved fast, but each generation solved a different half of the problem. Shielded pools hid balances and left trading in the open. Crypto dark pools sealed orders, then had to build a market to price them. Venues that price against an external reference still hand their operator the keys to every order. Cloister closes both gaps: orders are added together while still encrypted, so no party ever reads one, and the price comes from the market that already sets it.

ApproachWhat it achievedWhere it stopsIn Cloister
Public AMMsPermissionless, instant settlement.Size, side and wallet are public; large orders pay the curve.Sealed orders, one reference price, zero price impact.
Shielded pools
Railgun · Privacy Pools
Balances and transfers hidden.Trading still happens on a public venue.The trade itself is sealed; only a batch total is ever printed.
Crypto dark pools
Penumbra · ZSwap
Sealed batches, amounts revealed only in aggregate.Must discover its own price, so it needs liquidity and depth.Imports the listed reference price; no liquidity needed to price.
Operator-settled sealed venuesOrders hidden from other traders.The operator decrypts every order to settle it.Homomorphic aggregation and threshold decryption: only totals open.
MixersBreak the link to your wallet.No compliance path, and the trade stays public.Association sets proven in-circuit, with issuer controls intact.
Built for

Anyone whose order is worth watching.

Size

Funds, treasuries and desks moving blocks that a thin curve can't absorb. You pay zero price impact on the crossed amount, and nobody sees you start to unwind.

Agents

A public agent wallet is a public strategy, and anyone can copy it. Cloister gives agents scoped order keys: a book list, a size cap and an expiry over a shielded balance, with no spending key handed over.

Portfolios

Your brokerage statement was never public. Tokenizing it made it public. Holding in shielded notes restores the default you had in the app: your broker can see it, the market can't.

Books

One vault. Many books.

All assets share one shielded tree, so joining doesn't reveal what you hold. Books are added in order of float. A batch is only as private as the number of orders in it, so thin books are paired into shared vectors until they can stand alone.

NVDASPYAAPLTSLA QQQMSFTAMZNGOOGL METACOINPLTRAMD
BookInstrumentQuoteReferenceState
NVDA·rhNVIDIA CorpUSD stableChainlink feedQueued · wave 1
SPY·rhSPDR S&P 500 ETFUSD stableChainlink feedQueued · wave 1
AAPL·rhApple IncUSD stableChainlink feedQueued · wave 1
TSLA·rhTesla IncUSD stableChainlink feedQueued · wave 1
QQQ·rhInvesco QQQ TrustUSD stableChainlink feedSpecified · wave 2
MSFT·rhMicrosoft CorpUSD stableChainlink feedSpecified · wave 2

Batches cross only while the reference feed is live and fresh. When the feed pauses for a corporate action or closes for the weekend, orders roll forward rather than fill at a stale price.

Design principle

Privacy from the market. Not from the issuer.

This is exactly the privacy a brokerage account always had, and it's the sentence you can defend to a regulator.

Unreadable flow

Observers see batch totals and the vault's aggregate balance. They can't attribute an order, a fill or a holding to anyone.

Disclosure you control

A read-only viewing key rebuilds your own orders, fills and notes for an auditor or an EU tax filing. It's per holder and voluntary, and there's no global key.

Issuer controls preserved

Pause, blocklist and confiscation still reach the vault. Deposits prove association-set membership in-circuit, and a lawful seizure can target one note instead of every depositor.

Architecture

Cutting-edge cryptography, tuned for a rollup.

Zero-knowledge proofs a contract verifies in a fraction of a cent. Additively homomorphic encryption that lets the chain sum orders it cannot read. Threshold decryption that opens a batch total and nothing else. Every primitive here is battle-tested in production systems; the composition is what's new.

Vault
privacy-pools-core

Apache-2.0 fork. The commitment gains an asset ID, and value is conserved per asset in-circuit.

Sealing
Exp-ElGamal · BabyJub

Additively homomorphic and cheap to prove in Circom. Netting only needs addition, so there's no FHE coprocessor.

Keepers
t-of-n threshold

DKG-generated key. Every partial decryption carries a DLEQ proof that's checked on-chain.

Price
Chainlink · ERC-8056

The first feed round after close. The raw balances are fixed, so corporate actions need no vault logic.

The market sees the print. Never your position.