OBSCURA
●real pump.fun tokens · real curve · real graduation

NOBODY SEES THE BOOK
UNTIL IT CLEARS▌

A sealed-bid opening block for Pump.fun launches. Bids are hidden until the book shuts, and the order everyone buys in is drawn, not won — from a seed the creator, the bidders and we ourselves cannot steer.

● live — this runs the real draw
·7xKQ…m4Rf1176db40a50a6fd4399e0368cd3297fc61…
·Bp2v…9wLa369b0065ca2f94f95ec3288df257bc2186…
·94Hn…kT3e5bc0258aef54b91e83e84db2177ce146ab…
·Ee5s…QpZ180e54aaf1479de43a80d72d73ca1066bd0…
·3Mdu…vY8ca50a6fd4399e0368cd3297fc61c62b90f5…
·Ra7k…LbN2ca2f94f95ec3288df257bc2186eb50b51a…
sealing — each bidder sends a hash of their amount. the number itself never leaves their browser.

> BOOKS OPEN RIGHT NOW

sealed
your bid is a hash until the book shuts. nobody can read it, front-run it, or size their own against it — including us
commit-reveal, not a promise
drawn
who buys first is decided by a seed made from the merkle root, an on-chain blockhash and every bidder's own nonce
re-runnable in your browser
20
seats in the opening block. that number is arithmetic on Solana's 1232-byte transaction and Jito's 5-transaction bundle
a protocol ceiling, not our choice

> HOW IT WORKS

01
Seal

Set the coin up and pick how long bids stay sealed. Bidders send a hash of their amount — no transaction, no cost, nothing readable.

02
Anchor

The book shuts. The Merkle root of every commitment goes on chain, and the blockhash of that slot becomes entropy nobody could have known while bidding.

03
Reveal & draw

Bidders open their commitments. The execution order falls out of the root, the blockhash and every revealed nonce — deterministic and checkable.

04
One slot

Creation and all the buys land in a single atomic Jito bundle, in the drawn order. Nothing can trade in between, because there is no in between.

> LAUNCHED FROM A SEALED BOOK

view all →

> UNDER THE HOOD

The draw has three authors

seed = SHA256(root ‖ anchor blockhash ‖ every revealed nonce). We cannot pick the nonces, bidders cannot pick the blockhash, and nobody can pick the root after the fact. One party steering it is not enough.

A good seat is a discount

Every bidder is quoted the bag they would get from the worst seat, with their bid as the ceiling. Landing early means paying less for the same tokens — so the draw can only ever help you, and no draw can make a bid fail.

Twenty seats, packed

An address lookup table collapses the 18 accounts a Pump.fun buy touches down to one byte each, which is what fits five bidders into a 1232-byte transaction and twenty into a bundle. Each one uses its own durable nonce.

Re-run it yourself

Every input is published. The same lib/draw.ts runs in your browser on the auction page and tells you, without asking our server, whether the order on screen is the one those inputs produce.

READ THIS BEFORE YOU BID: a bidder who dislikes the seed can refuse to reveal, which drops their nonce and redraws the order. It costs them their seat and every unrevealed commitment is published, but it is a real weakness of commit-reveal randomness and removing it needs a VDF or an external VRF, neither of which we run. Auction state lives in memory and does not survive a restart, which is why windows are short. The book is capped at 35 SOL so the curve cannot graduate part-way through the bundle; an oversubscribed book is scaled down pro rata rather than turning anyone away. And a sealed book does not stop a third party sniping the coin in the slots after the opening block — nothing on Pump.fun can.

STOP SELLING THE FRONT OF THE QUEUE

The first seat on a bonding curve is worth real money. Draw for it instead of letting the fastest bot buy it.

Open a book →