Glossary
Definitions of terms used throughout this whitepaper. Ordered alphabetically.
A
ADL (Auto-Deleveraging). Layer 3 of the liquidation cascade. When insurance cannot absorb an underwater position, the protocol force-closes opposing profitable positions to cover the loss. Settled at oracle price. See Auto-Deleveraging.
Admin. The keypair with authority over admin-only instructions: pause_market, update_market_params, insurance management, force_settle_market. Currently single-key on devnet; moves to a 3-of-5 multi-sig for mainnet.
Anchor. The Rust framework for Solana smart contracts. SportsPerp uses Anchor 0.32.1. Anchor handles account validation, instruction dispatch, and IDL generation.
Anti-manipulation floor. The 18.3% threshold below which a profitable position becomes liquidatable. Prevents oracle-spike attacks on healthy positions. See Three-Layer Cascade.
B
Backstop. Layer 2 of the liquidation cascade — the insurance fund absorbs an underwater position that is too far gone for partial liquidation. See Insurance Fund.
Backstop unwind. The gradual closure of an absorbed position by the insurance fund, 10% per call maximum. Earns the liquidator a 3% reward.
Basis points (bps). A percentage unit: 100 bps = 1%. SportsPerp uses u16 / u64 basis points at 10⁴ scale (10000 = 100%) throughout.
BPF. Berkeley Packet Filter — the bytecode format Solana uses for on-chain programs. Programs are compiled from Rust to BPF.
C
Composite mark. The on-chain mark price: a weighted blend of oracle and vAMM prices, EMA-smoothed with a 150-second half-life. See Mark Price.
Composite index. The tradable OBV-derived index for each market — OBV + Form + Results (teams) or OBV + Form + Minutes (players), z-scored and scaled to 100–900. See Composite Index Design.
Confidence interval. The uncertainty band on an oracle price, expressed in basis points. Wider confidence → automatically lower max leverage.
Crank. A permissionless instruction that needs to be called periodically (apply_funding, update_oracle). Anyone can call it; our off-chain services do it as a service. Named after “cranking the handle” on a mechanism.
Cumulative funding. A per-market counter that tracks total funding-per-unit paid (or received) since market inception. Each position snapshots this at open; the delta at close determines funding payment.
D
Devnet. Solana’s free testing environment. Separate from mainnet; tokens and positions do not transfer. SportsPerp is currently on devnet.
Direction. Long (0) or Short (1) on a position. Stored as u8 in UserPosition.
E
EMA (Exponential Moving Average). A smoothing function used by the mark price (150s half-life) and by the post-match OBV blend (4h convergence). The weight on each new sample decays exponentially.
Effective collateral. collateral + unrealized_pnl, floored at 0. What the maintenance-margin check uses. See Margin.
F
Funding rate. The 8-hourly payment between longs and shorts that anchors the perpetual to the underlying index. TWAP-sampled, clamped at ±10 bps per period. See Funding Rate.
I
Index. Two related meanings:
- The OBV composite index — the tradable number SportsPerp computes for each market, in the 100–900 range.
- The oracle price — the on-chain canonical value of the index at any moment, in 10⁶ fixed-point.
Insurance fund. The global USDC pool that absorbs Layer 2 liquidations. Live at 20K USDC on devnet. See Insurance Fund.
L
Leverage. The ratio of position notional size to posted collateral. SportsPerp supports 1x–5x, subject to tier caps and confidence scaling.
Liquidation. The forced close of an underwater position. SportsPerp uses a three-layer cascade: partial → backstop → ADL. See Liquidations.
Limit Open. A trigger order that opens a new position when the mark reaches the target price. Requires collateral escrow at placement. See Limit Open.
M
Maintenance margin. The floor below which Layer 1 liquidation engages. 20% (MAINTENANCE_MARGIN_BPS = 2000) on SportsPerp.
Mark price. See Composite mark.
Margin ratio. (collateral + pnl) × 10000 / size. Expressed in basis points. Above 20% = healthy.
Margin tier. A leverage cap based on position size as a fraction of per-market effective_oi (= max(market_total_oi, initial_capacity)). 5 tiers; larger positions get lower max leverage. See Margin Tiers.
Liquidity pool. The single global LiquidityPool PDA + pool_token SPL account that custodies USDC for every market. Replaces the earlier per-market vault model. See On-Chain Program → Capital model.
risk_floor. Admin-set hard on-chain gate. When pool_token.amount < risk_floor, opens and LimitOpens revert with RiskFloorBreached; closes / SL / TP / cancels / margin-passing collateral withdraws all keep working.
target_balance. Admin-set, off-chain monitoring threshold. monitoring/index.mjs fires [warning] Telegram at pool < 2× target_balance, [error] at < 1.25× target_balance. Not enforced on-chain.
initial_capacity. Admin-set per-market floor for the margin-tier denominator. Defaults: $50K teams, $10K players. Floors effective_oi so fresh markets don’t fall through to full leverage.
O
OBV (On-Ball Value). Industry-standard probabilistic measure of the value a single on-the-ball action adds — consumed via SportsPerp’s institutional data partner. The core signal SportsPerp prices against. See What is On-Ball Value.
OI (Open Interest). Total outstanding long + short notional in a market. Tracked on MarketConfig.total_long_oi and total_short_oi.
Oracle. The on-chain price source for each market, updated by update_oracle. Includes price, confidence, timestamp, and live-match flag. See Oracle Design.
P
PDA (Program Derived Address). A Solana account address derived deterministically from seeds + program ID. Every SportsPerp state account is a PDA. See Account Structure.
Permissionless. A function or instruction that anyone can call. SportsPerp’s cranks, liquidations, triggers, and sunset are all permissionless.
Player market. A market priced against the composite index of an individual player’s OBV + form + minutes. IDs 20–99 (sparse). See Markets.
Points. The pre-token rewards layer. Accumulate through trading, LP, referrals, and ecosystem contributions. Convert to $SPERP at TGE. See Points Program.
Premium. The difference mark_price - oracle_price, expressed in the same units. Positive premium → longs pay funding. Used in TWAP funding calculation.
R
Roster. The single source of truth for SportsPerp’s market definitions. Lives in roster.json; file-watched, hot-reloaded.
Rust. The programming language the on-chain program is written in.
S
Settle. Two meanings:
- A position’s PnL is realized (“settled”) at close.
- A market after sunset is “settled” at its last known mark EMA.
Short. A position that profits when the index falls. Direction = 1.
Sunset. The market lifecycle state between active trading and final settlement. Triggered by 72-hour oracle staleness or admin force_settle_market. See Market Lifecycle.
$SPERP. The protocol’s governance token. Not yet launched; planned post-mainnet. See $SPERP → Overview.
Data partner. The institutional football-data vendor whose event-level data and OBV signal underpin SportsPerp’s index. The vendor’s identity is not publicly disclosed for competitive reasons. See Data Pipeline.
Stop Loss (SL). A trigger order that closes an existing position when the mark moves adversely. Reduce-only.
T
Take Profit (TP). A trigger order that closes an existing position when the mark moves favorably. Reduce-only.
Team market. A market priced against the composite index of a team’s OBV + form + results. IDs 0–19 (contiguous).
TGE (Token Generation Event). The moment $SPERP is minted and distributed. Planned post-mainnet.
Trigger order. A pending order (SL, TP, or Limit Open) that the keeper executes when a price condition is met. See Order Types.
TWAP (Time-Weighted Average Price). A weighted average of prices over a time window. SportsPerp accumulates premium samples on every update_oracle call and consumes the mean across the 8-hour funding interval at the next apply_funding.
U
USDC. The stablecoin used as collateral. Devnet mint: B5Etber6bZGm1H5VXcoerF6eWLkBd157heJS8pBtHrNo. Mainnet: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v.
V
vAMM. Virtual Automated Market Maker — the on-chain component that adjusts the mark based on OI imbalance. No actual liquidity pool; just a pricing function. Contributes 30–50% weight to the composite mark depending on live/between-match state. See Mark Price.
Vault. Per-market USDC escrow. Holds collateral for all open positions on a market. Seeded by protocol treasury at launch; grows through organic trading activity.
W
Whitepaper. This document.
Z
z-score. A standard-score normalization: (value − mean) / stdev. The composite index z-scores each component against the population (league-wide for teams, within position group for players) before combining them. See Composite Index Design.
Further reading
- SportsPerp 101 — the plain-English walkthrough of the core concepts.
- What is On-Ball Value — the statistical primitive that defines OBV.
- Official Links — where to ask if something isn’t defined here.