Sponsorship and grants
How the treasury pays approved validators, providers and builders out of TNZO it already holds: approval, verified work, caps, and how an operator applies.
The treasury pays two things out of the TNZO it already holds: sponsorship of approved validators and providers, and grants to approved developers, contributors and community members. Nothing is issued. The supply is fixed at genesis and neither path creates TNZO. Running a node and building on the network stay open to everyone; only these two payouts are gated.
Every disbursement is one governance proposal. There is no schedule, no standing emission and no payout without a proposal, except the two verified-work releases at the end of this page, which carry their own caps.
Approval
approve_operatorrecords a validator or provider with the criteria it was approved on. The chain checks that the operator's machine identity holds a TPM endorsement that a recognized root signs, and counts its verified-available hours over the history named. The region and the independence declaration are stored as stated, with a link to the public statement.approve_granteerecords a developer, contributor or community grantee with its criteria. The grantee must hold a registered identity.revoke_operatorandrevoke_granteestop every later payment at once. A sponsored bond already held is recalled by its own proposal.
Approval confers no vote, no reward and no class. The same rules apply to every recipient.
What is paid
| Payout | Proposal | Paid only against |
|---|---|---|
| Sponsored validator bond | sponsor_validator_bond | An approved validator with a live bond |
| Operator running cost | sponsor_operator_running_cost | Hours the challenge protocol judged the operator available; each hour backs one payment |
| Running cost from the reserve | running_cost_payment | The same: an approved operator, unused verified hours, the yearly caps and the proposal limit |
| Running cost in a stable asset | sponsor_operator_stable | The same hours, valued in US dollars, in an approved USD stable asset the treasury holds |
| Treasury action on another chain | treasury_remote_action | An action that moves value names an approved operator, verified hours and the settlement asset that prices it |
| Grant | treasury_grant, release_grant_tranche | A named milestone per payment |
A grant names the grantee, one milestone for each payment and the amount. Revoking the grantee stops the tranches still to be released. A sponsored validator bond is slashable, never votes and earns nothing.
Unowned funds are not a payout route. recover_unowned_funds draws only on the staking vault's surplus over what it owes validators and returns it to the treasury; the treasury is never a source and a person is never the destination.
Stable-asset payouts
Sponsorship and grants may be paid in an enabled, priced, on-peg USD entry of the settlement-asset registry, so a falling TNZO price does not shrink what a verified hour or a milestone is worth. A grant names the asset; a stable running cost uses sponsor_operator_stable. Amounts are in the asset's smallest unit and are valued in US dollars. The gate is unchanged: approved recipient, verified hours or a milestone, the yearly caps and the outflow limit. The asset moves from the treasury's balance and nothing is issued.
Grant release
A grant's release is governed (the default) or scheduled.
- A governed grant needs one
release_grant_trancheproposal per tranche. - A scheduled grant carries its milestone schedule in the one approved proposal. It names the verifiers (at most nine, never the grantee) and a threshold. A verifier records a tranche's milestone; once the threshold has recorded it, anyone may release the tranche, in order and once. Each tranche re-checks the grantee's approval, the yearly caps, the reserve floor and the outflow limit, so a revoked grantee or a spent cap stops it.
Caps
All caps start at zero, so nothing flows until governance sets them.
| Parameter | Meaning |
|---|---|
sponsorship.yearly_max_tnzo | Sponsorship in a 365-day period; one operator receives at most one third of it |
sponsorship.running_cost_per_verified_epoch_wei | Most one verified-available hour backs |
grants.per_grantee_yearly_max_tnzo | One grantee in a 365-day period |
treasury.sponsorship_grants_yearly_max_tnzo | Sponsorship and grants together in a 365-day period |
sponsorship.yearly_max_usd, sponsorship.running_cost_per_verified_epoch_usd_e6, grants.per_grantee_yearly_max_usd, treasury.sponsorship_grants_yearly_max_usd | The same limits for stable-asset payouts, in US dollars |
Every payout also counts against the treasury outflow caps: 2% of the balance per proposal and 3% in any 30 days. See Governed parameters.
Applying
A new operator cannot file the approval themselves: the proposal needs a proposer holding 1% of the bonded stake. Three commands cover what an operator can do:
tenzro sponsor check
tenzro sponsor apply
tenzro sponsor statuscheckreads the node and judges the account against the criteria the chain enacts an approval on: the machine identity and account, verified-available hours over a window (--hours, 168 by default), the approval record, the caps, governance-sponsored stake, and any approval proposal in flight. The node has no read for the TPM endorsement chain, which the chain checks when the proposal is enacted, socheckstates what the platform makes of it. A Secure Enclave has no TPM endorsement certificate and a Jetson's firmware TPM has no recognized root, so neither can be approved today.applyruns the same check and writes the result to~/.tenzro/sponsor-application.json. It prints two routes: the exacttenzro governance propose-approve-operatorcommand, with the account, machine identity and verified epochs filled in, for a proposer to run; and atenzro funding request-grantrequest that the operator files themselves. The treasury pays the gas of that request, so an account with no balance can file it.statusshows the approval record, what sponsorship has paid, the caps in force and any stake the operator is waiting on.
Tenzro Control shows the same reads and criteria in the Sponsorship panel on its dashboard. An approved operator is paid nothing until governance sets the caps.
Reading it
tenzro governance payouts (tenzro_getTreasuryPayouts, MCP get_treasury_payouts) lists every disbursement with its recipient, amount, class (validator, provider, developer, contributor, community), the proposal that paid it and the milestone or verified hours it was paid against. It also returns the total per class and the governed caps, and with an address its approvals and the total it has been paid. Each disbursement is logged as TreasuryPayout.
Unattended releases
Two payouts carry no proposal because they pay verified work as it happens: the availability reward (a verified-available verdict, hardware-bound, off until governance sets it) and the reconciliation duty reward. Both count against the treasury outflow period and are forfeited, not forced, once its cap is spent.
Related
- Governance for the proposal actions and tracks.
- Network roles for bonds and the roles an operator runs.
- Validator lifecycle.