Skip to content

This demo runs on a simulated chain with a demo wallet. Simulated demo. Use a real NEAR wallet on testnetReal wallet on testnet

Fair modefor token launches on NEAR

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.

A sale, start to finish
Bot Wins
ArrivalClose
  1. Bids arrive sealed
  2. Sale closes
  3. Enclave opens every bid
  4. One clearing price
  5. Every winner pays it
NEAR ProtocolContract and settlement
OutLayer TEEOpens bids at close
NEAR IntentsFund from other chains

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.

Open the Bot 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.

3.2 s

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.

Max price0.0021 USDC
Max spend50 USDC
01

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.

BidderSealed bidDeposit
kestrel.nearSealed bid10
snipe-bot.nearSealed bid10
orbit-lynx.nearSealed bid4.2
02

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.

TEE
03

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.

04

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
Try to beat it
Testnet sale nosnipe-11140458

0 of 9 checks passed on the clearing run

  1. Attested build is the sealer the contract pins, Waiting
    attested f8408a87…d8cb = pinned f8408a87…d8cb
  2. The worker measured the same build, Waiting
    measured f8408a87…d8cb = pinned f8408a87…d8cb
  3. Enclave measurements are approved on chain, Waiting
    worker.outlayer.testnet: approved
  4. The TDX quote commits to this run, Waiting
    task hash dbe595…0e5d = report data dbe595…0e5d
  5. Input hash matches the request on chain, Waiting
    on chain 167e4a…6339 = attested 167e4a…6339
  6. Output hash matches what the contract received, Waiting
    received b6e3e8…8426 = attested b6e3e8…8426
  7. The request came from the sale contract, Waiting
    sealround.itzbeast.testnet, for nosnipe-11140458
  8. The enclave opened the bids with the sale's key, Waiting
    e7fabf…8a19 = sale key e7fabf…8a19
  9. Bid set recomputed from the chain, Waiting
    6 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.

Locked, no keys
  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
Loading the burn counter

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.

EthereumBaseArbitrumSolanaNEAR
You send
25 USDC on Base
Lands as
USDC on NEAR
  1. Quote checkedrefunds go to you
  2. Deposit received25 USDC on Base
  3. Swap settledNEAR Intents
  4. 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.