Math Model & Outcome Determination
This document describes how Velo determines game outcomes, calculates odds, and ensures fairness. Velo is not an RNG-based game — outcomes are determined by real cryptocurrency price movements verified by an independent oracle. All statistics are validated on 5 years of 1-second BTC data (~157.6 million candles), trained on Y1-Y4 and tested on Y5 out-of-sample.
Outcome Determination
How Results Are Decided
Each round has a clear, verifiable outcome:
Entry Price = BTC price at round start (from exchange feed)
Settle Price = BTC price at round end (from Pyth Network oracle)
Result = Settle Price > Entry Price → UP
Settle Price ≤ Entry Price → DOWN- No random number generator is involved
- Outcomes are determined by real market movements on public exchanges
- Settlement prices are fetched from the Pyth Network — a decentralized oracle with on-chain verification
- Every settlement includes a
pyth_verification_urlthat links to a cryptographic proof of the price
Price Sources
| Role | Source | Purpose |
|---|---|---|
| Live feed (primary) | Binance WebSocket | Real-time BTC/USDT trades |
| Live feed (failover) | Coinbase WebSocket | Hot standby, automatic failover |
| Settlement oracle | Pyth Network | Verified price with on-chain proof |
Cross-validation warns if Binance and Coinbase prices diverge >0.5%.
Pricing Pipeline
Odds are computed once per second through a multi-stage calibrated pipeline:
Stage 1: Fractional Brownian Bridge
Calculates the probability that the price will end above the entry price, using a Hurst-exponent-aware model:
- Uses 10-second subsampled price history
- Lookback window: 60 samples
- Hurst exponent estimated from a rolling 5-sample window (dampened at 0.8)
- Captures mean-reversion (H < 0.5) and persistence (H > 0.5) in crypto prices
- Falls back to raw Black-Scholes if insufficient history
Stage 2: Time × Volatility Calibration (TZC)
Maps the raw model probability to an empirically calibrated probability using a 2-dimensional grid:
- 5 time windows × 4 volatility quartiles = 20 calibration cells
- Each cell has its own isotonic correction curve (monotonic, Gaussian-smoothed)
- Recency-weighted training with 365-day half-life for regime adaptation
- Captures how prediction accuracy varies with both elapsed time and current market regime
- Trained on Y1-Y4 of 1-second BTC data, validated on Y5 (out-of-sample)
TZC subsumes both global isotonic calibration and time-bucketed calibration into a single, more precise layer.
Stage 3: Trend Persistence
Adjusts probability based on price momentum:
- 5 magnitude buckets × 14 time windows
- Captures the empirical tendency for crypto trends to persist
- Strength: 30%
- Vol dampening: reduces adjustment for small price moves (<0.03%)
Stage 4: Z-Score Gate
A dynamic protection mechanism that widens the spread when the price displacement is small relative to volatility:
- Trigger: z < 0.8 (displacement is within 0.8σ of entry)
- Effect: blends probability toward 50% (strength=40%) and adds +1% vig boost
- Calm scaling: when intra-round range is low (z-range < 1.0), threshold increases to 2.0 — applying stronger protection in genuinely calm rounds
- Active from t=0 (beginning of round)
Stage 5: Z-Range Gate
A complementary gate that specifically targets calm rounds in the first half:
- Trigger: intra-round range < 0.7× expected range
- Effect: blends probability toward 50% (strength=70%) and adds +1% vig boost
- Active from 5s to 180s only — protects the early-round period where trend bets on calm markets are weakest
Stage 6: House Edge (Vig) + Dynamic Margin Table
Base probability-scaled margin plus surgical per-cell adjustments:
Base vig:
| Scenario | House Edge |
|---|---|
| 50/50 odds | 5% |
| Z-score gated | +1% boost |
| Z-range gated | +1% boost |
Dynamic Margin Table (DMT):
- Dimensions: 5 time × 2 direction × 7 displacement × 4 volatility = 280 cells
- Only ~23% of cells are active — applied only where the base model is weakest
- Concentrates on trend bets with small displacement in calm markets
- Max extra margin: 3% per cell
- Applied asymmetrically to both trend and contrarian implied probabilities
Stage 7: Tail Calibration (3-Pass Iterative)
- Corrects Favourite-Longshot Bias in extreme probability ranges (0-10% and 90-100%)
- 3 iterative refinement passes with clamped correction factors (0.3-1.5)
- Applied after DMT, before final odds calculation
Other limits:
- Payout cap: 1000× maximum
- Cashout spread: 3% on early exits
Volatility Estimation
- Annualized volatility computed from 360 Binance 1-minute klines (6-hour rolling window)
- Time-scaled: σ_eff = σ × max(1, (2.5 / τ)^0.3) where τ is minutes remaining
- Refreshed every 60 seconds
Return to Player (RTP)
Theoretical RTP: 94.46% (house edge 5.54%)
This is the industry-standard RTP calculated as 1/(1+OR) where OR is the average overround (5.89%).
Industry Comparison
| Provider | Overround | RTP |
|---|---|---|
| Pinnacle (sharp book) | 2–3% | 97–98% |
| Major sportsbooks | 4–6% | 94–96% |
| Recreational books | 5–10% | 91–95% |
| Virtual sports | 5–12% | 88–95% |
| Velo | 5.9% | 94.5% |
RTP by Bet Timing
| Bet Window | Avg Overround | Theoretical RTP |
|---|---|---|
| 0–30s (early) | 5.74% | 94.57% |
| 30–60s | 5.69% | 94.62% |
| 60–120s (mid) | 5.92% | 94.42% |
| 120–180s | 6.27% | 94.11% |
| 180–240s | 6.40% | 94.00% |
| 240–290s (late) | 5.05% | 95.24% |
RTP by Odds Range
For bets near 50/50 (1.0–2.0×, ~52% of all bets), actual RTP is 94–96% — closely matching theoretical. Longshot bets (>5×) experience higher house edge due to the favourite-longshot bias — a universal phenomenon in all sports and event wagering markets.
Fairness Validation
The pricing model has been validated through extensive backtesting and adversarial testing on 5 years of 1-second BTC price data (~157.6 million data points). Training on Y1-Y4, testing on Y5 out-of-sample:
Test Results Summary
| Test Suite | Tests | Result |
|---|---|---|
| Fortress (17 adversary strategies on Y5 OOS) | 17/17 | ✅ All passed |
| RTP Analysis | 1/1 | ✅ Passed |
| Exploitability (integrity, timing, cashout) | 3/3 | ✅ All passed |
| Production (drawdown, regime, CLV, adversary) | 4/4 | ✅ All passed |
| Stress Tests (7 adversarial attacks) | 7/7 | ✅ All passed |
| Forensic Grid Scanner | 1/1 | ✅ Passed |
Probability Calibration
| Predicted Range | Predicted | Actual | Error |
|---|---|---|---|
| 0–10% | 5.24% | 2.60% | -2.63% |
| 10–20% | 15.19% | 12.40% | -2.79% |
| 20–30% | 25.21% | 23.30% | -1.91% |
| 30–40% | 34.88% | 34.69% | -0.19% |
| 40–50% | 45.36% | 44.34% | -1.02% |
| 50–60% | 54.00% | 53.57% | -0.43% |
| 60–70% | 65.13% | 64.63% | -0.50% |
| 70–80% | 74.76% | 76.51% | +1.75% |
| 80–90% | 84.84% | 87.68% | +2.84% |
| 90–100% | 94.68% | 97.36% | +2.68% |
Maximum calibration error: 2.84% (in the 80–90% bucket). This is within acceptable range for event wagering systems.
Adversarial Testing
Multiple adversary types were tested — all found non-exploitable on Y5 out-of-sample:
Fortress Suite (17 strategies including autocorrelation, mean-reversion, vol regime, grid scanner, compound filters):
- All 17 adversary strategies achieve negative edge on Y5 OOS ✅
- Feature Grid Scanner: -0.14% edge (640 micro-niches tested)
- Compound Adversary: -6.69% to -16.72% across all filters ✅
Kelly Portfolio (optimal bet sizing with full model knowledge):
- Edge: -0.003% ✅ NON-EXPLOITABLE
Multi-Strategy Adversary (combines calibration + late contrarian):
- Combined edge: -18.79% ✅ NON-EXPLOITABLE
Timing Robustness
Tested across 60 five-second buckets spanning the full round duration:
- Contrarian flow: 0/60 negative buckets ✅
- Balanced flow: 0/60 negative buckets ✅
- Trend-follow flow: 3/60 negative buckets (worst: -2.60%, concentrated in final 15s)
Drawdown Analysis (105,059 rounds)
| Metric | Value |
|---|---|
| Winning months | 13 out of 13 (Y5 OOS) |
| Max drawdown | -6,684 units |
| VaR 99.9% | $69,774 per round |
All flows show positive cumulative P&L across Y5 out-of-sample data, including the worst-case 100% trend-follow scenario (+3.61% house edge).
Walk-Forward Validation
4 expanding-window walk-forward splits, all flows positive:
| Training | Test | Contrarian | Balanced | Trend-follow |
|---|---|---|---|---|
| Y1 | Y2 | +23.81% ✅ | +18.72% ✅ | +2.22% ✅ |
| Y1-Y2 | Y3 | +22.36% ✅ | +17.52% ✅ | +2.37% ✅ |
| Y1-Y3 | Y4 | +18.39% ✅ | +17.23% ✅ | +4.92% ✅ |
| Y1-Y4 | Y5 | +22.20% ✅ | +19.48% ✅ | +3.61% ✅ |
Live Market Validation (Polymarket)
The model's raw calibrated probabilities (no vig) were independently validated against live Polymarket BTC 5-minute binary markets — effectively testing whether our model can outprice professional crypto market makers in real time.
| Metric | Value |
|---|---|
| Markets tested | 697 |
| Total trades | 1,643 |
| Win rate | 56.2% |
| Total P&L | +$950.89 |
| ROI | +11.62% |
| Sharpe (per-trade) | 0.127 |
All 4 volatility regimes profitable — including calm markets (+9.4% ROI). Positive ROI across all probability zones (underdog through heavy favorite) and all displacement buckets.
NOTE
This validates that the model produces genuinely informative probabilities that consistently outperform professional market makers across 697 independent markets.
Key Differences from RNG-Based Games
| Aspect | Traditional RNG Game | Velo |
|---|---|---|
| Outcome source | Pseudo-random number generator | Live cryptocurrency market |
| Verification | RNG certification (GLI-11) | On-chain oracle proof (Pyth Network) |
| Predictability | Statistically random | Determined by real market forces |
| Audit method | RNG seed inspection | Public price verification URL |
| Player skill | No influence | Timing and market awareness matter |
Velo's model is closer to a financial binary option than a traditional casino game. The pricing follows the same Black-Scholes framework used by institutional derivatives desks, with additional calibration layers trained on historical data to ensure accurate probability estimation and consistent house edge.