Public, and We Say So

Four things a watcher can see. None of them is your order while the batch is taking orders.

Your Vault Balances

Deposits and withdrawals are plain transfers, so a watcher can guess your intent. The order stays sealed.

That You Committed

A commitment and its 1 USDG bond are public: anyone can see an address will trade, but not what.

The Order, Once Revealed

Between reveal and settlement, about a minute, your order is readable on-chain: version 1's main limit.

Your Fill

Settlement emits every fill with its price, so what you traded and at what price becomes public.

Vault · exampleVisible
deposit(USDG, 25,000)transfer
withdraw(NVDA, 12)transfer
Planned fixversion 2
Commitment · exampleVisible
0x9c4e7d21…a1f0 · bond 1.00 USDG
Market, side, size, limit
Looks the samebuy or sell
Revealed · example~1 min
Buy NVDA2,500 USDG
Limit$226.10
Planned fixencrypted reveals
Fill · exampleSettled
Filled11.1074 NVDA
At midpoint$224.85
EventFill

Hidden Until the Reveal Window

While a batch takes orders, these four never touch the chain. They live in your browser, inside a hash.

MarketSealed
market id
in the hashyes

Which Stock

The market id is inside the hash. Nobody can tell whether you are about to trade NVIDIA, Tesla or the S&P 500.

SideSealed
buy bond1.00 USDG
sell bond1.00 USDG

Buy or Sell

Both sides post the same bond from the same USDG balance, so a commitment looks identical whichever way you trade.

SizeSealed
locked at commit0
locked at reveal

Size

Nothing is taken from your vault until you reveal, so a commitment says nothing about how much you hold or want.

LimitSealed
limitPx
salt32 bytes

Limit Price

Sealed with a 32-byte salt only you hold, so nobody can find it by hashing every plausible market, side and round number.

Today, and Next

Version 1 is live. Version 2 is designed to close its leaks, and is written into the roadmap, not into the contract you use today.

Sealed

What the chain cannot see while the batch takes orders.

16 
blocks

About three minutes, every batch

  • Which stock
  • Buy or sell
  • Size
  • Limit price
  • Your salt
  • Which of your orders is which
Seal an Order
Public

What anyone can read, and when it becomes readable.

~1 
minute

Revealed orders, until settlement

  • Vault deposits and withdrawals
  • That an address committed
  • Revealed orders, for the reveal window
  • Every fill and its price
  • Every settlement or void
  • The price samples of each batch
Full Guarantees

Privacy Questions

Straight answers about what leaks. If something is not listed as guaranteed, do not assume it.

Not while the batch takes orders: there is nothing to read but a hash. Once revealed, a large imbalance is visible for about a minute; the price guard limits how far anyone can push the settlement price in that time.

Without it, an order has few possible values: a watcher could hash every market, side and round size and find yours. 32 random bytes make that impossible.

No. The hash is computed in your browser and the preimage stays in its storage until you reveal it on-chain yourself. You can save it as a file.

It can hint. Depositing a large amount right before committing tells watchers something is coming. Proof of funds in zero knowledge, planned for version 2, is designed to close this.

No. It is a written plan. The roadmap marks an item done only when it is deployed.

Every Leak, Listed

Guarantees