Five stocks, onchain
Every market on oPar is quoted in a stock token. Start there.
oPar is a launchpad where tokens trade against stocks. Not the shares themselves: five stock-quote tokens, each named for a listed instrument and given that instrument’s price once, at launch. Today they are Grindr, VIX, Pop Mart, Spotify and Nintendo. Each one lives in its own Uniswap v4 pool against USDG, a dollar token, so each has a live dollar price. That price runs along the ticker at the top of the home page.
Grindr Inc. (NYSE: GRND)
CBOE Volatility Index (INDEX: VIX)
Pop Mart International Group Ltd (OTC: PMRTY)
Spotify Technology S.A. (NYSE: SPOT)
Nintendo Co., Ltd. (OTC: NTDOY)
More stock tokens are coming. Each new one is a new thing to launch against.
A stock token is a unit of account, not a claim. It is not backed by, redeemable for, or affiliated with the company it is named after. What it gives you is a dollar-legible thing to price a new token in, and a name people already know.
When you launch a token here, you pick one of the five. From then on your token and that stock token share one pool: buyers pay with it, your price and market cap show in it, and the reserve behind your token is made of it.
- buys pay in it
- price is quoted in it
- market cap shows in it
- reserves are made of it
- the 1% tax is taken in it
The pool moves with the tape
A native market maker owns the liquidity. It tracks the instrument by moving the band, not by honouring a claim.
Each stock token tracks its instrument continuously. A professional oracle prints the reference price. A market maker that lives in the pool itself relocates the liquidity around that print. When the tape goes up, it mints token into the ceiling. When the tape goes down, it burns token into the floor.
There is no redemption. oPar never promises USDG for a token at oracle price. Tracking is delivered by moving where the liquidity sits. That bounds what the protocol can lose to the assets already in the pool, and makes insolvency structurally impossible.
No liquidity sits outside the band, and no value trades outside it. On every repeg the maker remints a single position across the target range.
The maker does not take the other side of a bet. It rearranges a pool it already owns. Holders get real price exposure, up and down, because the band they trade in is the band the oracle just printed.
- Collateralization
- none; no redemption
- Tracking
- oracle-driven band relocation
- Oracle
- external professional feed
- Maker
- native; owns the whole position
| Event | Token | USDG |
|---|---|---|
| Repeg up | mint the shortfall | freed USDG stays in reserve, redeployed as bid depth |
| Repeg down | burn the excess | none required |
| Net buying | inventory drains | pool USDG rises |
| Net selling | inventory rises | pool USDG drains |
The price, without the claim
An unbacked synthetic. Holders get the move. Nobody gets an entitlement against oPar, or against the company on the tape.
A stock token is not a share. It is an unbacked synthetic that tracks a reference price by moving where its liquidity sits. You get the exposure, up and down, delivered through the band. You do not get ownership, dividends, a vote, or a right to redeem.
That is the point, not a footnote. A protocol goes insolvent when it promised something it cannot pay. This one never promised a dollar at oracle price. The worst print still only rearranges what is already sitting in the pool.
| Is | Is not | |
|---|---|---|
| The thing itself | an unbacked synthetic that tracks by relocating liquidity | a claim on a share, or on oPar |
| What holders get | real price exposure, up and down, through the band | ownership, dividends, voting, or redemption |
| What backs it | the assets already in the pool, and nothing else | a reserve that covers holder value at oracle price |
| The peg | kept by moving the band while the oracle is live | a guarantee; when the breaker trips, the price sits off until it clears |
Tracking can halt. When it does, the price de-pegs and stays de-pegged until the halt clears. That is written here so it is not a surprise later: the band follows the tape when the tape is fit to follow, and it stops when it is not.
Pegged to the close
Equities print about 6.5 hours, five days a week. The chain does not sleep. When the tape is shut, the peg holds the last print.
US cash equities trade a short day. The token does not. From Friday close to Monday open that is 63 hours of a frozen reference and a market that is still open. During those hours, and overnight on every weekday, the peg holds the closing price. When the tape prints again, the maker walks the band to the new print.
63 hoursFriday close to Monday open. The reference is frozen. The token is not. The peg holds the last print until the tape opens again.
4.1repeg() is permissionless
repeg() is permissionless. Anyone can call it. The caller is paid nothing. The function reads the oracle, refuses a stale or out-of-hours print, clamps the move to a maximum per interval, and halts instead of relocating if the print is a gap. Then it burns the old position, measures the real balances, mints or burns inventory, and remints one band around the new peg.
- 1price()read the oracle
reverts if the feed is stale, halted, or outside market hours
- 2intervalwait the interval
nothing moves until the minimum seconds since the last repeg have passed
- 3rate limitclamp the print
the peg can only walk so far from lastPeg, every time, no exceptions
- 4halttrip on a gap
a jump larger than the breaker does not relocate the band; it halts
- 5inventorymint or burn
token shortfall is minted into the ceiling; excess is burned into the floor
- 6one positionremint one band
the recovered balances become a single position across the target range
without the clampone stale-but-valid print relocates every unit of liquidity to a garbage price, and the pool is arbitraged out in a single block. The clamp bounds the damage. The breaker refuses to act on a gap at all.
Rate limiting is not optional. Without the clamp, a single bad print relocates all liquidity to a garbage price and the entire pool is arbitraged out in one block. It is the highest-severity failure in this design, and it does not require a bad oracle: one stale-but-valid print during a halt is enough. The clamp bounds the damage of a wrong price. The breaker refuses to act on one at all.
4.2What stays true after every repeg
- Positions
- exactly one, after every repeg
- Mint cap
- outstanding never above it
- USDG
- never leaves except via collectFees()
- lastPeg
- moves at most the max repeg per interval
- The band
- no liquidity, and no trades, outside it
- The caller
- anyone; granted nothing
Launching against one
One signature, 0.002 ETH, and a market that is open the moment it confirms.
A launch is a single transaction. The form asks for six things, and the chain does the rest:
- Name and ticker. What shows in launches and in wallets. Each name-and-ticker pair can only ever be used once on oPar.
- One line about it. Optional, stored on chain with the token.
- An image. Optional. Paste a link, or upload a file and it is stored on chain inside the token itself, so it can never disappear.
- The stock token it’s quoted in. The one choice you cannot change later.
- Your cut of the supply. 0 to 10% of the billion, sent to your wallet before the market opens. Everything else goes in the pool for people to buy.
- The opening market cap. Not a choice. The form shows it, and the opening price it implies, so you see exactly what you are signing.
- 10.002 ETHyou sign once
one transaction carries the fee and your choices: the stock token, the name, the keep
- 21,000,000,000the supply exists
every token is minted in the same moment; no way to mint more survives the launch
- 30 to 10%your keep leaves first
whatever share you chose lands in your wallet before the market opens
- 4$15,000the pool opens
the rest of the supply is priced in the stock token so the whole billion is worth the standard opening cap
- 5foreverthe liquidity is locked
the pool's ownership certificate goes into a vault with no way out
if any step failsthe whole launch cancels itself, fee included. There is no half-launched state.
Notice what you never provide: capital. The pool opens holding only your tokens, priced so the whole billion is worth $15,000. The first stock tokens in the market come from buyers, on their own terms, and from that moment the reserve behind your token grows with every buy.
Priced in dollars, quoted in the stock
Your opening cap is set in dollars. Everything after that reads in the stock token you chose.
A stock token’s own price is read live from its pool against USDG. At launch the app takes that number and sets your opening price so that all 1,000,000,000 tokens together are worth $15,000, whether one oSPOT is worth hundreds of dollars or one oGRND is worth fifteen. Every launch starts on the same footing.
from the stock token's own pool against USDG, refreshed every 30 seconds
set by trading in your market, the way any price is
and, times a billion, the dollar market cap
at launchthe same chain runs backwards: $15,000 across 1,000,000,000 tokens, divided by the stock token’s dollar price, gives the opening price in the stock token. That is why every launch opens at the same market cap whichever stock you pick.
After that, your token’s price and market cap are quoted in the stock token from the first trade on: so many oSPOT per token, so many oSPOT of market cap. The dollar figure next to it is the same number times the stock token’s live dollar price. Both can move: your token against the stock, and the stock against the dollar.
Every trade pays 1%
Flat, in the stock token, split in half the moment it is paid. Half of it is the creator's, for as long as the token trades.
Buying a token here means paying stock tokens into its pool. Selling pulls them back out. There is no other currency in the market and no other counterparty. The pool itself charges no liquidity fee. Instead every trade, buy or sell, pays 1% in the stock token.
Always in the stock token, never in the launched token. Split by the pool itself in the same moment the trade happens: no claiming, no dashboard, no way to redirect it.
| Who | Gets |
|---|---|
| Creator | Up to 10% of the tokens at launch, plus half of every 1% trade tax, in the stock token |
| Launchpad | 0.002 ETH per launch, plus the other half of every trade tax |
| Holders | A market whose liquidity cannot be pulled, by anyone, ever |
The creator’s half is delivered by the pool itself, in the same transaction as the trade: nothing to claim, no dashboard to visit. And it does not reward fake activity. Trading against your own token costs 1% and returns only half of it, so every wash trade burns 0.5% of its size.
7.1Getting out
Selling is a plain swap: your token back into the stock token, in the same block you sign. The stock token then trades against USDG in its own pool, so a position can be walked all the way back to dollars in two swaps, with nobody in between.
- your tokenwhat you hold
- its launch poolone swap, 1% tax in the stock token
- the stock tokenoSPOT, oGRND, whichever it was quoted in
- the stock token's own poolone swap, live against USDG
- USDGa dollar token, in your wallet
Both hops are plain swaps that settle in the same block you sign them. Nothing is queued, nobody approves it, and you can stop at the stock token if that is what you wanted.
Nothing can be pulled
Not promises. Missing functions. The code that could rug a token simply does not exist.
The vault holding each pool has no withdraw function. The code that could pull the reserve out from under a token does not exist, so a rug is not merely forbidden, it is impossible.
The creator can keep at most 10% of the supply, so the overwhelming share of every token sits in the locked market from day one. The exact number a creator kept is public on every token's page.
After setup, nobody can change the tax, the rules, or the wallets. Not the creators, not the developers. Every existing token and pool would survive even a brand-new launchpad unchanged.
Technical gates make it impossible to launch around the front door, skip the fee, or set up a token's pool with different rules before the real launch does.
Under all of this sits Uniswap v4’s audited infrastructure. oPar’s own contracts are small, source-verified on the chain explorer, and have no owner and no upgrade path. Nothing in this document is tunable after deploy.
$oPar
The launchpad's own token. Every fee the launchpad earns buys it back.
oPar has one token of its own, $oPar, and it lives on the launchpad on the same terms as every other token here: quoted in a stock token, a billion supply, liquidity locked forever, 1% on every trade.
What makes it different is where the launchpad’s revenue goes. The 0.002 ETH from every launch and the launchpad’s half of every trade tax, across every token launched here, are routed into buying $oPar back off the market.
the flat fee, paid once per token
the launchpad's half of the 1% tax, in the stock token
The launchpad keeps no revenue for itself in another form. More launches and more trading across every launch mean more buying of one token.
The contract address and the live page for $oPar sit on the home page. Check the address there before you trade it.
Key numbers
The whole product on one plate.
- cost to launch
- 0.002 ETH, exact
- token supply
- 1,000,000,000, minted once
- quoted in
- oGRND / oVIX / oPMRTY / oSPOT / oNTDOY
- opening market cap
- $15,000, every launch
- creator keep
- 0 to 10% of supply
- liquidity fee
- 0%
- trade tax
- 1% per trade, in the stock token
- tax split
- 50 / 50 creator / launchpad, automatic
- liquidity lock
- permanent, no unlock exists
- launchpad revenue
- buys $oPar off the market
The stock tokens
The five names, what each refers to, and the price each was given at launch.
| Token | Instrument | Price at launch | Address |
|---|---|---|---|
oGRND | Grindr Inc. (NYSE: GRND) | $15.25 | set by deployment |
oVIX | CBOE Volatility Index (INDEX: VIX) | $14.53 | set by deployment |
oPMRTY | Pop Mart International Group Ltd (OTC: PMRTY) | $19.59 | set by deployment |
oSPOT | Spotify Technology S.A. (NYSE: SPOT) | $542.43 | set by deployment |
oNTDOY | Nintendo Co., Ltd. (OTC: NTDOY) | $14.07 | set by deployment |
The price at launch is the number each token was given once, at deploy, from the instrument it is named for. After that the token trades on its own in its pool against USDG and does not follow the instrument. These tokens are not backed by, redeemable for, or affiliated with the named companies; the CBOE Volatility Index is an index level, not a share. More stock tokens are coming soon.






