Sealed by time. Matched in the dark.Proven in the open.
██
████████ ████████ ████████ ████████
██
- room
- offline: open batches expire and refund
- cadence
- 5 min · cutoff 15 s · expiry 30 min
- last batch
- no batch settled yet
- last proof
- none yet
- prove time
- under a second for 64 orders on the room's GPU
reading the chain…▌
1.Name
zkdarkpool - a dark pool for tokenized stocks, run as one contract and one room process.
2.Synopsis
deposit USDG | stock token | ETH any time, withdraw when no order is open seal market side qty limit until 15 s before the close close every 5 min, at a quicknet round before it, nobody can read an order match pro-rata at the pool's 60 s TWAP 5 bps a side, same price for everyone prove Groth16 proof over all 64 slots made on the room's GPU, checked by the contract expire close + 30 min an unsettled batch unlocks every balance
3.Description
You deposit USDG, stock tokens or ETH into the room. To trade, your browser builds the order (market, side, size, limit), encrypts it to the room's key, then locks that ciphertext to the drand quicknet round of the batch close. What goes onchain is the locked ciphertext and a commitment to it. Until the close nobody can open it, and that includes the operator.
At the close the beacon publishes the round, the room opens every order of the batch and applies one rule. Orders whose limit crosses the price take part; the smaller side fills in full, the larger side shares pro-rata, everyone at the same price, so being first in a batch gains you nothing.
The room then proves it. The proof says that the published fills are exactly what the rule gives over every committed order of the batch, and the contract checks it before moving a single balance. Matched orders become public prints. Unmatched orders stay dark forever.
4.What is public
| before the close | after the close | |
|---|---|---|
| public | nothing of the order | can open the time lock, still faces the room-key layer |
| the room | nothing: it has the key but not the round | reads every order of the batch |
| you | your own order | your own order |
- Always public: that your address sealed an order in batch N, and when; your deposits and withdrawals.
- Public after settlement, matched orders only: owner, market, side, size, limit and fill. These are the prints.
- Never public: an unmatched order. Its slot reads "dark" and nothing else.
One honest limit: a balance held only in USDG suggests a buy. Keep both assets in the room, and more than you trade, to blur side and size. Details.
5.The proof
Public inputs: the batch id, the room key of the day, the price of every market, and for each of the 64 slots its commitment, its owner and its outcome. The circuit opens each committed ciphertext with the room's secret key, checks the order belongs to its owner and batch, and recomputes eligibility, pro-rata and leftover units. If one outcome differs from the rule, no proof exists.
The proof is Groth16, produced on the room's GPU: multi-scalar multiplications and number-theoretic transforms run in CUDA, and a full 64-order batch proves in about 0.8 s (under 2 s with the witness), against 4.8 s for the same prover on the machine's CPU. Each batch page shows which device made its proof and how long it took. The setup is a public ceremony with independent contributions; what it covers and what is trusted.
6.Markets
| slot | symbol | issuer | price source | quote |
|---|---|---|---|---|
| 0 | NVDA | v3 pool, 60 s TWAP | USDG | |
| 1 | TSLA | v3 pool, 60 s TWAP | USDG | |
| 2 | AAPL | v3 pool, 60 s TWAP | USDG | |
| 3 | GOOGL | v3 pool, 60 s TWAP | USDG | |
| 4 | AMZN | v3 pool, 60 s TWAP | USDG | |
| 5 | SPCX | v3 pool, 60 s TWAP | USDG | |
| 6 | QQQ | v3 pool, 60 s TWAP | USDG | |
| 7 | - | kept for Pons coins: spot mark taken onchain between cutoff and close, quote WETH | ||
The price is the onchain pool's, not an exchange's. Tokenized stocks follow their issuer's terms.
7.Fees
5 basis points a side on matched notional, in the quote asset. Unmatched orders pay nothing. The room pays the gas of every settlement.
8.Built with
