Skip to content
SIGNAL ARENA

Methodology

How the Arena keeps score

Every rule that turns a forecast into a verified result, published so anyone can audit the score.

Data sources

Production settlement uses a market-data provider abstraction. The default implementation reads USD prices from CoinGecko (asset identifiers bitcoin, ethereum, solana). Every stored price records the provider’s own timestamp and a source label.

If the provider is unavailable the interface shows “Data temporarily unavailable” rather than a fabricated value.

Price snapshot rules

  • Start price is captured when the Battle opens (opens_at), from the provider’s historical price closest to that instant.
  • Reference price is stored on every prediction at lock time for transparency; it does not affect scoring.
  • End price is captured at or after ends_at from the provider’s historical price closest to the end time.
  • Snapshots are appended to a price_snapshots table and never overwritten. A manual admin override creates an audit-log entry with the reason.

Neutral threshold

Each Battle stores a neutral_threshold_percent (default 0.5% for a 24-hour Battle).

percentage_change = ((end_price - start_price) / start_price) * 100

Bullish  if percentage_change >  threshold
Bearish  if percentage_change < -threshold
Neutral  otherwise (a change exactly equal to ±threshold is Neutral)

Settlement process

  • Predictions are accepted only while opens_at ≤ now < locks_at. Deadlines are enforced on the server and in the database, never just by the countdown.
  • A scheduled job (and the admin console) settles Battles once now ≥ ends_at. The Battle moves to settling, which acts as a lock against concurrent runs, then to settled.
  • Settlement is idempotent: a settled Battle is never settled twice, and XP is written through a ledger keyed by (user, Battle, reason) so replays cannot double-award.
  • Correct direction = 100 Battle Score. Incorrect = 0. Confidence is recorded for calibration but does not multiply the score.

Void rules

If required price data is unavailable or clearly invalid after retries, an administrator may void the Battle. Void Battles award no score and no XP, do not affect streaks, and are excluded from accuracy, ratings and leaderboards. Settled Battles cannot be voided; they can only be archived.

AI profile methodology

The three AI analysts are deterministic, rule-based simulations built for the Arena. They do not call commercial model APIs. Each profile computes trailing 1-, 3- and 7-day returns, 7-day volatility and distance from the 7-day mean from prices available before the lock, then applies its published rule set:

  • ORACLEbalanced multi-signal synthesis; cites market-trend, momentum, volume; strategy version oracle-v1.0.0.
  • VECTORmomentum and directional trend; cites momentum, market-trend, volatility; strategy version vector-v1.0.0.
  • ECHOcrowd and narrative analysis; cites social-sentiment, volume, market-breadth; strategy version echo-v1.0.0.

AI forecasts use the same direction / three-signal / confidence / timestamp structure as human forecasts, are locked before locks_at, store the strategy version and a non-secret input snapshot, and are never backfilled after the end price is known. AI forecasts are not financial advice.

Crowd aggregation

The Crowd Signal is the percentage of locked human predictions by direction. AI forecasts are never included. Exact percentages are revealed to a viewer only after they lock their own prediction or once the Battle is no longer accepting predictions; visitors see an obscured teaser.

Accuracy calculation

accuracy = correct_settled_predictions / valid_settled_predictions

Open, pending and void predictions are excluded. The 7-day and 30-day views filter by the Battle’s end time.

Leaderboard formula

accuracy_component    = accuracy_percentage * 0.60          (max 60)
experience_component  = min(valid_settled / 30, 1) * 25       (max 25)
consistency_component = min(current_streak / 10, 1) * 15      (max 15)
arena_rating = round(sum, 1)                                  (max 100)

Analysts need at least 5 valid settled Battles in the selected scope to be ranked. Below that they appear unranked with a provisional rating. Ties are broken by accuracy, then by settled count.

XP, levels and badges

  • Lock a valid prediction: +10 XP · Correct prediction: +100 XP · Three-correct streak: +25 XP · Five-correct streak: +50 XP · Seven valid Daily Battles completed: +50 XP (once).
  • Levels: Observer (0) → Scout (250) → Analyst (750) → Strategist (1500) → Signal Hunter (3000) → Oracle (6000).
  • Badges are cosmetic and reputational only. They never carry financial value.

Signal DNA

Signal DNA summarises a user’s forecasting-game history: most-used signal, best-performing signal (minimum 3 settled uses), best asset (minimum 3 Battles), accuracy by direction, confidence calibration and a market-style label. It is computed only once a user has 5 valid settled Battles; before that the profile shows “Building your Signal DNA”. Signal DNA is not evidence of trading profitability.

Signal catalogue: Momentum, Volume, Volatility, Market Trend, Social Sentiment, Fear & Greed, Bitcoin Dominance, Market Breadth. Signals represent stated reasoning categories; the MVP does not compute live values for them.

Data limitations

  • Provider prices are aggregates and may differ from any single exchange. Snapshot timestamps may differ from the nominal Battle time by the provider’s resolution.
  • Direction outcomes depend on the configured threshold; a different threshold would produce different results.
  • The Arena records forecasting-game accuracy with virtual points. It does not track portfolios, execute trades, or measure returns, and past forecasting performance does not predict future results.

About the product and its principles →