How it works

On pump.fun everything is public the moment you sign. Your wallet, your size and your limit are visible before your trade lands. That is enough for a bot to buy ahead of you, for a tracker to post your entry, and for anyone to read your whole bag off one address.

Cloak changes two things. Your order is unreadable until the batch it is in has stopped taking orders. And what you hold is not tied to your wallet, because each position belongs to a key made for it alone.

A batch, start to finish

  1. You deposit 1 SOL from your wallet. The chain sees that wallet put 1 SOL into the vault, and nothing after that.
  2. In the next batch the operator credits it to a fresh one-time key derived from your keys. Only you can find it, and only you can sign for it.
  3. You want 0.5 SOL of a coin. The app signs the order with that position's key and encrypts it to a drand round about forty seconds out. A relay posts it, so the transaction is not from your wallet either.
  4. Other orders join the same batch, sealed to the same round. The book on chain holds a hash of each one.
  5. The round arrives. The book closes, everyone can now decrypt every order in it, and the operator does.
  6. For each coin, buyers and sellers cross at the midpoint. The remainder goes through Jupiter to the bonding curve or PumpSwap in the same transaction that books the result.
  7. The batch that settles the book publishes the book's hash and what became of each order: filled, missed its limit, turned down, or could not be opened.

Why the price is better when people cross

A coin on its curve charges a fee each way and moves against every trade. When a seller and a buyer land in the same batch, the part they cross never touches the curve. Both trade at the midpoint, halfway between what the curve would pay a seller and charge a buyer, so each side saves half the spread. Only the leftover pays the curve.

On a mainnet fork on 3 October 2026, a sale of a curve coin crossed against a buyer in the same batch paid out 478,315,476 lamports. Selling the same coins straight into the curve was quoted at 465,848,658. That is about 2.7% more, after Cloak's own fee.

Fees

WhatHow muchWho gets it
A fill0.2%Taken from what the fill pays out, in that token. Kept in the vault as the operator's own positions.
A withdrawal through the relay0.001 SOLTaken from a SOL position. For a coin, the coin's worth of about 0.0035 SOL, which covers the new token account the recipient needs.
A withdrawal you send yourself0Your wallet pays the transaction instead.
The curve or the poolits own feePaid only on the part of a batch that did not cross.

What the operator can and cannot do

The operator keeps the ledger between batches and signs every commit. The program checks the operator at every step:

What it can do: see who deposited what, because it credits deposits to their owners; turn an order down with a stated reason; and stop running. If it stops for 48 hours, or ignores a withdrawal you demand on chain for a day, anyone can freeze the vault, and every position leaves with its owner's own proof.

What this does not hide

Leaving without anyone's help

Every batch publishes the changes to every balance tree and an encrypted note for every new position. With your keys you can replay all of it, find your positions, build the proof for any one of them, and send the withdrawal from any wallet. The app's "My wallet" option does exactly that, in this tab.

Numbers

Batch length15 to 180 sThe first order picks the closing round, normally about 40 seconds out. Later orders seal to that round or up to 30 seconds after it.
Orders per batch96A full batch closes at its round; the next order starts a new one.
Settling deadline1 hAfter that, anyone may freeze the vault.
Randomnessdrand quicknetA round every 3 seconds, threshold BLS, read with tlock.