Documentation

How it works

Every token here is pegged to one CS2 skin, one to one. This page covers the whole system: what the peg is and is not, where the skin prices come from, and what happens on the curve before and after graduation.

Overview

A token here is two things at once. It is an ordinary pons v2 launch, a bonding curve holding the entire supply, tradeable from the first block, graduating into a pool with permanently locked liquidity. It also carries a reference: the market price of one specific CS2 skin.

The skin is chosen once, at launch, and written into the launch record along with the exact listing it is quoted against and what that listing cost at the time. It cannot be changed afterwards by the creator, by us, or by anyone holding the token.

  1. 01ChoosePick a skin from the catalogue and name the token. The pairing and the price at that moment are recorded at creation.
  2. 02TradeThe token trades on its bonding curve immediately. Anyone can buy or sell from the first block.
  3. 03CompareThe skin's price is refreshed continuously, and every page shows the token against it, including how far apart they are.

The peg

The peg is a price relationship. One token is worth what one skin is worth. If a Field-Tested Dragon Lore is quoted at $6,138, the token pegged to it has a target price of $6,138.

target price of 1 token = market price of 1 skin

There is no ratio and no supply arithmetic in that line, and that is the point of the design. A skin has a price. A token has a price. They are the same kind of number, so they are set equal. Nothing has to be divided by a supply figure, and there is no scaling constant for anyone to misread.

What makes the peg more than a label is that the target is enforceable by trading. Any gap between the two prices is an arbitrage, and the token funds its own arbitrageur.

Token price against its referenceIllustrative

First 120 hours after launch, one point every 6 hours

Token priceSkin price (reference)±5% band

The token opens far under its reference, overshoots hard, and is met each time it leaves the band. Note hours 24 to 40 and 90 onward: the gap is inside tolerance, so nothing intervenes and the price simply trades.

The peg is not redemption. A token cannot be exchanged for a skin, and there is no inventory of skins held behind these tokens. It is a price the market is pushed toward, not a claim on an object.

Where prices come from

Skin prices come from Skinport's public listings feed, refreshed on a schedule. The figure quoted is the median of current listings for that exact item, not the cheapest one: on a thin item the lowest listing is often a single outlier far below the market, and quoting it would misprice the peg on every page at once.

The peg is always quoted against one exact listing, because a skin is not one asset. A Factory New and a Battle-Scarred of the same skin are different items at different prices, and StatTrak and Souvenir are different again. The specific listing is fixed at launch and shown on the token page.

MetadataByMykel/CSGO-APINames, artwork, rarity, float range and which wears exist.
PricesSkinportLive listings for every tradable variant, refreshed on a schedule.
HistoryAccumulated hereSkinport serves no history, so the series is recorded on each refresh.

When a skin has nothing currently listed, the last known price is held rather than dropped to zero. This happens regularly at the top of this list, where an item may go a day without a single seller, and a zero would show a Dragon Lore pegged at nothing.

Drift

Drift is the gap between what a token trades at and what its skin is worth. It is the number the whole system is built around, and it is on every market row and every token page.

drift = (token price ÷ skin price) − 1

Positive drift means the token trades richer than the skin it tracks. Negative means cheaper. A token at exactly its reference has zero drift, which is the state the mechanism pushes toward but does not pin: a peg held rigidly at one price is a peg with no market in it.

Drift is measured against the exact listing the token was launched against, so it is never distorted by a wear that is not the one being tracked. It is recomputed every time the reference refreshes.

Convergence

A reference price on its own does nothing. What closes the gap is that every token is born with a fund whose only purpose is to trade against its own drift.

Two percent of every trade accrues to a fee vault belonging to that token alone. When the token trades below its reference the vault is a buyer; when it trades above, it sells into the strength. It takes the unpopular side of the gap in both directions, and because the reference is public, anyone can take the same trade alongside it.

  1. 01ObserveThe reference price is published continuously. Drift is computed against the token's current spot on its curve or in its pool.
  2. 02Ignore the noiseInside a ±5% tolerance band, nothing happens. Ordinary trading movement is not worth spending capital to flatten, and a mechanism that fights every tick burns its own fund defending nothing.
  3. 03Take the other sideOutside the band, the vault sizes an order against the gap and executes it. It never tries to close the whole distance at once; it leans, repeatedly, and lets the market meet it.
  4. 04RefillEvery trade the correction causes pays 2% back into the same vault. Defending the peg generates the volume that funds the next defence.
Drift, and what the vault does about itIllustrative

Same run. Bars are vault action; the shaded strip is the tolerance band

DriftVault buyingVault selling

Every bar is a trade the vault took against the gap: green where it bought the token back up, red where it sold into strength. There are no bars inside the band, which is most of the chart, and that is the point of having one.

The band matters more than it looks. Without it the vault would trade constantly against movement that was going to revert on its own, spending real capital to suppress noise. With it, the vault is idle almost all of the time and holds its capacity for the excursions that actually break the peg.

Status. Fee collection into per-token vaults is live today, and drift is computed and published on every surface. Automated convergence trading from those vaults is not yet enabled on chain, and no contract currently reads a skin price. Until it is switched on, treat the peg as a reference the market may or may not respect, and do not assume anything is defending it.

Depth of defence

How hard a token can defend its peg is not a number we set. It is a function of how much the token has traded, because the vault holds nothing but that token's own fees.

defence capital = 2% × cumulative volume − capital already deployed

This has a consequence worth stating plainly, because it cuts both ways. A token that trades heavily accumulates a deep vault and can absorb large excursions. A token that barely trades accumulates almost nothing, and its peg is defended by very little. Liquidity is not a side-effect of the mechanism; it is the mechanism's fuel.

Defence capital against cumulative volumeIllustrative

Vault balance is 2% of everything the token has ever traded

Cumulative volumeVault balance (2%)

Capacity is not a parameter anyone sets. It is earned. A token doing heavy volume can absorb a wide excursion within a week; one that never trades has an empty vault and a reference that nothing is defending.

Cumulative volume$100,000Vault holds roughly $2,000 of defence capital.
Cumulative volume$1,000,000Roughly $20,000, capable of absorbing a far wider gap.
Never traded$0No vault, no defence. The reference is a label and nothing more.

One token's volume can never fund another's defence. Vaults are per-launch and are fixed as the fee recipient in the launch transaction itself, so there is no shared treasury and no cross-subsidy between tokens.

The catalogue

The catalogue is the 300 most valuable skins in Counter-Strike, ranked by price. It is built rather than curated: every skin in the game is joined to live listings, and the top of that list is what you can peg against.

It is one row per skin, not per listing. A skin trades as up to thirty separate items once wear, StatTrak and Souvenir are counted, and a catalogue of those would be three hundred near-identical knife listings rather than three hundred recognisable skins. Every priced variant is still kept and shown.

The list is rebuilt on a schedule, so the ranking reflects what skins are actually worth. A token already launched is unaffected by a reranking, because it is pegged to a skin, not to a rank.

Two tokens may be pegged to the same skin. Nothing is reserved, and being first confers no claim.

Lifecycle

  1. 01CreateYou choose the skin, set a name, ticker, image and links, and pay the launch fee. The entire supply is minted straight to a bonding curve. Nobody, including you, is holding a bag set aside beforehand.
  2. 02Trade the curveAnyone can buy and sell immediately. Price rises as people buy and falls as they sell, and the curve always takes the other side, so there is never a wait for liquidity.
  3. 03GraduateOnce the curve sells out, everything it collected seeds a Uniswap v4 pool and that liquidity is locked permanently. There is no unlock and no privileged wallet that can reach it.
  4. 04TrackThe token trades in its pool, and every surface keeps showing it against the skin it references.

Bonding curve

A bonding curve is a vending machine. It holds the whole supply from the moment of launch and will always sell you tokens and always buy them back. The price is worked out from how much of the supply has been bought so far, not set by anyone, and not negotiated.

This is why a token is tradeable in its first block with nobody providing liquidity. It is also why early buys are cheaper than late ones: the price is a function of how much has already been sold, so the curve climbs as supply leaves it.

A portion of the supply is held back from the curve and reserved for the pool the token graduates into. That reserved amount is what seeds real liquidity at graduation, and it is set by the launch configuration rather than by the creator.

Graduation

When the curve has sold its sellable supply, the launch graduates. Everything the curve collected, together with the reserved supply, seeds a Uniswap v4 pool, and the liquidity position is locked permanently.

Permanently means what it says. There is no timelock that expires, no multisig that can withdraw it and no admin function that can move it. The tokens and the pair asset backing that pool stay there for as long as the chain exists.

Graduating is not a quality signal. It means the curve sold out and nothing more. A token that graduates can still trade down afterwards, like anything else.

Fees

Launch fee0.0005 ETHPaid once, when you create the token.
Vault gas0.001 ETHSent to the token's own fee vault so it can pay for its first claim.
Curve fee1.00%Charged on trades against the bonding curve.
Creator fee2.00%Charged on every trade and collected into the token's fee vault.
Pool feeNoneThe graduated pool charges no Uniswap fee of its own.

Fees are always charged in the asset the token trades against, never in the token itself, so you are never handed a bill denominated in something you were trying to sell.

The creator fee is the same 2% for every token on the platform. It is not a setting. A per-launch choice only ever produced tokens that were quietly worse to trade than their neighbours.

The fee vault

Every launch derives its own fee vault, and that vault is set as the token's fee recipient in the launch transaction itself. Fees from a token accrue only to that token's vault, so one token's trading volume can never fund another's.

The address has to be known before the token exists, because the fee recipient can only be set at creation and never afterwards. Each vault is derived deterministically from a single secret we hold, combined with a public value recorded alongside the launch. That public value reveals nothing on its own. Only the secret can turn it into a key, and the secret never leaves the server.

A vault can hold fees and trade the token it belongs to. That is all. It cannot mint, cannot reach locked liquidity, and cannot touch anyone's balance.

The keeper

Creator fees do not arrive in the vault by themselves. They accumulate in the pons fee escrow and have to be claimed, and the keeper is the process that claims them: it walks every launch on a fixed schedule, collects whatever has accrued, and records the claim.

Before graduation, fees behave differently than most people expect. The escrow is not credited on every trade. The fee sits on the launch's own curve until graduation moves it, so a token can have genuinely earned fees that nothing can collect yet. Those are shown separately rather than counted as zero.

The keeper is a convenience, not a trust assumption over your tokens. It can claim fees into a vault. It cannot mint, freeze, move your balance, or touch locked liquidity.

Contracts

Everything runs on the pons v2 contracts on Robinhood Chain, chain id 4663. Each launch gets its own token and curve, which you should resolve from the factory rather than hardcoding.

Risks

  • Convergence is not switched on yet. Fees are being collected into per-token vaults today, but those vaults do not trade, and no contract currently reads a skin price. Until that ships, nothing is defending the peg and a token can trade at any multiple of its skin for as long as people keep it there.
  • Even switched on, a peg can break. A vault can only spend what the token has earned in fees. A move larger than its accumulated capital, or a token that has barely traded, will not be corrected back to the reference.
  • A token is not a skin. It cannot be redeemed for one, there is no inventory behind it, and nobody is obliged to buy it from you.
  • The price feed can fail. It depends on a third-party marketplace. If it stops, the reference goes stale and is shown as unavailable rather than wrong.
  • Skin prices are volatile and thin. The most valuable items trade rarely, and a quoted median can move a long way on a handful of listings, or on a Valve update nobody saw coming.
  • Valve is not involved. Counter-Strike, its skins and its artwork belong to Valve. There is no relationship, endorsement or obligation of any kind.
  • Anyone can create a token with any name, including one that impersonates a real project. Names are not unique and are not verified. Check the contract address, which is the only identifier that cannot be copied.
  • Graduating is not a quality signal. It only means the curve sold out.
  • Transactions are signed by your own wallet and are irreversible.

FAQ

Can I redeem a token for the skin?

No. The peg is a price reference, not a claim. There is no inventory of skins behind these tokens and no mechanism to exchange one for the other.

Is convergence running today?

Not yet. Fee collection into each token's own vault is live, and drift is published on every surface, but the vaults do not trade and no contract reads a skin price. Treat the reference as information, not protection, until that changes.

Where does the defence capital come from?

The token's own trading. Two percent of every trade accrues to a vault belonging to that launch alone, so a token that trades heavily can defend a wide gap and one that never trades cannot defend anything.

Which wear is the peg quoted against?

The exact listing chosen at launch, shown on the token page. It is usually the most liquid wear, because that is the price people can actually transact at.

Can the peg be changed after launch?

No. The skin is written into the launch record and is fixed for the life of the token.

Can two tokens peg to the same skin?

Yes. Nothing is reserved and being first confers no claim.

What if a skin has no listings?

The last known price is held and marked as stale rather than dropping to zero. The token keeps trading either way.

Who receives the creator fee?

It accrues to a fee vault belonging to that token alone, at an address fixed in the launch transaction.

Can locked liquidity ever be withdrawn?

No. There is no timelock that expires and no function that can move it.

Ready to launch?
The whole thing takes one transaction.
Launch a token