Scoring Mechanism
How Alpha Rewards Are Calculated
Almanac rewards users based on how much truthful information they bring into the market. You still earn trading profits from Polymarket, but on top of that, Almanac pays Alpha Tokens for statistically accurate predictions.
This page explains how those Alpha rewards are computed behind the scenes.
Almanac uses a convex optimization system to measure signal quality and allocate rewards fairly and efficiently.
The Goal of Scoring
Almanac’s scoring mechanism answers a single question:
“How much true predictive value did this trader provide today?”
To measure that, we track every trader’s:
Qualified Volume (how much volume they traded correctly)
ROI (how profitable their predictions were)
Consistency (performance over the last 60 days)
Conviction (how large their positions were)
These metrics feed into a two-phase mathematical program that determines:
Who is eligible to earn rewards, and
How much Alpha each trader receives
Step 1 — Turning Trades Into Metrics
Each trade that settles generates raw data:
volume
USD value of your position
is_correct
whether the prediction was right
pnl
your profit or loss
fee
1% fee applied to every trade
date_settled
determines which epoch it counts for
When a market resolves, Almanac attributes your volume to:
Qualified volume (if the trade was correct)
Unqualified volume (if the trade was wrong)
For example:
Buy YES @ 0.70
$200
Correct
+$198 qualified
Sell NO @ 0.20
$400
Wrong
+$400 unqualified
Step 2 — 60-Day Rolling History
Almanac looks at your last 60 days of settled trades:
We compute:
Total volume
Total qualified volume
Total profit
ROI
Number of trades
Number of active epochs
This ensures the system rewards true skill, not lucky one-off bets.
Step 3 — Eligibility Checks
To prevent Sybil/spam gaming, traders must meet minimum requirements:
Build-Up Requirements
(from constants.py)
At least 2 active epochs
At least 2 trades in total
ROI & Volume Requirements
ROI ≥
ROI_MIN(0% by default)Historical volume ≥
VOLUME_MIN(10 USD)
Users failing any requirement receive no Alpha rewards for the day.
Step 4 — Decaying Volume Memory (“Conviction Score”)
Volume isn’t treated equally: recent activity is more meaningful.
Almanac uses a decay model:
v_memory(t) = 0.9 × v_memory(t-1) + volume_todayThen blends:
v_eff = α × volume_today + (1 - α) × v_memoryThis captures:
Long-term consistency
Recent predictive strength
Continued activity
Step 5 — Two-Phase Optimization
This is where the intelligence happens.
The scoring engine performs two convex optimization passes.
Phase 1 — Maximize Truthful Signal
Objective:
Fund as much qualified volume as possible, given the Alpha budget.
Each trader gets a “gate” x[i] between 0 and 1:
x = 1means fully fundedx = 0means no rewards
We choose the best configuration of gates such that:
Constraints:
Budget cap:
kappa × Σ(v_eff[i] × x[i]) ≤ BudgetEligibility:
x[i] ≤ eligible[i]Diversity cap (no monopolies):
v_eff[i] × x[i] ≤ rho_cap × T*Smoothness (optional):
|x[i] - x_prev[i]| ≤ RAMP
Output of Phase 1:
x*— the optimal resource allocationT*— maximum truthful volume supportedA preliminary payout
This phase ensures truthful flow is maximized, without overspending.
Phase 2 — Reward Higher Skill (ROI)
Phase 2 redistributes the payout from Phase 1 toward the most statistically accurate traders.
Objective:
Shift allocation from low-ROI traders → high-ROI traders while staying close to Phase 1’s allocation.
Mathematically:
maximize (ROI - kappa) · x - λ ||x - x1||²
subject to payouts ≤ Phase1_payoutThis means:
Traders with ROI > kappa gain allocation
Traders with ROI ≤ kappa lose allocation
Allocation changes are smooth, not abrupt
This phase guarantees:
High performers are fairly rewarded
Even high-volume traders must be accurate, not just loud
Step 6 — From Scores to Tokens
Once the optimal gates x** are found:
Compute raw scores:
score[i] = x[i] × (kappa × v_eff[i])Normalize so all scores sum to 100% of the payout:
normalized = score / ΣscoreMultiply by the pool budget to get Alpha Tokens:
α_i = normalized[i] × epoch_payout
This creates a fair, proportional reward distribution.
Step 7 — Continuous Tournament Logic
Every day:
All stats roll forward
Decay is applied
New trades update memory
Optimization runs again
Allocations shift based on updated skill
This reinforces:
Adaptability
Meritocracy
Signal concentration
Summary Table
Qualified Volume
How much correct volume you traded
ROI
Profit efficiency
v_eff
Memory-weighted conviction score
κ (kappa)
Token-per-signal conversion rate
x[i]
Allocation gate for trader i
Phase 1
Maximize truthful volume
Phase 2
Reward highest ROI traders
Alpha tokens
Your share of the daily prize pool
Final Result
The most accurate, consistent predictors earn the most Alpha.
This aligns incentives:
Users provide truthful information
Markets become more accurate
Skilled traders earn more Alpha
No one can spam, brute force, or game the system
Almanac’s scoring mechanism is the first on-chain, proof-of-signal reward system designed specifically for prediction markets.
Last updated