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 long does the price stay 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 grows while the price stays within the range.
- If the price stays in range for the whole period, each contract pays out $10.
- If the price leaves the range halfway through the period, each contract pays out $5.
- If the price leaves immediately, 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 share of the period that passed before the price first left the range, multiplied by $10.
Resolution
The settler contract calculates the accrual ratio: how much of the cycle elapsed before the price first left the range. A single exit locks the payout — re-entering the range does not start it growing again.
payout = accrual_ratio x $10
where accrual_ratio = (time before the first exit) / (observation period)For example, over a 7 day period, if the price first leaves the range 126 hours in:
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 inside the 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.