How the desk works.

Every number on this page is either a constant in the contract or something the contract reads off chain in the same transaction it uses it. None of it is a setting that changes under a position once it is open.

What a short is here

Pick a coin and a size. The desk takes the other side and records an entry mark read from the pool in the same transaction — so your entry is the price at the block you were mined in, not one this page showed you a moment before.

If the mark falls you are paid the fall on your size. A coin can only go to zero, so a short pays at most one times your size. If it rises you lose the rise, and the loss stops at your size.

No leverage, no margin call

Your size is your maximum loss and it is fixed the moment you open. Nobody will ask you for more, and there is no maintenance margin to fall below.

It closes itself at 2×

If the mark reaches double your entry the position settles at a total loss of your size and stops. That is what makes “your size is the most you can lose” a fact rather than a hope: without it, a coin that ran 10× would owe more than you ever put in.

Ten minute minimum hold

MIN_HOLD = 10 minutes. You cannot open and close in the same block, or the same few minutes. That is what stops somebody opening a short, dumping into the pool, and closing against the price they just made.

Where the price comes from

There is no oracle, no API and no price anyone types in. A mark is read straight out of the Uniswap V4 PoolManager's storage with extsload:

slot0 = keccak256(abi.encode(poolId, 6))
mark  = (sqrtPriceX96 / 2^96)^2, scaled for the two tokens' decimals

Slot 6 is where the PoolManager keeps _pools. Anyone can make the same read against the same pool at the same block and get the same number. That is the entire pricing system, and it is why the desk can quote coins no exchange lists: if it trades in a V4 pool, it has a mark.

A market the desk has not listed is refused rather than read. An unlisted market resolves to slot zero, and arithmetic on slot zero produces something that looks like a price and is not one.

The maximum size, and why it moves

Every market has a cap, and the cap is derived, never typed. It answers one question: at what size does it become profitable to cheat?

The attack is the obvious one — open a large short, dump into the pool yourself to cause the fall, collect. So the cap sits at the size where causing a 10% fall costs exactly what the short would pay:

push = depth × (1 − sqrt(0.9))  // ~5.13% of depth moves a pool 10%
cost = push × (poolFee + 5% slippage)
cap  = cost / 10%
max  = cap × maxStakeBps / 10000

Below that size, manipulating the price loses money. Above it, manipulation pays — and the vault is who pays it. Depth is read in the same transaction as your entry, so a cap derived from stale liquidity can never be used: as a pool thickens the cap rises, as it thins the cap falls, and a pool too thin to support a position stops offering one.

The safety margin

That arithmetic assumes liquidity is spread evenly across the move. Uniswap V4 is concentrated — liquidity sits in ranges — so a move that walks out of a dense range can be cheaper to cause than the formula expects. maxStakeBps is the allowance for that, currently 2500: a quarter of what the arithmetic alone would permit.

The vault is the other ceiling

A position can never exceed what the vault could pay on it. The size actually offered is the smaller of the derived cap and the vault's free capacity — which is why the maximum grows as fees accumulate, and shrinks while other positions are open.

What it costs

WhatHow muchWhere it goes
Opening fee0.30% of your size, oncethe vault
Holding cost0.05% of your size per hourthe vault
Closingnothing
Spreadnone — you enter at the pool's own mark

Both are charged on your size rather than on a notional, because there is no notional: there is no leverage here. A 1 ETH position held for a day costs 0.003 to open and 0.012 to hold.

What $CRASH costs to trade

A $CRASH trade pays 3% — 1% to the PONS curve plus a 2% creator tax. Of that, 2.7% of volume reaches the pot and PONS keeps the rest, so it would be wrong to call the pot's share 3%.

The vault, and the two pots

100% of $CRASH's creator fees become the vault, and the vault is the only thing a winning short is ever paid from. The PONS escrow pays the desk contract directly rather than a wallet, because the recipient is recorded at launch and the desk holds no code that could change it afterwards.

Your collateral is not the vault

Two pots, and the contract will not let them blur:

  • Custody is traders' collateral. It can only ever leave as that trader's payout.
  • Vault is harvested fees. It is what pays winners.
require(held >= vault + custody)  // after every state change

This is the rule that prevents the failure every desk of this shape dies of: paying winner #2 out of trader #3's collateral. It is checked after every open, close and payout, and the contract reverts rather than continue if it ever stops holding.

The solvency ceiling

Before a position can open, its own worst case must fit inside what the vault has left after everything already owed. The desk writes no risk it has not already harvested the fees to cover, which is why the maximum size falls while other positions are open and recovers as they close.

Read it yourself

Every figure on this site comes from one of these.

ContractAddress
CrashDesknot deployed yet
$CRASHnot launched yet
Uniswap V4 PoolManager0x000000000004444c5dc75cB358380D2e3dE08A90
PONS factorynot deployed yet
PONS fee escrownot deployed yet
USDGnot configured yet

The chain is Ethereum, EVM 1. The useful calls on the desk are markOf(bytes32), depthOf(bytes32), capOf(bytes32) and freeVault(address) — the same four this site reads on every load. A market id is keccak256(symbol).

Nothing here is investment advice. The view the desk takes on any coin is an opinion about market structure, not a statement about the people behind it, and it can be wrong.