Range Accrual
The Range Accrual settler resolves markets based on how long a value stays within a defined range over a period.
What is a Range Accrual Market?
A Range Accrual market asks: how much time does the price spend inside a defined range during the observation period?
This is a continuous-outcome market and the best example of what makes Scalar different from traditional prediction markets. Instead of resolving to a simple yes/no, the payout is proportional to the time the price spends within the range.
- If the price stays in range 100% of the time, each contract pays out $10.
- If the price stays in range 50% of the time, each contract pays out $5.
- If the price never enters the range, each contract pays out $0.
Range Accrual is a scalar market with continuous outcomes between $0 and $10.
How It Works
Market is created with a range and observation period
For example: "How much time will ETH spend between $3,500 and $4,500 over the next 7 days?"
You buy or sell contracts at the current market price
If the market trades at $6.00, the crowd expects ETH to spend roughly 60% of the period inside the range.
The oracle observes the price throughout the period
Pyth Network provides price data at regular intervals during the observation window.
At expiry, the market resolves proportionally
The payout equals the fraction of time spent in range multiplied by $10.
Resolution
The settler contract calculates the accrual ratio: the proportion of observation points where the price was within the defined range.
payout = accrual_ratio x $10
where accrual_ratio = (observations in range) / (total observations)For example, if there are 168 hourly observations over 7 days and the price was within the range for 126 of them:
accrual_ratio = 126 / 168 = 0.75
payout = 0.75 x $10 = $7.50 per contractResolution is permissionless. Anyone can submit oracle proofs covering the observation period to trigger settlement.
Example Markets
| Market | Lower Bound | Upper Bound | Period |
|---|---|---|---|
| ETH between $3,500 and $4,500 | $3,500 | $4,500 | 7 days |
| BTC between $95,000 and $105,000 | $95,000 | $105,000 | 30 days |
| SOL between $150 and $200 | $150 | $200 | 14 days |
P&L Scenarios
Suppose you buy 8 contracts of "ETH between $3,500-$4,500 for 7 days" at $5.50 each:
| Outcome (time in range) | Payout per Contract | Your P&L |
|---|---|---|
| 90% of time in range | $9.00 | (8 x $9) - (8 x $5.50) = +$28.00 |
| 60% of time in range | $6.00 | (8 x $6) - (8 x $5.50) = +$4.00 |
| 40% of time in range | $4.00 | (8 x $4) - (8 x $5.50) = -$12.00 |
| 10% of time in range | $1.00 | (8 x $1) - (8 x $5.50) = -$36.00 |
Key Differences from Other Types
| Feature | Above/Below | One Touch | Range Accrual |
|---|---|---|---|
| Outcome type | Binary (Yes/No) | Binary (Yes/No) | Continuous ($0 to $10) |
| What matters | Final price | Any price during period | Time spent in range |
| Path-dependent? | No | Yes | Yes |
| Can resolve early? | No | Yes (if touched) | No |
| Typical use case | Directional bet | Volatility spike | Range-bound / stability bet |
Why Range Accrual Matters
Range Accrual markets let you express views that traditional prediction markets cannot capture:
- "I think ETH will stay stable this week" - buy range accrual contracts
- "I think there will be wild swings" - sell range accrual contracts
- Partial credit - even if you are partially right, you get partially paid. No all-or-nothing cliff.
This nuance is impossible on platforms that only support binary outcomes.