Prebell

Method

How Prebell works

Tokenized stocks (xStocks such as NVDAx, TSLAx and SPYx) trade on Solana around the clock. The Nasdaq and the NYSE trade 09:30–16:00 ET on weekdays. When the exchanges are closed the on-chain price keeps moving, and the distance from the last real close is a guess about where the stock will open. Prebell measures that guess, freezes it before the bell and checks it against the real open.

Which tokens

Only the official xStocks, from the issuer’s product list. Each mint is checked on-chain: the token program, the issuer’s mint and freeze authorities, and the metadata. Plenty of other tokens share the names (we’ve seen a fake “NVDAx” at $0.0000028); they are counted on the status page and never used. Prebell samples the day-one list (SPY, QQQ, NVDA, TSLA, AAPL, MSFT, AMZN, GOOGL, META, INTC, AMD, COIN, HOOD, MSTR, MCD, NFLX, PLTR) plus the most liquid US xStocks, up to 50. The board shows the ones with at least $50K of liquidity and $25K of 24-hour volume; the rest are under “Low liquidity”, where the gap may be noise.

The chain price

Every 10 seconds Prebell asks Jupiter’s price API for every tracked mint in one request. The price shown anywhere is a 60-second time-weighted average (TWAP) of those samples, so one odd trade can’t move the board. If no sample arrives for 60 seconds, a row says “stale” instead of showing an old number as live. The 10-second samples are kept for 7 days; 1-minute bars are kept for good.

The real price

The official open and close come from Nasdaq’s public quote API, with Yahoo’s chart API as the fallback (and Pyth when configured). Both are unofficial and can change or rate-limit, so each sits behind retries and a circuit breaker; every switch between sources is logged on the status page, and each result records where its open came from. Closes are read 15 minutes after the bell and re-checked at 20:00 ET.

The gap and the call

gap% = (chain TWAP ÷ last official close − 1) × 100, live, whenever the market is closed. While it is open, the board shows the basis (xStock against the real price) instead. At 09:29:30 ET every trading day, each stock’s call freezes: the TWAP gap from 09:28:30 to 09:29:30. All of the day’s calls are written as canonical JSON (keys sorted, no spaces), hashed with SHA-256 and published on the calls page before 09:30. You can recompute the hash in your browser or with shasum. Calls are stored in a table that refuses edits and deletes.

Scoring

After 09:31 ET Prebell fetches the official open: actual gap% = (open ÷ previous close − 1) × 100. A call is a hit if it has the same direction as the actual gap; a “flat” band of ±0.10% counts only if both are inside it. The error is the distance in percentage points. The honest baseline is the naive call: “no gap”, 0%, every day. A call “beats naive” when it lands strictly closer to the open than 0% would have. The record shows hit rate, mean error and beat-naive rate per stock and overall, for 30 days and all time, with the best and worst calls. Misses are never hidden.

Weekends

From Friday’s close the home becomes Monday Open: a countdown to Monday 09:30 ET, the board sorted by gap, and each stock’s weekend drift. On Sunday at 20:00 ET the chain’s Monday calls are published as a preview. The official call still freezes at 09:29:30 ET on Monday, and after the open a report card scores the weekend. Holiday weekends work the same way, counting down to the real next open.

Coins paired with stocks

Some launchpads pair memecoins with xStocks, and those coins tend to move with their pair. Paste any Solana address in “Check a coin”: Prebell reads the coin’s main pool and, if it quotes in an official xStock, shows that stock’s gap and the time to the next open. A coin that puts a stock name in its own ticker isn’t the stock; the real mint is always shown next to it.

What can go wrong

  • Thin pools. A pool with little liquidity can be pushed around by one trade; the TWAP limits that, the liquidity bar keeps thin ones off the main board, and the record’s headline counts board stocks only.
  • Source outages. If no source has the open, the call stays pending until one does. It is never filled with a guess.
  • Sampler outages. If the sampler misses the window, that call is void, with the reason. If the freeze itself runs after 09:30, the commitment is marked late.
  • Halts. A stock halted at the bell has no meaningful open; its call is void.
  • Splits and other corporate actions. A split changes the price basis overnight; calls on those days are void. A daily check flags any open or close that moves far outside the norm.
  • Dividends. xStocks reinvest dividends through a token multiplier. Prices are per token as quoted, which matches one share.
  • It’s a market signal, not advice. Prebell moves no money and has nothing to buy.