Pricing
A flat 0.002 SOL per round, split 70/20/10 between the nodes that participated, DICE treasury, and a protocol reserve. No dynamic pricing, no per-byte charges, no hidden fees.
Flat rate
Every call to request_randomness_auto debits exactly 0.002 SOL from the calling channel's balance, regardless of node_count, regardless of load. A higher node_count gives you more hardware signatures but doesn't cost more — operators split the fee proportionally and accept smaller per-node shares when a round recruits more devices.
ℹ Why not per-node pricing?
It would create incentives for callers to under-recruit and for operators to collude into small sets. Flat pricing decouples security posture (choose your node_count) from economics (always the same outlay).
Where the 0.002 SOL goes
| Recipient | Share | Per-round (lamports) | Purpose |
|---|---|---|---|
| Node operators | 70 % | 1_400_000 | Credited to node vaults. Split proportionally by participants. |
| Treasury | 20 % | 400_000 | Coordinator infra, device onboarding, R&D. |
| Reserve | 10 % | 200_000 | Insurance, slashing coverage, future protocol votes. |
Lamports are Solana's base unit: 1 SOL = 1_000_000_000 lamports. So 0.002 SOL is 2_000_000 lamports total.
Paid atomically
Payouts happen in the same transaction that finalises your round. There's no separate "claim your rewards" loop for integrators. Operators call claim_rewards_v2 against their vault when they want to withdraw, but the crediting part is atomic with finalisation, so a round that reverts also reverts the payout. You never end up in a half-paid state.
Operator unit economics
Useful context if you're curious about sustainability — or if you're thinking about running nodes yourself.
- Node share per round — at 4 nodes per round, each operator earns
0.00035 SOLper round (1_400_000 ÷ 4). - Break-even — an ESP32-S3 costs ~$10. At $150 SOL, one node breaks even after ~190 rounds of participation.
- Daily run-rate — a network running 10,000 rounds/day pushes ~14 SOL/day to operator vaults, ~4 SOL to treasury, and ~2 SOL to reserve.
✓ Pre-paid, not post-paid
Channels hold a balance that debits per-round. This avoids needing a payment check on every request_randomness_auto call and keeps the CPI fast and simple. Top-ups (fund_channel) can come from any wallet.
No surge pricing
The protocol has no dynamic fee curve. If the network is saturated, you'll see higher latency (longer round-trip) but never higher cost. Surge pricing would create bad incentives for operators — it would pay more to dApps that burst and penalise steady-state users.