OPAQUE
quicknet #—

sealed order flowsolana · pump.fun

Orders encrypted to the future.

Snipers read your order before it lands. OPAQUE seals it to a future drand round, so nobody can read it until that round arrives. Not bots, not validators, not us.

tlockdrand quicknetBLS12-381age v1

objectsealed_order.age
targetround —
statesealing
sniperwatching
Scheme
Identity-based encryption on BLS12-381
Key
drand's signature on the target round
Payload
age v1, ChaCha20-Poly1305
Server
None. Sealing runs in your browser.

/seal

Seal an order.

Pick an order and how long it stays sealed. It is encrypted in your browser to a future drand round and opens the moment that round's signature is published. The only network request is for that one public signature.

seal.tssniper.log
quicknet · 3s rounds
opaque seal --side --amountSOL --mint --opens

/threat

Solana has no mempool. It still has sandwiches.

There is no public waiting room on Solana, but an order still passes through RPC nodes, relays and the validator building the block before it lands. Anyone on that path who can read it can trade ahead of it.

Without OPAQUEreadable
#1botBUY 8 SOLfront-run
#2youBUY 2.5 SOL slippage 15%filled worse
#3botSELL 8 SOLback-run

The bot reads your size and slippage, buys in front of you and sells into your fill.

With OPAQUEsealed
#1botno quotepayload unreadable
#2YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHRsb2Nropens at its roundsealed
#3botnothing to sell intono edge

The same order, sealed to a round about an hour from now. Nothing in it can be read or priced until then.

Illustration of a sandwich. The sealed row shows the real ciphertext of an order sealed in your browser just now.

  • ~6.9Msandwich attacks by bots against about 2.2M Solana wallets, Oct 2025 to Oct 2026Bitquery data, via Forklog
  • Oct 12, 2026Aptos switched on an opt-in encrypted mempool on mainnetAptos, via Forklog
  • Ethereumcore developers run a recurring call to design an encrypted mempoolEthereum Magicians

/protocol

The key doesn't exist yet.

  1. 01t₀

    Lock

    Your browser encrypts the order to round N. The round number is the identity and drand's public key is the master key. Nothing is sent anywhere.

  2. 02t₀ → tₙ

    Wait

    The key is drand's BLS signature on round N. A threshold of independent operators produces it, and it does not exist before that round. quicknet launched with 18 organizations running 22 nodes.

  3. 03tₙ

    Open

    drand publishes a signature every 3 seconds. When round N's lands, anyone can open the order, and everyone gets it at the same instant.

payloadBUY 2.5 SOL $OPAQUE
roundN
keynot needed yet
readable byyou

/beacon

This is the clock.

The latest drand quicknet round, fetched live from its public relays. Every seal on this page points at one of these rounds.

GET /public/latestconnecting
{
  "round": …,
  "randomness": "…",
  "signature": "…"
}
next round in —
chain
52db9ba7…e971
scheme
bls-unchained-g1-rfc9380
period
3s

/batch

The line is set before anyone can read it.

Orders sealed to the same round take their place in line while they are still ciphertext. They open together and run in that order, so once the contents are visible there is no slot left to jump into.

batch— sealed0 opens in— readable0 / 0
pos sealed at payload round state

Demo batch. These orders are generated in your browser and really sealed with tlock to the batch round. Sequencing and execution on pump.fun are in development.

/verify

Don't trust this site.

An OPAQUE seal is a standard tlock ciphertext. Once its round has passed you can open it with drand's own tools, without this website.

terminal
# drand's own CLI
$ go install github.com/drand/tlock/cmd/tle@latest
$ tle -d order.age
BUY 2.5 SOL $OPAQUE
javascript
// tlock-js, the library this site uses
import { timelockDecrypt, mainnetClient } from "tlock-js"

const order = await timelockDecrypt(ciphertext, mainnetClient())
Or paste it into Timevault drand's web demo. It runs in your browser and only fetches the beacon it needs.

/status

What runs today.

liveTimelock encryption in your browsertlock-js 0.9 · age v1
livedrand quicknet beacon, 3 second rounds4 public relays
liveSealed links that open on their ownno server, no account
liveVerification with drand's own toolstle · Timevault
buildingBatch sequencer for pump.fun ordersseal → order → reveal → execute
buildingWallet-signed sealed executionnot live

OPAQUE never asks you to deposit funds, connect a wallet or sign a transaction.

/token

$OPAQUE

Live on pump.fun

A bet that sealed order flow reaches the trenches. Sealing is free and stays free.

The OPAQUE block: a cube of ciphertext split by a glowing red seam.
chain
Solana
launch
pump.fun
supply
1,000,000,000
ticker
$OPAQUE