Veld Protocol — Rules & Transparency
Every cap, multiplier, and protection mechanism enforced by the Veld
protocol is documented below. The values shown are the actual constants
compiled into the live veld-node binary — this page
is the authoritative reference for any user who wants to verify how
their stake reward, mining tier, or vault distribution is calculated.
No hidden fees, no off-protocol math.
Table of Contents
- 1. Block reward & emission
- 2. Coinbase split (63 / 27 / 10)
- 3. Vault distribution math
- 4. Vault drain protection (8 caps)
- 5. Whale cap
- 6. Multiplier system
- 7. Stake lockup tiers
- 8. Mining tier ladder
- 9. Endorsement pool
- 10. Co-mining pool flushes
- 11. Supply cap & emission halving
- 12. Privacy & safety guarantees
1. Block reward & emission
| Target block time | 60 seconds |
| Block reward (current) | ~1.9025 VELD |
| Daily emission (network) | ~2,739 VELD |
| Maximum supply | 21,000,000 VELD HARD CAP |
Every block produced by the network mints a fixed reward. The reward is split three ways — see §2 below.
2. Coinbase split (63 / 27 / 10)
Every block reward is divided into three streams. This split is enforced by the consensus layer — any block with a different split is rejected by all nodes.
| Stream | Share | Goes to |
|---|---|---|
| Block winner | 63% | The address that solved this block's PoW |
| Co-mining pool | 27% | Pool address — flushed every 100 blocks to active near-miss participants |
| Vault | 10% | Vault address — accumulates and distributes to stakers/validators |
Plus all transaction fees included in the block flow to the vault. This makes the vault the network's long-term treasury for participation rewards.
3. Vault distribution math
Every 144 blocks (~2.4 hours) the
veld-distribute daemon attempts to distribute a portion of
the vault to active stakers. The daemon is a separate process from
veld-node; it polls the chain, computes the per-staker
payouts, and broadcasts a single distribution transaction.
Per-staker payout formula
payout = (cycle_budget × weight) × 0.85
- cycle_budget — total VELD released this cycle, after the 8 cap layers below
- weight — stake × multiplier, normalized to sum to 1.0 across all stakers, with the whale cap applied
- × 0.85 — 15% of every distribution funds the endorsement pool (paid to validators), the staker keeps 85%
4. Vault drain protection — 8 cap layers
Multiple independent caps bound the per-cycle distributable amount. These fire before any per-staker math, so the multiplier system can never make the budget larger — only redistribute it between stakers.
| # | Rule | Bound |
|---|---|---|
| 1 | Linear bootstrap ramp | 0% → 100% over the first 90 days of staking |
| 2 | Participation bonus | staking_ratio × 50 percentage points |
| 3 | Scaled cap | Clamped to 2% ≤ cap ≤ 8% of vault |
| 4 | Effective cap | 2% + (scaled_cap - 2%) × ramp |
| 5 | Reserve depth modifier | Cap shrinks if vault depth < 10 cycles |
| 6 | Income cap | Distribution ≤ 2 × vault income since last cycle |
| 7 | Post-reserve income ratio | After reserve unlocks, cap ≤ income_ratio × vault |
| 8 | Final budget | distributable = min(vault_balance, all caps above) |
Mathematical guarantee: the vault cannot distribute more than 8% of its balance per cycle, regardless of staker count, multipliers, or any policy change. The vault is always the network's long-term reserve.
5. Whale cap
No single staker can receive more than 50% of any distribution cycle, regardless of how much they've staked or how high their multiplier is. This is the anti-concentration mechanism that keeps the staking pool spread across many participants on mainnet.
Activation threshold
The whale cap only fires when the network has ≥ 5 active stakers. Below that threshold, the cap is disabled and raw weighted shares pass through unchanged. Rationale: with 2−4 stakers, capping the largest at 50% just hands free share to the smallest, with no anti-concentration benefit. The cap exists to keep mainnet decentralized under realistic conditions; early-stage bootstrap doesn't trigger it.
When the cap fires, excess weight above 50% is redistributed pro-rata to non-capped stakers. If there are no non-capped stakers (one-staker case), the excess stays in the vault for the next cycle — the vault still cannot be drained.
6. Multiplier system
Each staker has a final multiplier computed as:
final_multiplier = mining_tier × lockup_tier capped at 3.00×
Mining tier rewards active work (blocks mined). Lockup tier rewards committed capital (lockup duration). These are two distinct contributions, and dual participants get rewarded for both.
Examples
| Mining tier | Lockup tier | Final multiplier |
|---|---|---|
| Base | 7 days | 1.00 × 1.00 = 1.00× |
| Base | 90 days | 1.00 × 1.50 = 1.50× |
| Silver | 7 days | 1.50 × 1.00 = 1.50× |
| Silver | 90 days | 1.50 × 1.50 = 2.25× |
| Diamond | 30 days | 3.00 × 1.25 = 3.75 → 3.00× (capped) |
7. Stake lockup tiers
When you stake, you choose a lockup duration. Longer commitment earns a higher lockup multiplier. You cannot unstake until the lockup expires.
| Tier | Duration | Lockup multiplier |
|---|---|---|
| Tier 1 (Base) | 7 days (10,080 blocks) | 1.00× |
| Tier 2 (Short) | 14 days (20,160 blocks) | 1.10× |
| Tier 3 (Medium) | 30 days (43,200 blocks) | 1.25× |
| Tier 4 (Long) | 90 days (129,600 blocks) | 1.50× |
Multiple stakes from the same address with different tiers are blended via amount-weighted average. Each record stays independently locked — adding a new stake on top doesn't reset older records' unlock times.
8. Mining tier ladder
| Tier | Requirement | Type | Multiplier |
|---|---|---|---|
| Base | Just mine | — | 1.00× |
| Bronze | 1,000 blocks mined | Cumulative | 1.25× |
| Silver | 5,000 blocks mined | Cumulative | 1.50× |
| Gold | 150 of last 180 days active | Rolling window | 2.00× |
| Platinum | 300 of last 365 days active | Rolling window | 2.50× |
| Diamond | 900 of last 1,095 days active | Rolling window | 3.00× |
Bronze and Silver are cumulative milestones (your block count never decreases). Gold, Platinum, and Diamond are rolling-window tiers — you must remain active to keep them.
9. Endorsement pool
Validators earn rewards by endorsing each block. The endorsement pool is funded by 15% of every vault distribution (the 0.85 factor in the staker payout formula above). Distributions to validators happen on the same 144-block cycle as staker payouts.
- Each registered validator gets a per-endorsement reward proportional to their endorsement count in the cycle window
- Validators must register on-chain via the
registervalidatorRPC - Minimum stake requirement applies (see Validators page for current threshold)
10. Co-mining pool flushes
The 27% co-mining stream accumulates at the pool address. Every 100 blocks, the node automatically generates a pool flush transaction that distributes the accumulated balance to all miners who recorded near-miss work in the window. Distribution is proportional to each miner's near-miss count.
Pool flushes are capped at 240 inputs per transaction (uint8 serializer limit). RPC body size cap was raised to 2MB on 2026-04-11 to fix the “pool flush poisoning” bug that had stalled chains with large flush TXs.
11. Supply cap & emission
| Maximum supply | 21,000,000 VELD HARD CAP |
| Mining emission cap | 18,900,000 VELD via PoW |
| Reserve cap | 2,100,000 VELD for vault distributions |
| Block reward decay | Constant ~1.9025 VELD/block until emission cap |
| After emission cap | 100% of remaining mining rewards flow to vault as reserve contribution |
12. Privacy & safety guarantees
- Private keys never leave the user's machine. The wallet PWA signs all transactions in the browser; only the signed transaction is sent to the node.
- RPC is loopback-only. The node's JSON-RPC interface is bound to
127.0.0.1:8334and cannot be reached from the public internet. - Bearer token authentication protects the RPC even on the loopback interface, with rate-limiting on failed auth attempts.
- Long-range attack protection: 10 hard-coded checkpoints in the binary plus MAX_REORG_DEPTH = 100 — any chain trying to rewrite history deeper than 100 blocks is rejected outright.
- Single-stake-per-address invariant: the wallet enforces one active stake per address to prevent accidental over-staking.
- Whale cap (50%) and the 8 vault caps mathematically prevent any one staker from draining the vault.