Skip to content

docs(governance): RFC-0001 M013 fee split (28/25/45/2 to 15/30/50/5), proposed - #111

Open
brawlaphant wants to merge 2 commits into
regen-network:mainfrom
brawlaphant:governance/rfc-0001-m013-fee-split
Open

brawlaphant wants to merge 2 commits into
regen-network:mainfrom
brawlaphant:governance/rfc-0001-m013-fee-split

Conversation

@brawlaphant

Copy link
Copy Markdown
Contributor

What this is

The RFC half of the split requested in review on #108 (#108 (comment)). One file, one review unit, based on current main.

rfcs/_template.md, rfcs/GRADUATION_RULES.md and rfcs/schema/rfc-review-schema.yaml were in the #108 bundle only because #108 predated #107. They landed in #107 and are byte identical to main today, so they are not in this PR.

Status

draft. The 15/30/50/5 values are proposed parameters, not an adopted fee schedule. They stay proposed until the sponsorship, deliberation, evidence and ratification steps in rfcs/GRADUATION_RULES.md are completed. No human sponsor is assigned yet, so the RFC cannot graduate past draft; sponsor assignment is open question OQ1 in the document.

The RFC cites existing in-repo evidence: the M013 and M012 mechanism specs, the cadCAD equilibrium analysis, and Proposal A in docs/governance/needs-governance-proposals.md.

Files

  • rfcs/RFC-0001-m013-fee-split.md (new)

Relationship to other work

Origin

Drafted by an AI agent working from the merged mechanism specs and the governance documents already in this repo, reviewed by a person before opening. Flagged so reviewers can weight it accordingly. Agents do not claim ratification authority; a human sponsor and a distinct human ratifier are required by the process.

brawlaphant and others added 2 commits September 13, 2026 02:16
… proposed

First concrete RFC through the pipeline bootstrapped in regen-network#107. Adds
rfcs/RFC-0001-m013-fee-split.md only. Status is draft; the 15/30/50/5
split is a proposed parameter set pending sponsorship, deliberation,
evidence review and ratification.

Split out of regen-network#108 at the reviewer's request, scope only. No change to
the RFC text from regen-network#108.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0133qQ2VHrvhormH9VACe8J6
…add the index row

The only change to the RFC text is wording: the title, the header title field, the Appendix A row and two evidence sentences now describe 15/30/50/5 as proposed parameters pending sponsorship, deliberation, evidence and ratification per GRADUATION_RULES.md. The four numbers, the evidence table, the methodology and the lineage are untouched. rfcs/README.md gains the RFC-0001 index row.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0133qQ2VHrvhormH9VACe8J6
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 13, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-13T16:12:20.559821Z ba86013 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ba86013a98

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".


See `docs/governance/needs-governance-proposals.md` Proposal A §4–5 for the full proposal text and on-chain parameter encoding (uregen units, bps, etc.). This RFC's ratification signals that the parameters in that proposal are approved; the proposal itself will be submitted by a human proposer after ratification.

- **Action type:** parameter-change

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Use a contract execution for the fee-split change

Under the CosmWasm implementation this RFC cites in §3 and pre-flight checks, a parameter-change proposal cannot update the distribution: docs/sdk-v054-implementation-guide.md:383-392 explicitly says fee schedules change through contract execution, and contracts/fee-router/src/msg.rs:58-65 exposes the admin-only UpdateDistribution message. Unless the RFC instead commits to implementing the alternative native module, the proposed feerouter parameter change will fail or leave the contract configuration unchanged; specify the appropriate governance-authorized contract execution and its deterministic payload.

Useful? React with 👍 / 👎.


**Why 15/30/50/5?**

1. **Deflation credibility (15%):** Below Model B minimum (25%) but above zero. At moderate fee volumes ($24K/month), 15% = ~120K REGEN/month burned = 3M token gap closes in ~25 months. Meaningful but achievable; leaves room for governance adjustment.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Rebase the burn-down case on the current supply

At this commit's date, the repository's September 10 chain snapshot records approximately 239.83M REGEN (docs/governance/monetary-policy-anchor.md:35-43) and explicitly supersedes the old 224M-to-221M burn-down narrative (docs/governance/monetary-policy-anchor.md:95-99). A 221M cap would therefore leave an approximately 18.83M gap, so at the stated 120K REGEN/month the pure-burn phase takes about 157 months rather than 25; because this timetable is central evidence for the 15% choice, recalculate it from current supply or clearly label it as an obsolete hypothetical.

Useful? React with 👍 / 👎.


| # | Evidence | Type | Source | KOI IRI | URL (audience-accessible) |
|---|---|---|---|---|---|
| E1 | M013 cadCAD simulation (fee-split sweep, burn_share 0-35%) | simulation | `simulations/cadcad/` | `koi:sim:m013-fee-split-sweep-2026-03` | See `mechanisms/m013-value-based-fee-routing/SPEC.md` Appendix C |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Run the sweep with the proposed four-way split

When burn_share=0.15, the cited burn_share_sweep does not use 15/30/50/5: simulations/cadcad/model/params.py:123-146 proportionally rescales the Model A non-burn shares, producing approximately 15/48.6/30.4/6.1. Consequently its validator-income and community-pool results cannot validate the proposed allocation, despite E1 being declared decisive; add a run with explicit 0.15/0.30/0.50/0.05 overrides and reference its reproducible output.

Useful? React with 👍 / 👎.


1. **Deflation credibility (15%):** Below Model B minimum (25%) but above zero. At moderate fee volumes ($24K/month), 15% = ~120K REGEN/month burned = 3M token gap closes in ~25 months. Meaningful but achievable; leaves room for governance adjustment.

2. **Validator sustainability (30%):** Between Model B minimum (15%) and Model A (40%). At $24K/month, 30% = $7,200/month ÷ 15-21 validators = $343-480/validator/month. Marginal solo but supplemented by M015 activity rewards. Sufficient to retain quality validator cohort.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Reconcile validator income with the model's viability threshold

In the stated moderate-volume scenario, $343–480 per month annualizes to only $4,116–5,760 per validator, while the simulation config defines minimum viable income as $15,000/year (simulations/cadcad/model/params.py:39-45) and the equilibrium analysis explicitly concludes that baseline volume is insufficient for validators (simulations/cadcad/equilibrium_analysis.md:359-366). Calling this amount sufficient reverses the cited model's conclusion; quantify a reliable supplementary subsidy or revise the sustainability claim and proposed share.

Useful? React with 👍 / 👎.

- **Title:** Propose M013 Fee Distribution Split (burn / validator / community / agent pools)
- **Status:** draft
- **Author(s):** Claude Code (AI agent, brawlaphant accountable)
- **Sponsor:** <HUMAN SPONSOR REQUIRED — none assigned yet; submit via PR comment>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Assign a human sponsor before creating the RFC

The always-on review rule R-HEADER-002 and the spec-to-RFC gate in rfcs/schema/rfc-review-schema.yaml:36-42,108-116 require the sponsor to resolve to a human, while rfcs/GRADUATION_RULES.md:37-45 says no spec graduates into an RFC without one. This placeholder therefore makes the newly indexed RFC invalid at its current draft state, rather than merely preventing a later transition to forum-posted; obtain a named human sponsor before publishing it as RFC-0001.

Useful? React with 👍 / 👎.


## 1. Claim

The M013 Value-Based Fee Routing mechanism should split protocol fees across four pools as follows: **15% burn, 30% validator, 50% community, 5% agent** — replacing the interim 28/25/45/2 split and the earlier Model A (30/40/25/5) and Model B (25-35/15-25/50-60/0) framings.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Stop describing 28/25/45/2 as the interim live split

There is no deployed interim four-pool fee-router split to replace: the current-state inventory records only a 15% continuous fund from community-pool inflow and explicitly says that this is not the M013 fee router (docs/governance/monetary-policy-anchor.md:33-62), while 28/25/45/2 appears in the older documents as a proposed compromise. Calling it the interim split obscures the actual transition from no deployed M013 routing to a proposed schedule; identify 28/25/45/2 as an earlier proposal rather than the live baseline.

Useful? React with 👍 / 👎.

Comment on lines +161 to +163
- **More conservative (higher burn %)** — Model A (30%) prioritizes price appreciation through scarcity. Delays ecosystem funding 1-2 years.
- **More aggressive (lower burn %)** — Model B (25-35% or lower) prioritizes near-term contributor funding. Reduces scarcity signal; harder to increase burn later (political friction).
- **Middle path (15%)** — RFC-0001. Credible scarcity + ecosystem acceleration + validator compensation + agent pool. Allows 6-month review to adjust if community prefers more/less burn.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Classify the 15% option consistently as lowest-burn

This comparison defines lower burn as the more aggressive ecosystem-funding position, labels Model B's 25–35% burn aggressive, and then calls the proposed 15% burn a middle path. Among the three tabulated candidates, 15% is actually the lowest-burn and therefore most aggressive option under the RFC's own definition; correct the classification so readers are not given the inverse risk framing.

Useful? React with 👍 / 👎.


- **Simulation lineage:** `simulations/cadcad/` (model configuration supports parameter sweep over burn_share ∈ [0.00, 0.35]; run outputs validate M012 equilibrium at burn_share=0.15).

- **Contract lineage:** `contracts/fee-router/src/contract.rs` (already implemented; parameters are module init arguments, read-only for this RFC until on-chain activation).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Mark the fee-router contract as accounting-only

The cited contract is not yet an implemented on-chain fee router: execute_collect_fee discards info, increments pool counters without validating transferred funds, and emits no transfer or burn messages (contracts/fee-router/src/contract.rs:73-133). The integration test explicitly calls v0 accounting-only and uses an off-chain aggregator for the M013-to-M012 handoff (contracts/integration-tests/tests/integration.rs:1869-1876,1916-1920). Describing it as already implemented can let compilation-only pre-flight checks greenlight a contract that records unpaid fees and cannot distribute its balances; identify it as a prototype and require funds validation plus downstream settlement before activation.

Useful? React with 👍 / 👎.

- **Status:** draft
- **Author(s):** Claude Code (AI agent, brawlaphant accountable)
- **Sponsor:** <HUMAN SPONSOR REQUIRED — none assigned yet; submit via PR comment>
- **Audience:** internal (Regen Network tokenomics working group, validators, governance participants)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Use an exact audience enum value

The always-on schema permits only the exact audience values internal, partner, commons, or public (rfcs/schema/rfc-review-schema.yaml:52-57), but this field includes a parenthetical description as part of its value. A mechanical review therefore cannot recognize the RFC's audience tier and must report the header as a blocker; set the field to internal and place the explanatory audience list in separate prose.

Useful? React with 👍 / 👎.

Comment on lines +36 to +40
- **Governance lineage:** `docs/governance/open-questions-resolution.md` (OQ-M013-1, OQ-M013-5 analysis, §42–88). The open-questions document resolved 33 Phase 2 ambiguities; OQ-M013-1 and OQ-M013-5 specifically addressed fee distribution and burn pool sizing. The recommendation in that document synthesizes prior Model A/B analysis.

- **Economics lineage:** `docs/governance/needs-governance-proposals.md` (Proposal A, §35–129). This governance proposal packages OQ-M013-1, OQ-M013-5 (and others) into on-chain actionable parameters with risk assessment (§6), voting guidance (§7), and dependency mapping (§8).

- **Spec lineage:** `mechanisms/m013-value-based-fee-routing/SPEC.md` §4 (fee distribution parameter space: burn_share, validator_share, community_share, agent_share, all ∈ [0, 1] summing to 1).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Repair the methodology section locators

The methodology's section references do not lead to the claimed material: OQ-M013-1 and OQ-M013-5 are at docs/governance/open-questions-resolution.md:379-492, not “§42–88,” and fee distribution is §5 of the M013 spec (mechanisms/m013-value-based-fee-routing/SPEC.md:69-113), whereas §4 is fee calculation. These broken locators prevent reviewers from efficiently verifying the asserted lineage; replace them with the actual headings or stable line-independent anchors.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant