How We Calculate Things

Everything shown in RYUREX is derived from the OSRS Wiki Prices API and cached locally. This page explains every signal plainly — no invented claims, no marketing language.

GE Tax (1% sell-side, 2% of sell price, capped at 5M)

Jagex applies a Grand Exchange tax when you sell an item. The actual rate is 2% of the sell price, capped at 5,000,000 GP, with no tax on items that sell for under 50 GP.

Formula used in all profit fields:

tax = min(floor(sell_price × 0.02), 5_000_000)

profit_per_unit = sell_price − buy_price − tax

Every profit figure shown — margin, potential profit, and estimated profit — uses this formula. There is no "raw spread" displayed without the tax deduction.

Buy Limits

The GE enforces per-item buy limits every 4 hours. RYUREX reads these limits from the OSRS Wiki and uses them to cap position size. When a potential profit figure is shown, it is bounded by min(buy_limit, daily_volume_on_the_thinner_side) — i.e., we never assume you can fill more than the market can actually clear or your limit allows.

Items with no recorded buy limit show a dash or zero. These are typically non-tradeable or wiki-unlisted items and are excluded from opportunity scans.

Potential Profit vs. Estimated Profit

Potential Profit (K GP)

profit_per_unit × min(buy_limit, min_daily_volume) ÷ 1000. Represents the ceiling of what a single buy-limit window could yield if fully filled.

Margin (GP per unit)

sell_price − buy_price − tax, for a single unit. The raw per-item return before quantity scaling.

Neither figure guarantees you will achieve those prices — the instabuy and instasell values are the latest transaction ticks from the wiki feed, not guaranteed fill prices.

Data Freshness

Price data comes from the OSRS Wiki /latest and /timeseries endpoints, which update approximately every 1 minute. The age label on each row shows how long ago the wiki last recorded a trade for that item, derived directly from the API timestamp.

Items that haven't traded in over 1 hour are flagged as stale in orange. Items over 6 hours are flagged as very stale in red. Opportunities surfaced by scans enforce a maximum age filter — by default items with no trade in the last 12 hours are excluded.

Fresh≤ 1 h since last trade
Stale1 – 6 h since last trade
Very stale> 6 h since last trade

Confidence and Signal Language

Where RYUREX shows confidence percentages or trend labels, they come from statistical signals — Z-scores against rolling baselines, buy/sell volume imbalances, and mean-reversion indicators — not machine-learning black boxes.

  • Z-score — how many standard deviations the current price is from its rolling mean. High Z-score means the price is far from typical; a mean-reversion bet assumes it returns.
  • Trend labels (Rising / Falling / Side / Volatile) — derived from the slope of the 24-hour moving average and the ratio of buy-to-sell volume ticks.
  • Volume confidence — items with fewer than ~50 daily trades on either side are marked low-confidence regardless of spread, since thin markets are easy to misread.

No model here predicts the future. These signals describe past and current state; you decide whether the pattern is likely to continue.

Data Sources

RYUREX is an independent fan project — not affiliated with or endorsed by Jagex. No guaranteed trading outcomes.