Sealed bids.One price.
Set your spending limit and maximum price privately. After the sale closes, an attested enclave clears the bids at one price. Follow your allocation, refund and the evidence behind the result.
- Bids arrive sealed
- Sale closes
- Enclave opens every bid
- One clearing price
- Every winner pays it
Private limits. A shared clearing price.
Compare how each mechanism uses price, timing and public information. Sealround hides bid limits during bidding and applies one price to admitted winners. A full sale can still favor earlier arrivals.
Bonding curve
- Bids visible before close
- Yes
- Being first pays
- Yes
- One price for everyone
- No
Buy in the first block, sell to people later
First come, fixed price
- Bids visible before close
- Yes
- Being first pays
- Yes
- One price for everyone
- Yes
The fastest bot takes the supply
Public auction
- Bids visible before close
- Yes
- Being first pays
- No
- One price for everyone
- Yes
Read every bid, then outbid at the last second
Sealround
- Bids visible before close
- No
- Being first pays
- Yes
- One price for everyone
- Yes
Private limits and one clearing price; limited slots can still reward early entry
We aimed sniper bots at three kinds of launch.
The same crowd of 200 people and 5 sniper bots went through each one, 60 times. Admitted winners pay one clearing price. Capacity limits can still exclude late bidders; explore that tradeoff in the Arena.
Bot profit per launch
USDC bots make selling to people afterwards
- Bonding curve
- 1,269 USDC
- First come, fixed price
- 177 USDC
- Sealround
- 0 USDC
Bots' share of supply
Tokens bots get at launch
- Bonding curve
- 35%
- First come, fixed price
- 21%
- Sealround
- 16%
What people pay
Median price people paid, per price bots paid
- Bonding curve
- 2.61×
- First come, fixed price
- 1.00×
- Sealround
- 1.00×
Averages over 60 seeded simulations, demand from 0.5× to 4× supply. Rerun them with pnpm arena.
We also ran a real sniper bot against a sale on NEAR testnet (swarm-11141341). It bid 3.2 s after the window opened and paid 0.002 USDC per token, the clearing price. A bidder who came in 891.7 s after the open, near the end of the 15-minute window, paid the same.
How a sale works: the Reveal
Every launch ends the same way: a countdown, the enclave opens every sealed bid at once, one price for all, and what demand did not take burns. The rules lock when the sale is created; the contract has no admin method.
Seal your bid in the browser
Your max price and max spend are encrypted on your device to the enclave's key. Nobody else can read them.
Only your deposit is public
The chain sees who bid and how much USDC they locked. There is no price column to copy or front-run.
An enclave opens every bid at close
When the window ends, an OutLayer TEE decrypts all bids at once and runs the clearing rule. The contract checks its work.
Every winner pays one price
The clearing price is the highest price at which demand covers the supply. Bots and people pay exactly that, and the tokens nobody bought burn.
What a normal launchpad can't do
Sealed even from us
Bids are encrypted in your browser to the enclave's key. Not the creator, not the relayer, not Sealround can read one before the sale closes.
Nothing leaks from a sealed bid
Every sealed bid has the same length, so its size says nothing. A copied bid is refused or penalised, and an invalid bid loses 1%.
No admin method, refunds built in
The contract has no owner and no method that changes a sale, so the rules lock when it is created. If clearing fails or the enclave times out, every deposit can be taken back.
A stack only NEAR has
A contract that calls a TEE and pins its code hash, USDC from other chains through NEAR Intents, and bids with no gas through a relayer.
Don't trust the result. Check it.
On NEAR, the result page checks OutLayer's Intel TDX attestation in your browser: the enclave build, its measurements, the input and output hashes, and the bid set the contract froze. The same checks run from the command line with verify-sale.
- The enclave code is built reproducibly, so anyone can match its hash
- The contract refuses a result that does not match the bids it stored
- If clearing fails or times out, every deposit can be refunded
0 of 9 checks passed on the clearing run
- Attested build is the sealer the contract pins, Waitingattested f8408a87…d8cb = pinned f8408a87…d8cb
- The worker measured the same build, Waitingmeasured f8408a87…d8cb = pinned f8408a87…d8cb
- Enclave measurements are approved on chain, Waitingworker.outlayer.testnet: approved
- The TDX quote commits to this run, Waitingtask hash dbe595…0e5d = report data dbe595…0e5d
- Input hash matches the request on chain, Waitingon chain 167e4a…6339 = attested 167e4a…6339
- Output hash matches what the contract received, Waitingreceived b6e3e8…8426 = attested b6e3e8…8426
- The request came from the sale contract, Waitingsealround.itzbeast.testnet, for nosnipe-11140458
- The enclave opened the bids with the sale's key, Waitinge7fabf…8a19 = sale key e7fabf…8a19
- Bid set recomputed from the chain, Waiting6 of 6 bids, c2946f…0943 = frozen c2946f…0943
Live on NEAR testnet
Sale contract sealround.itzbeast.testnet. Its account has no access keys left, so nobody can change its code or move what it holds (the transaction that deleted the last key). Run a command below from a clone of the repo to check that sale again: it only reads the chain and OutLayer, and needs no key.
- swarm-11141341Opened in the enclaveAfter the lock
Twenty bids: six sniper bots from 3.2 s after open, twelve people, a copycat voided and a bid 8 s before the close. All 17 winners paid 0.002 USDC; launch pool 2981 on Rhea.
On the explorer: the contract, the sale's token
pnpm --filter web verify-sale --contract sealround.itzbeast.testnet --sale swarm-11141341 - ember-11141303Cleared on chainAfter the lock
Commit-reveal: three bids, settled at the 0.001 USDC floor, launch pool 2979 on Rhea. The 417,600 tokens demand did not take were burned at the creator payout: supply 722,000 to 304,400.
On the explorer: the contract, the sale's token
pnpm --filter web verify-sale --contract sealround.itzbeast.testnet --sale ember-11141303 - nosnipe-11140458Opened in the enclave
Six bids: a sniper 3.6 s after open, a copycat voided, settled at 0.002 USDC, launch pool 2971 on Rhea. Ran while the contract still had its deploy key.
On the explorer: the contract, the sale's token
pnpm --filter web verify-sale --contract sealround.itzbeast.testnet --sale nosnipe-11140458 - nosnipe-11140429Opened in the enclave
Two bidders, settled at the 0.001 USDC floor, launch pool 2970 on Rhea. Ran while the contract still had its deploy key.
On the explorer: the contract, the sale's token
pnpm --filter web verify-sale --contract sealround.itzbeast.testnet --sale nosnipe-11140429 - smoke-11120830Opened in the enclave
First smoke sale, on an older contract build. That contract was never locked.
On the explorer: fairground.itzbeast.testnet, the sale's token
pnpm --filter web verify-sale --contract fairground.itzbeast.testnet --sale smoke-11120830
Demand sets the supply.
The crowd's sealed bids set the price and the supply. Every winner pays the clearing price, and every token the bids did not take burns when the creator is paid, so the supply that is left is the supply the community asked for.
Sealround activity
Simulated- Sales
- Bids
- Distinct bidders
- Tokens burned
- Chapter votes
Launch a sale in two minutes
Run a sale on its own, or offer it as the fair mode on a launchpad. The token is minted once with a fixed supply, unsold tokens are burned, and every rule locks at launch.
Add a launch pool and, after the sale, part of the raise and a token reserve open a Rhea pool at exactly the clearing price. The LP shares stay with the sale contract, which has no method that moves them: once its deploy key is deleted, nobody can pull the liquidity.
- Total supply
- 1,000,000 NIGHT, minted once
- For sale
- 600,000 NIGHT
- Floor price
- 0.001 USDC
- Minimum raise
- 50 USDC
- Bid window
- 30 minutes
- Launch pool
- 20% of the raise, at the clearing price
- LP shares
- Held by the sale contract
- Unsold tokens
- Burned
- Admin method
- None
Bid with USDC from other chains
Fund a bid through NEAR Intents 1Click. The swap lands as USDC on NEAR before the bid is sealed, and a failed swap refunds to the address you gave.
- Quote checkedrefunds go to you
- Deposit received25 USDC on Base
- Swap settledNEAR Intents
- Ready to bidUSDC on NEAR
Live swaps run on mainnet only. Elsewhere the app previews the route.
Set your limits. Inspect the outcome.
Run a full sale on the simulated chain in your browser. Nothing to install, no wallet needed.