Periodic budget
A cumulative spending cap over a recurring time window, tracked by the covenant using Kaspa consensus time.
A periodic budget is a cumulative limit on how much an agent may spend across a recurring time window — for example, a monthly allowance for a service that pays recurring invoices, distinct from the per-transaction limit that bounds any single spend.
How period tracking works, exactly
The covenant tracks periods using Kaspa's own consensus time primitive — the DAA (difficulty adjustment algorithm) score, not a wall-clock date and not any client-supplied timestamp. A period rolls over only once the network's actual DAA score has advanced past the period's committed start plus its length. Because this check compiles to a real Kaspa time-lock condition, consensus itself refuses any transaction that tries to claim a period has rolled over before it actually has — an agent cannot fake an early budget reset by lying about time, and under-claiming elapsed periods is budget-conservative (it can never let an agent spend more than the budget allows).
What counts against the budget
Every spend an agent makes in the current period counts cumulatively against that agent's periodic budget for that vault. Once the budget is exhausted for the current period, further spends by that agent are refused until the period rolls over — regardless of whether the vault still holds sufficient balance overall.
Per-agent, not shared
In vaults with multiple independent agents, each agent has its own periodic budget, tracked separately. One agent's spending never reduces another agent's remaining budget.
Setting and changing it
The periodic budget and its period length are part of an agent's policy, set at creation or when granting authority, and changed only through an owner-signed covenant operation.
See also: Budget exceeded for what a refusal looks like, Set a periodic budget for the how-to, Per-transaction limit.