Skip to content

FAQ

Plain answers, each with the document it comes from. Where the plan has not decided something yet, it says TBD. These sections describe Practice, the points game; the price, the breaker, liquidation and orders work the same in Trade.

Trading real USDC? Deposits, withdrawals, queued claims and the limits are in the Trade FAQ, and what can go wrong is on the risks page.

What this is

A paper trial of synthetic perpetuals on selected Solana memecoins: real on-chain prices, real liquidation logic, PnL in points, no user money, no custody and no keeper transactions.

They are synthetic perps against the house, which is to say contracts for difference: your position is a bet on our mark. It never touches the pool and has no effect on the chart.

Points, not money. Every account starts with 10,000 points. Margin is locked from the balance, losses are deducted, and a win adds its net profit at 1 point per $1. There is nothing to deposit and nothing to withdraw.

Points never convert to anything. Trial points, including points earned on search markets, are not and will never become a token, money or any claim on anything, during the trial or after it. They are a score for this trial and its leaderboard, nothing more.

Which tokens: Solana memecoins that trade only on DEXes. The listing rules aim at a market cap of $5M to $25M with a canonical pool of at least $300K quoted in SOL or USDC (Listing and risk), and anyone can start a trial market by pasting the mint of a token with a pool we can price (Search markets).

What the trial is for

It tests the oracle on live pools over weeks (deviation, staleness, breaker trips, glitch prints), liquidation accuracy and gap-through at 5-second granularity, whether the leverage tiers and caps hold, the delist rule in practice, and whether the flow is fun and used. It cannot test real-money demand: points traders run maximum leverage with no fear, so its PnL reads as a ceiling on recklessness, not as evidence of demand.

How the price works

Our mark comes from pool reserves, read on-chain, every 2 s. Each pool's price is computed with that pool program's own price function: PumpSwap including its extra quote field, Raydium v4 vault balances net of open orders, concentrated pools from the square-root price with the in-range liquidity.

The live price is the liquidity-weighted mean of those reserve mids across the market's qualifying pools, each weighted by the USD it takes to move it +2%. A pool more than 5% away from the weighted mean is excluded and flagged. A market's live price uses at most 3 pools, the deepest that fit 10 accounts read per tick.

The live price and its three averages

The four prices and what each is used for
PriceWhat it isUsed for
The live priceThe pools’ price this tickDisplay and the breaker; market opens fill at the worse, for you, of it when you press and a few seconds later, plus an impact spread
The 8-second averageThe live price averaged over 30 slots (about 8 s)The liquidation trigger, together with the live price
The 60-second averageThe live price averaged over 60 sCloses, liquidations and take-profit / stop-loss settle at the worse, for you, of it and the live price; open positions are marked there too; limit orders and take-profit / stop-loss trigger on it
The 5-minute averageThe live price averaged over 5 minutesThe breaker’s reference and the delist snapshot

Market opens fill a few seconds after you press, at the worse, for you, of the live price when you pressed and the live price at the fill, plus an impact spread: the constant-product impact of your notional on the reference depth, so a bigger size gets a wider spread. Closes settle at the worse, for you, of the 60-second average and the live price, with no tolerance (since 2026-10-07; before, a close took the average while it was within 2% of the live price). Right after a move the average lags, so a close never books the lagging, better price. Open positions are marked at the same price, so the PnL you see is what a close would book; a position's details say which of the two binds.

Why does my open take a few seconds?

Because we fill it on the oracle's next prices. Our live price is read from the pools every 2 seconds, so it reaches you a moment after the pool moves. If opens filled at the price you saw, someone watching the pools directly could open just before a move we had not shown yet and be in profit at once, paid for by everyone else. So a market open is accepted when you press and your margin is set aside, then it fills after the next two prices (about 4 seconds) at the worse, for you, of the price when you pressed and the price at the fill, plus the usual spread. Nobody can trade on a move the oracle has not published yet.

The ticket shows “Filling…” with your request price meanwhile, and its button cancels the open (your margin comes back). If the breaker trips or the price goes stale in between, the open waits for the next clean price for up to 30 seconds, then cancels with your margin back. Every open check (market status, leverage, caps, one position per market) runs again at the fill. Limit orders, take-profit and stop-loss work as before.

Why not DexScreener's price?

A last-trade print is one trader's fill at the worst point of their own impact, fee included, in whichever pool they used: not a price anyone else can trade at. On thin pools it carries moves of 45 to 100% inside one transaction and one-candle glitch prints at 1/600th of the price (25 of 778 alerted series), each of which would liquidate every position on one side. A print can be set by a $100 wash trade, while a reserve mid costs real capital to move and reverts when the capital leaves. Third-party prints also add 25 to 35 s of latency and CDN staleness.

So our mark can differ from DexScreener's print by 1 to 15% for 30 s at a time on small caps. The app shows no DexScreener chart (it was delayed and confusing), only an outbound link. Jupiter and DexScreener prices are recorded next to our mark for monitoring and the breaker, never for settlement. The chart is built from our own live price at a 5-second base resolution, aggregated to 1m, 5m, 15m and 1h; its history starts when the oracle began sampling the token.

Staleness

Staleness: the age of the last pool read and what it does
Age of the last readEffect
up to 15 slotsNormal (about 4 s; the oracle samples every 2 s)
15 to 60 slotsNo liquidations; opens blocked; closes allowed at the 60-second average
60 slots to 5 minutesClose-only at the frozen 60-second average
over 5 minutesFrozen; the incident procedure starts

The breaker

A safety switch on each market's price feed, not a brake on big moves. These tokens often move 10 to 20% in five minutes and 50 to 400% in an hour, up or down. That is what you are here to trade, so a big move just moves your PnL, and at 10x it can liquidate you. Since 2026-10-08 the breaker trips only when the price itself looks wrong or the token looks rugged:

  • the live price stays more than 20% away from its 5-minute average (or 3 × its usual one-minute move over the last 24 hours, if that is larger, up to 50%) for three reads in a row, about 6 seconds. A spike that lasts one or two reads does not trip it and still counts: a close or a liquidation on that read settles at the worse, for you, of the 60-second average and the live price;
  • a pool's quote reserve changes by more than 25% between two reads (liquidity added or pulled);
  • the pools disagree by more than 5%;
  • a crash: the live price falls below half of its 5-minute average, or a pool loses more than half of its quote reserve within 60 seconds.

While it is tripped: no opens; closes settle at the worse, for you, of the 60-second average and the live price, bounded by the 5-minute average; liquidations wait until the live price has been back inside the band for 30 slots or 10 minutes have passed, after which the 5-minute average is used for the trigger and the settlement.

After a stall: if our price feed stops for a while, a close you send right after it waits for the next fresh price (“Closing… waiting for a fresh price”, with a Cancel) instead of settling at the old one; if none comes within 30 seconds it is cancelled and your position stays open.

When it makes a market close-only: after a crash, for 24 hours (the team can reopen it sooner once it has checked the pool is alive); after 10 trips within an hour, for an hour after the last one, then it reopens by itself; and while it stays tripped for 10 minutes or more in a row. Before 2026-10-08, three trips in a day also closed a market; they no longer do.

In the terminal the oracle chip in the header strip turns to “breaker tripped”; the Info tab shows the reason and since when.

Costs: the spread and the PnL cut

What an open costs and what is taken from a win
ItemRule
Impact spread at openYou enter at the live price moved by the constant-product impact of your notional on the pools’ live depth: a bigger position pays a wider spread
FeesNone since 2026-10-07: no open fee (was 0.1% of notional), no close fee, no holding fee (was 0.02% of notional per hour)
PnL cut on wins10% of positive PnL, kept by the house
Time scaling of profitA profit counts 0 at 60 s of hold, rising linearly to 100% at 5 minutes (kills the pump-close-dump inside an averaging window); losses count in full
Profit cap5 × margin per position (3 × before the 10x change on 2026-10-06), applied to the net win after the time scaling and the cut
Skew fundingOff (logged as if on at 0.05% per hour, for later replay)

The three visible rules are the impact spread at open, 10% of winning PnL, and the profit ramp (0 at 60 s of hold, 100% at 5 minutes), plus the size caps (see Caps). Nothing else is charged.

A worked example

100 points of margin at 10x is 1,000 points of notional: you pay only the impact spread at open, nothing while you hold it and nothing to close. A net win of 50 points closed after 5 minutes or more adds 45 points (50 less the 10% cut). Closed after 3 minutes, half way from 60 s to 5 minutes, only half counts: 25, less the cut, adds 22.50 points.

Liquidation

The trigger: an adverse move of at least 1/L minus 3 × the p99 one-minute move (the 99th percentile), and never less than half the margin (0.5/L). Both the live price and the 8-second average must be through it.

At 10x the floor binds for any p99 above 1.67%: a fresh market on the 3% fallback liquidates at a 5% adverse move; a quiet token with a p99 of 0.4% at 8.8%.

The buffer comes from measured volatility, fixed when you open: the token's 7-day p99 once it has 7 days of candles, else its 24-hour p99, else the 3% fallback. A trial market uses the fallback until the oracle has 60 one-minute returns in its current run, about an hour.

Settlement: the remaining equity at the worse, for you, of the 60-second average and the live price, minus 2% of the margin, floored at zero (settlement rules version 2, since 2026-10-07; a position opened before keeps its terms and settles at the 60-second average). A liquidation never returns more than the margin.

Liquidations wait while the breaker is tripped (after 10 minutes tripped, the 5-minute average is used) and while the mark is stale. Close-only markets keep liquidating; frozen markets and frozen marks do not. A fast move can still gap through the trigger between two reads: the trial measures exactly that gap-through, at 5-second granularity.

Orders and take-profit / stop-loss

Everything triggers on the 60-second average, so a single-tick spike can never fire a trigger.

Limit orders

A limit long triggers when the 60-second average is at or below your price; a limit short when it is at or above. It then fills at exactly the entry a market open would get at that moment, the live price moved by the impact spread, but never worse than your limit: a long pays at most its limit, a short sells at least at it.

While the market is warming up, its feed or mark is stale or its breaker is tripped, a triggered order waits. At the fill the market open's checks run (status, caps, one position per token, your balance) and your take-profit / stop-loss are checked against the real entry and liquidation price; a failure cancels the order with the reason, for example when the mark gapped through the stop-loss before the fill. Warm-up, the breaker and staleness never refuse a placement.

The margin is reserved while the order is open. An account can hold 20 open orders and place 10 a minute. Orders are good till cancelled and expire after 7 days. Open orders on a paused market are cancelled and their margin released; resting orders count as activity, keeping a market from being paused, for 6 hours after its last view, open position or order.

Take-profit and stop-loss

Set them with the open, or add, change or clear them later. The take-profit must be on the profit side of the entry; the stop-loss on the loss side, between the entry and the liquidation price. A crossed level waits through a breaker trip, a stale mark or a stale feed, like a liquidation, and executes on the first clean mark that still crosses it, priced at the worse, for you, of the 60-second average and the live price on that mark, like a manual close (since 2026-10-07). The liquidation check runs first and wins. A level is a trigger, not a guaranteed price.

If the engine you are connected to does not offer orders yet, the app says “coming soon” in the ticket's Limit tab, the TP/SL fields and the orders tabs.

Caps and market slots

Caps per market and per account
CapRule
Positionmin(USD to move the pool 2%, 5,000 points of notional)
Per sidemin(USD to move the pool 10%, 50,000 points) of open interest
Net exposureHalf the per-side cap, of long minus short
Trial marketFrom the depth found at registration: position min(+2% depth, $5,000), side min(+10% depth, $50K), net min(side / 2, $25K)
Per accountOne open position per token; at most 500 points of margin per position

When a cap binds, the engine clips your request to the room left and refuses only when that room is below the minimum position; the ticket shows the cap that binds and asks you to confirm a reduced size. The caps, the per-account margin and the profit cap together bound what pushing a pool could pay (the net cap caps the manipulation payoff).

Why is my leverage limited?

Because the pool is thin. Your position never touches the pool, but its price comes from the pool. Someone who wants a big long to pay out could buy the pool up, let the long close at the higher price, then sell back. Pool depth, the dollars it takes to move the price 2%, is what that push costs them. On a deep pool it costs more than the trade could win; on a thin one it is cheap. So thin pools get low leverage, checked on each side on its own: a long reads the dollars that move the price up 2% (what a push up costs), a short the dollars that move it down 2%.

Leverage by pool depth
Dollars to move the price 2%Leverage
$3,000 or moreThe market’s full leverage (10x on search markets)
$1,000 to $3,000Up to 3x
$300 to $1,000Up to 2x
Under $300No new positions on that side

The ticket greys out the leverage above what the depth allows and says why under the buttons, for example “3x max by pool depth: $1.8K moves the price 2%”; the market card and the token page say “up to 3x” when depth is what limits it. Depth is read live, so the limit can change from minute to minute: a limit order is checked when you place it and again when it fills, and is cancelled if its leverage is above what the depth allows then. Positions already open keep their leverage. The three thresholds are this trial's settings and can be tuned; the Parameters page shows the live values.

Market slots

The oracle reads every sampled market's pools on-chain each tick, within a fixed request budget on a public RPC. Each market's live price reads at most 3 pools that fit 10 accounts read per tick, so a market costs at most one RPC call per tick. The slots count the markets in use plus the two-account markets that still fit under 0.8 × the RPC limit; at the 2 s tick and 2.4 requests a second that leaves room for 19 one-pool markets, 8 on one concentrated pool, or 3 at the 10-account limit. A refused search says “No slots free, try later”.

An idle trial market (no views and no open positions for 30 minutes, this trial's setting) is paused, which frees its slot; its history is kept and a search resumes it.

Points and the leaderboard

No sign-up: your browser gets an anonymous account, with 10,000 points and a handle such as anon-7f3a, the first time you trade, check a token or open Positions; browsing creates none. New accounts are limited per IP address each hour; when the limit is reached the app says when to try again. A session lasts 7 days and is renewed while you use it; if it ends, your next trade starts a new anonymous account, so link a wallet to keep yours.

Linking a wallet is optional. You sign a one-time message (Sign-In-With-Solana style: the site, your address, a statement, a nonce, a 10-minute expiry): free, and not a transaction. One wallet per account; your handle becomes the wallet's short address, and signing in with it on another device reaches the same account. Your account.

Your balance: margin is locked from it; losses are deducted (there are no fees since 2026-10-07); a win adds its net profit after the cut and the time scaling, at 1 point per $. Including locked margin it is 10,000 plus your realised PnL.

Points never convert to anything. Trial points, including points earned on search markets, are not and will never become a token, money or any claim. A points balance is a trial score and stays one.

Seasons

The leaderboard runs in seasons of one calendar month, in UTC. A season starts at 00:00 UTC on the 1st and ends at 00:00 UTC on the 1st of the next month. The season board ranks realised PnL in points of the positions closed inside the season: a position counts in the season in which it closed, whenever it was opened. Past seasons stay viewable on the leaderboard.

Balances are not reset when a season starts. Your points carry over from one season to the next; only the ranking starts again. The Points column always shows the whole balance, all time.

The leaderboard opens on the current season; the 7-day, 30-day and all-time windows stay beside it. Every view ranks accounts by net PnL, with gross wins shown beside it: a gross-wins leaderboard would reward reckless volume. Trial markets count. It is sybil-able and read as such. Beside it, the live trades feed lists every account's opens, closes with PnL, liquidations, take-profit / stop-loss closes and limit fills, by handle only. CLAUDE is our own test bot; it is labelled everywhere and never ranked.

Listing and risk

The Pending listings tab shows tokens that are not tradable: candidates, sampled and stored for evaluation only, and paused tokens, configured but not sampled at all. Each shows its days sampled and, when one exists, its listing-check report.

The checklist has twelve items: A chain and quote, B band and depth, C age, D pool count, E mint authorities, F liquidity custody, G sellability, H concentration, I wash screen, J launch integrity and clones, K live volatility, L oracle health. Each is verified, unverified or not checked, with its evidence pinned to a slot. A not-checked item blocks listing and never reads as a pass; “renounced” and “locked” are claims to verify on-chain, not scanner labels.

Provisional marks a market trading on less than 7 days of oracle data: its liquidation buffer rests on the 24-hour volatility measured so far.

The risk, plainly: these are memecoins, and trial markets have no depth floor beyond pricing. The trial measures the oracle and the mechanism, not demand or real trader PnL, and nothing here is money.

See the paused and pending markets.

When a market is delisted

Close-only, automatically. A listed market stops taking new positions, while closes and liquidations continue at the live price, when any of these happens:

  • its canonical pool's +2% depth stays below half of its value at listing for more than an hour, or falls below the listing floor at any time;
  • the breaker records a crash (the live price below half of its 5-minute average, or a pool losing half of its quote reserve within 60 seconds): close-only for 24 hours, or until the team reopens it after checking the pool;
  • the breaker trips 10 times within an hour: close-only for an hour after the last trip, then it reopens by itself;
  • the breaker stays tripped for 10 minutes: close-only while it lasts;
  • the trailing 24-hour volatility (the p99 one-minute move) crosses into the next tier down: leverage for new opens steps down at once, and open positions keep their terms;
  • the mint or freeze authority changes, or a new Token-2022 extension appears;
  • more than 20% of the recorded burned or locked LP is removed, or the canonical pool migrates;
  • volume exceeds 20 × liquidity over any trailing hour (wash trading or an attack in progress).

Trial markets started by search are never sent to close-only by the depth floor; the breaker and staleness rules still apply to them.

Manual freeze. When the pool is drained or rugged, the sellability test fails twice in a row, there is an exploit or incident on the token, the pool program or our own contracts, or counsel asks, the oracle is frozen at a snapshot: nothing opens or closes at a live price.

What happens to your open position:

  1. For 24 hours the market is close-only at the live price: you can close at any time, and liquidations continue.
  2. At 24 hours, the team settles any remaining positions at the 1-hour TWAP (the time-weighted average of the live price) ending at the delist time, not at the last print (a manual step in the trial).
  3. If the pool becomes unsellable before then, the oracle is frozen at the last 1-hour TWAP taken while the breaker was clean, and the team settles at that price: shorts are paid up to the profit cap, and longs get back the margin that remains at that price. We say publicly which rule applied and at which slot.
  4. A delisted token is not relisted for 30 days, and then only after passing the full screen again.

What is not here yet

Money or a token. There is no money and no token in the trial; points never convert to anything. Nothing to deposit, nothing to withdraw, no custody.

Skew funding is off (logged as if on, for later replay).