Digital stewardship: pay verified digital work for Regen by the hour, each hour accepted by a governance vote

I’m putting up a text proposal to adopt a digital stewardship authority.

By itself, it pays nobody. It sets the rules under which digital work for this chain — protocol and tooling work, on-chain operations run hard and fast with AI, x/data and registry tooling, validator and RPC stewardship, and coordination infrastructure — can be paid from the community pool, one accepted hour at a time.

How an hour gets paid

  1. Before starting, the worker signs the authority’s offer for a posted digital job.
  2. They do the work and publish the evidence: start and end, hours, what now exists and where to check it, and the compute used.
  3. The evidence hash is anchored on Regen x/data.
  4. A monthly acceptance proposal names the work, the hours, and the evidence, and carries one community-pool spend for the hours times the rate.
  5. If the network passes it, the chain pays and VSH credits are issued for exactly those hours, once.

The numbers

  • 5,000 REGEN per accepted hour
  • At most 10 hours / 50,000 REGEN per 30 days
  • Effective for 180 days, then it lapses unless a new vote renews it
  • Lifetime ceiling: 60 hours / 300,000 REGEN

Nothing leaves the pool until a vote accepts specific hours, and voters can reject any hour by voting the acceptance down.

Disclosure

I’m the working-group steward proposing it, and the first hours expected under it are my own digital work for this chain, paid to the steward account if the network accepts them.

That account holds no bonded REGEN, so the vote that accepts those hours is the rest of the network’s.

This does not touch proposal 77, which stays with physical stewardship hours.

Authority hash

The full authority document is below.

The proposal names its hash: sort the keys, write compact JSON, sha256. Anyone can check it:

python3 -c “import json,hashlib,sys; c=lambda v: [c(x) for x in v] if isinstance(v,list) else ({k:c(v[k]) for k in sorted(v)} if isinstance(v,dict) else v); print(hashlib.sha256(json.dumps(c(json.load(sys.stdin)),separators=(‘,’,‘:’),ensure_ascii=False).encode()).hexdigest())” < authority.json

Expected:

5fea111040bec7605079627059d1561f59dda8c91c2e7cc7269c89f7f457ca0a

{

“schema”: “vealth-digital-stewardship-authority/v1”,

“authorityId”: “vealth-digital-stewardship-authority-1”,

“version”: “0.2.0”,

“title”: “Digital Stewardship Funding Authority: digital hours accepted and paid by a Regen governance vote”,

“relationToProposal77”: “separate_authority_proposal_77_does_not_pay_digital_work”,

“scope”: {

"eligibleWorkClasses": \[

  "protocol_implementation_hardening",

  "machine_readable_work_provisioning",

  "evidence_verification_infrastructure",

  "regen_ledger_xdata_tooling",

  "validator_rpc_stewardship",

  "project_integration",

  "coordination_infrastructure",

  "safety_readiness_infrastructure",

  "other_digital_public_ecological_infrastructure"

\],

"workTypeClasses": {

  "digital_devops_ai_labor_provisioning": "protocol_implementation_hardening"

},

"durableCapabilityRequired": true,

"groundwardBindingRequired": true

},

“parameters”: {

"fundingSource": {

  "state": "decided",

  "value": {

    "kind": "regen_community_pool_spend",

    "custodyAccount": "regen1purnwdrhg477r0evks8t5ah7c8thvrssaxmfm8",

    "denom": "uregen"

  }

},

"rate": {

  "state": "decided",

  "value": {

    "uregenPerAcceptedHour": "5000000000"

  }

},

"tranche": {

  "state": "decided",

  "value": {

    "capUregenPerPeriod": "50000000000",

    "periodDays": 30,

    "rollover": "none"

  }

},

"effectivePeriod": {

  "state": "decided",

  "value": {

    "from": "adoption",

    "days": 180

  }

},

"maxPayableHours": {

  "state": "decided",

  "value": {

    "perPacket": "10",

    "perWorkerPerPeriod": "10",

    "perPeriod": "10"

  }

},

"unspentFunds": {

  "state": "decided",

  "value": {

    "disposition": "never leaves the Regen community pool: only a passed acceptance proposal spends, and only the hours it accepts"

  }

},

"amendmentRenewalTermination": {

  "state": "decided",

  "value": {

    "amendBy": "a Regen governance proposal naming the new body hash",

    "renewBy": "a Regen governance proposal naming the new body hash",

    "terminateBy": "a Regen governance proposal",

    "reviewEveryDays": 30

  }

},

"adoptionInstrument": {

  "state": "decided",

  "value": {

    "kind": "regen_governance_proposal"

  }

},

"acceptance": {

  "state": "decided",

  "value": {

    "kind": "regen_governance_proposal",

    "proposalsPerPeriod": 1,

    "stewardPayout": "regen1jfheyvsah5wqfyawmedme43te056z8gzdnpf3j"

  }

}

},

“rules”: {

"unit": "one_independently_accepted_accountable_human_hour_is_one_vsh",

"computeMultipliesHours": false,

"participation": "open_to_every_eligible_worker_on_the_same_published_terms",

"founderEligibleAsWorker": true,

"founderSelfAcceptance": "forbidden",

"workerConflicts": \[

  "worker_is_packet_creator",

  "worker_is_house_wallet",

  "payout_to_custody_account"

\],

"acceptorConflicts": \[

  "acceptor_is_worker",

  "acceptor_is_packet_creator",

  "acceptor_is_house_wallet",

  "acceptor_is_payer"

\],

"evidence": \[

  "worker_identity_bound",

  "worker_signed_this_authority_offer_before_work",

  "hours_claimed_with_start_and_end",

  "compute_inputs_attributed_once_with_source_refs",

  "durable_capability_with_evidence_refs",

  "groundward_binding",

  "canonical_accepted_evidence_commitment",

  "outside_human_acceptance_bound_to_event_completion_and_hours"

\],

"xdata": "exact_accepted_evidence_commitment_anchored_on_regen_x_data_before_payment",

"duplicateCompensation": "refuse_when_the_same_hours_are_paid_elsewhere_or_not_declared",

"rejection": "acceptor_may_reject_or_reduce_hours_accepted_never_exceeds_claimed_rejection_pays_nothing",

"settlementReplay": \[

  "one_settlement_per_completion",

  "payment_tx_verified_before_settlement",

  "unknown_replay_state_refuses"

\],

"vshIssuance": "exactly_hours_accepted_after_settlement_never_before",

"publicReceipt": "worker_acceptor_and_payer_roles_visible_on_the_receipt"

}

}