Vealth · Regen Network · The course · The baseline · The revenue line
What Regen Ledger earns today, read from every transaction.
regen-1 height 28,797,712 · block time 2026-09-13T10:04:45.507614256Z · built 2026-09-13T10:06:58.538Z · every parameter read pinned to that height · REGEN at $0.0013 (CoinGecko, their published REGEN price, cited as theirs, 2026-09-13T10:05:30.000Z) · rebuild: npx tsx scripts/regen/regen-ledger-revenue.ts
Since proposal #74 took effect at height 28,650,945, no new REGEN is minted, so transaction fees are what the chain itself pays the validator set, plus the community tax on those fees, which was the pool's only measured inflow in the 90-day window (no direct deposit into the pool appeared in it). Two sources of income this page does not see and does not add: the marketplace fee, whose parameters the public LCD will not serve, and Regen Compute's subscription revenue, which is off-chain and Regen Network Development's to state. Rebuild the page and the numbers change; nothing here is edited by hand.
| Window | Transactions | Fees paid | Per month at this rate |
|---|---|---|---|
| trailing 30 days | 15,954 | 77.05 REGEN | 78.17 REGEN |
| trailing 90 days | 41,939 | 266.11 REGEN | 90 REGEN |
| since #74 took effect | 2,543 | 18.75 REGEN | 60.21 REGEN |
Twelve more months at the trailing-30-day rate would be 938.1 REGEN ($1.17) for the whole chain.
The units of use
What one act on the ledger cost, by message type, trailing 90 days.
The three most used messages: retire credits (24,972, median fee 0.005 REGEN); withdraw staking rewards (5,090, median fee 0.0037 REGEN); send REGEN or another coin (3,275, median fee 0.0026 REGEN). By fee rather than by count, six types carry 82.87% of everything the ledger collected in the window.
| What it does | Transactions carrying it | Median fee paid | Share of all fees |
|---|---|---|---|
| retire credits | 24,972 | 0.005 REGEN | 46.92% |
| withdraw staking rewards | 3,156 | 0.0037 REGEN | 11.68% |
| execute under an authorization | 1,700 | 0.0193 REGEN | 10.40% |
| execute a contract | 404 | 0.03 REGEN | 5.21% |
| anchor a record | 827 | 0.015 REGEN | 5.08% |
| buy credits from a sell order | 3,242 | 0.003 REGEN | 3.58% |
| everything else, 31 more message types | 8,774 | 0.0001 to 2 REGEN | 17.13% |
The table prices in REGEN because in dollars these figures round away: the largest median in it, 0.03 REGEN, is $0.0000375 at the stated price, and the median transaction across the whole window paid 0.005 REGEN, or $0.0000063. The dollar column, the gas prices and all 37 message types are at the foot of the page.
Where the fees go
83.00% to the validator set, 17.00% to the pool, and the pool burns 15.00% of its inflow.
| Validator | Share of bonded stake | Monthly fee income | Commission |
|---|---|---|---|
| ecoBridge.earth | 19.60% | 12.72 REGEN | 6.00% |
| Regenerator | 12.17% | 7.9 REGEN | 5.00% |
| polkachu.com | 10.62% | 6.89 REGEN | 5.00% |
| Earthist | 8.76% | 5.69 REGEN | 9.00% |
| Simply Staking | 8.40% | 5.45 REGEN | 10.00% |
| Vitwit (Previously Witval) | 8.36% | 5.43 REGEN | 5.00% |
| KalpaTech | 8.20% | 5.32 REGEN | 10.00% |
| 0base.vc | 7.75% | 5.03 REGEN | 10.00% |
| Chainflow | 6.88% | 4.47 REGEN | 8.00% |
| ECO Stake 🌱 | REStake.app | 6.36% | 4.13 REGEN | 5.00% |
| Alex (Bambarello) Validator | 2.90% | 1.88 REGEN | 10.00% |
The floor beside the revenue
The operating floor proposed in the validator-floor draft is 1,017 times the measured fee income per validator.
The zero-revenue trigger, answered. The upgrade draft sets the trigger (total fee revenue under a governance-set floor for four consecutive 28-day epochs) and no draft has yet set that floor's value, so whether the trigger is met is not a question this page can answer. What it can measure: the validator set's share of fees was between 59.63 and 88.72 REGEN per 28-day epoch in all 3 whole epochs that fit in the trailing 90 days ($0.0746 to $0.1110 at the stated price). So any trigger floor set above about 88.72 REGEN an epoch would already have tripped in every measured epoch, and a fourth consecutive epoch at this rate is the run rate, not a scenario. For scale only: the operating floor proposed in this course's validator-floor draft, restated per epoch for 11 validators, would be 60,714.58 REGEN; it is a proposed operating figure, not the trigger's floor. The epoch-by-epoch table those figures come from is at the foot of the page.
The protocol's own fees
The class fee and the basket fee are burned; the marketplace fee is not readable here.
Where the class fee goes, with the source. https://github.com/regen-network/regen-ledger/blob/v7.2.0/x/ecocredit/base/keeper/msg_create_class.go#L155-L160 (chargeCreditClassFee: SendCoinsFromAccountToModule at line 155, BurnCoins at line 160). The basket fee follows the same two lines in https://github.com/regen-network/regen-ledger/blob/v7.2.0/x/ecocredit/basket/keeper/msg_create.go#L71-L76 (SendCoinsFromAccountToModule to the basket submodule at line 71, BurnCoins at line 76). So a class costs 5,000 REGEN and that REGEN leaves the supply; it is not income to anyone. The marketplace module's fee parameters answer Not Implemented on the public LCD, so no marketplace fee value is asserted on this page. Denoms a sell order may be priced in: USDC.axl, USDC.grv, regen, usdc.
Check it yourself
A second node was asked the same question.
Every transaction count on this page was asked of a second independent node as well: trailing 30 days, both nodes count the same transactions; trailing 90 days, not compared: the second node's block store starts at 27420001, after this window's start; since #74 took effect, both nodes count the same transactions. The JSON copy at /regen-network/regen-revenue.json carries every figure, every window edge and every message type; the drawer below carries the calls, the full tables and the method behind each one.
Check any of this yourself
The windows, with their heights and block times
| Window | Heights | Block times | Transactions | Fees paid | In dollars | Per month at this rate |
|---|---|---|---|---|---|---|
| trailing 30 days | 28,334,465 to 28,797,712 | 2026-08-14 to 2026-09-13 (30 days) | 15,954 | 77.05 REGEN | $0.0964 | 78.17 REGEN |
| trailing 90 days | 27,414,372 to 28,797,712 | 2026-06-15 to 2026-09-13 (90 days) | 41,939 | 266.11 REGEN | $0.3330 | 90 REGEN |
| since #74 took effect | 28,650,945 to 28,797,712 | 2026-09-03 to 2026-09-13 (9.48 days) | 2,543 | 18.75 REGEN | $0.0235 | 60.21 REGEN |
How the fee is read. Every transaction carries its fee in auth_info.fee.amount; that is what is summed, per denom, for every transaction whose height falls inside the window. A failed transaction still paid, because the fee is taken before the messages run, so failed transactions are counted too (51 of 41,939 in the 90-day window). A node can also hand back a transaction whose body it cannot decode; that transaction is counted with no fee, and the count is stated here and in the JSON for every window so an undercount cannot hide: the 90-day window holds none. A month here is 365.25 divided by 12 days.
Fee denoms seen in the 90-day window
| Denom | Base units paid, 90 days | Note |
|---|---|---|
| uregen | 266,113,089 | REGEN's base unit, one millionth of a REGEN |
Every message type in the window
| What it does | Message type | Messages | Transactions | Fee attributed | Median fee per transaction | In dollars | Median gas price (uregen per gas) |
|---|---|---|---|---|---|---|---|
| retire credits | /regen.ecocredit.v1.MsgRetire | 24,972 | 24,972 | 124.86 REGEN | 0.005 REGEN | $0.0000063 | 0.0658 |
| withdraw staking rewards | /cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward | 5,090 | 3,156 (5 failed) | 31.07 REGEN | 0.0037 REGEN | $0.0000046 | 0.025 |
| send REGEN or another coin | /cosmos.bank.v1beta1.MsgSend | 3,275 | 3,270 | 9.06 REGEN | 0.0026 REGEN | $0.0000033 | 0.025 |
| buy credits from a sell order | /regen.ecocredit.marketplace.v1.MsgBuyDirect | 3,242 | 3,242 | 9.54 REGEN | 0.003 REGEN | $0.0000037 | 0.025 |
| anchor a record | /regen.data.v2.MsgAnchor | 2,323 | 827 (1 failed) | 13.52 REGEN | 0.015 REGEN | $0.0000188 | 0.075 |
| execute under an authorization | /cosmos.authz.v1beta1.MsgExec | 1,729 | 1,700 (3 failed) | 27.69 REGEN | 0.0193 REGEN | $0.0000242 | 0.03 |
| IBC client update | /ibc.core.client.v1.MsgUpdateClient | 1,687 | 1,687 | 5.32 REGEN | 0.0057 REGEN | $0.0000071 | 0.02 |
| delegate | /cosmos.staking.v1beta1.MsgDelegate | 1,117 | 1,047 (1 failed) | 5.3 REGEN | 0.0056 REGEN | $0.0000070 | 0.025 |
| IBC packet received | /ibc.core.channel.v1.MsgRecvPacket | 933 | 548 | 3.26 REGEN | 0.0007 REGEN | $0.0000009 | 0.001 |
| vote (gov v1beta1) | /cosmos.gov.v1beta1.MsgVote | 629 | 622 | 1.06 REGEN | 0.0017 REGEN | $0.0000021 | 0.025 |
| execute a contract | /cosmwasm.wasm.v1.MsgExecuteContract | 405 | 404 | 13.85 REGEN | 0.03 REGEN | $0.0000375 | 0.025 |
| IBC transfer out | /ibc.applications.transfer.v1.MsgTransfer | 320 | 320 (12 failed) | 1.32 REGEN | 0.0036 REGEN | $0.0000044 | 0.025 |
| IBC acknowledgement | /ibc.core.channel.v1.MsgAcknowledgement | 307 | 307 | 0.1 REGEN | 0.0007 REGEN | $0.0000008 | 0.001 |
| redelegate | /cosmos.staking.v1beta1.MsgBeginRedelegate | 218 | 218 (12 failed) | 1.82 REGEN | 0.0079 REGEN | $0.0000099 | 0.025 |
| send credits | /regen.ecocredit.v1.MsgSend | 162 | 162 | 0.43 REGEN | 0.0039 REGEN | $0.0000049 | 0.025 |
| undelegate | /cosmos.staking.v1beta1.MsgUndelegate | 151 | 144 (5 failed) | 0.92 REGEN | 0.0063 REGEN | $0.0000078 | 0.025 |
| create a project | /regen.ecocredit.v1.MsgCreateProject | 127 | 127 | 2.54 REGEN | 0.02 REGEN | $0.0000250 | 0.1 |
| update project admin | /regen.ecocredit.v1.MsgUpdateProjectAdmin | 127 | 127 | 8.2 REGEN | 0.1291 REGEN | $0.0001615 | 0.025 |
| vote | /cosmos.gov.v1.MsgVote | 57 | 54 (2 failed) | 0.31 REGEN | 0.0075 REGEN | $0.0000094 | 0.025 |
| grant a fee allowance | /cosmos.feegrant.v1beta1.MsgGrantAllowance | 44 | 44 | 0.17 REGEN | 0.0038 REGEN | $0.0000047 | 0.025 |
| post a sell order | /regen.ecocredit.marketplace.v1.MsgSell | 21 | 21 | 0.11 REGEN | 0.005 REGEN | $0.0000063 | 0.025 |
| withdraw validator commission | /cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission | 16 | 16 (2 failed) | 3.14 REGEN | 0.0049 REGEN | $0.0000061 | 0.025 |
| submit a proposal | /cosmos.gov.v1.MsgSubmitProposal | 16 | 16 (1 failed) | 0.37 REGEN | 0.0181 REGEN | $0.0000227 | 0.03 |
| cancel an unbonding | /cosmos.staking.v1beta1.MsgCancelUnbondingDelegation | 11 | 11 (8 failed) | 0.06 REGEN | 0.005 REGEN | $0.0000063 | 0.025 |
| grant an authorization | /cosmos.authz.v1beta1.MsgGrant | 9 | 9 | 0.02 REGEN | 0.0026 REGEN | $0.0000032 | 0.025 |
| attest to a record | /regen.data.v2.MsgAttest | 4 | 4 | 0.02 REGEN | 0.009 REGEN | $0.0000113 | 0.03 |
| cancel a sell order | /regen.ecocredit.marketplace.v1.MsgCancelSellOrder | 4 | 4 | 0.02 REGEN | 0.005 REGEN | $0.0000063 | 0.025 |
| MsgCreateClient (ibc) | /ibc.core.client.v1.MsgCreateClient | 3 | 3 | 0.01 REGEN | 0.0026 REGEN | $0.0000033 | 0.025 |
| revoke an authorization | /cosmos.authz.v1beta1.MsgRevoke | 2 | 2 | 0 REGEN | 0.0018 REGEN | $0.0000022 | 0.02 |
| deposit on a proposal | /cosmos.gov.v1.MsgDeposit | 2 | 2 (1 failed) | 0.02 REGEN | 0.0075 REGEN | $0.0000094 | 0.03 |
| IBC timeout | /ibc.core.channel.v1.MsgTimeout | 2 | 2 | 0 REGEN | 0.0032 REGEN | $0.0000040 | 0.013 |
| MsgBurnRegen (ecocredit) | /regen.ecocredit.v1.MsgBurnRegen | 2 | 2 | 0 REGEN | 0.0021 REGEN | $0.0000026 | 0.025 |
| MsgCancelProposal (gov) | /cosmos.gov.v1.MsgCancelProposal | 1 | 1 | 0.01 REGEN | 0.009 REGEN | $0.0000113 | 0.03 |
| MsgUnjail (other) | /cosmos.slashing.v1beta1.MsgUnjail | 1 | 1 | 2 REGEN | 2 REGEN | $0.0025 | 10 |
| edit a validator | /cosmos.staking.v1beta1.MsgEditValidator | 1 | 1 | 0 REGEN | 0.0001 REGEN | $0.0000002 | 0.0003 |
| create a basket | /regen.ecocredit.basket.v1.MsgCreate | 1 | 1 | 0.01 REGEN | 0.009 REGEN | $0.0000113 | 0.03 |
| create a credit class | /regen.ecocredit.v1.MsgCreateClass | 1 | 1 | 0.01 REGEN | 0.0075 REGEN | $0.0000094 | 0.03 |
How a fee is attributed to a message. A transaction pays one fee for every message it carries. Here that fee is divided equally across the transaction's messages and each message's share is added to its type, so the attributed column sums to the window's total, and the share-of-fees column on the page above is that attributed figure over the window's total. A transaction carrying two types is counted once under each of them, so the transaction column does not sum to the window's total; the fee columns do. The median fee per transaction is the whole fee of the transactions carrying that type, which is what a person or an agent actually paid to get that act onto the ledger. The gas price is the fee over the gas the transaction asked for, in uregen per unit of gas; across all 41,939 transactions the median was 0.0657 uregen per unit of gas. The node's own minimum gas price is not served by the public LCD, so the observed price is the only one stated.
The validator set, in full
| Validator | Share of bonded stake | Monthly gross fee income | In dollars | Commission rate | Of which commission to the operator |
|---|---|---|---|---|---|
| ecoBridge.earth | 19.60% | 12.72 REGEN | $0.0159 | 6.00% | 0.76 REGEN |
| Regenerator | 12.17% | 7.9 REGEN | $0.0099 | 5.00% | 0.39 REGEN |
| polkachu.com | 10.62% | 6.89 REGEN | $0.0086 | 5.00% | 0.34 REGEN |
| Earthist | 8.76% | 5.69 REGEN | $0.0071 | 9.00% | 0.51 REGEN |
| Simply Staking | 8.40% | 5.45 REGEN | $0.0068 | 10.00% | 0.55 REGEN |
| Vitwit (Previously Witval) | 8.36% | 5.43 REGEN | $0.0068 | 5.00% | 0.27 REGEN |
| KalpaTech | 8.20% | 5.32 REGEN | $0.0067 | 10.00% | 0.53 REGEN |
| 0base.vc | 7.75% | 5.03 REGEN | $0.0063 | 10.00% | 0.5 REGEN |
| Chainflow | 6.88% | 4.47 REGEN | $0.0056 | 8.00% | 0.36 REGEN |
| ECO Stake 🌱 | REStake.app | 6.36% | 4.13 REGEN | $0.0052 | 5.00% | 0.21 REGEN |
| Alex (Bambarello) Validator | 2.90% | 1.88 REGEN | $0.0024 | 10.00% | 0.19 REGEN |
How the split is read. The community tax is /cosmos/distribution/v1beta1/params at this height: 17.00%. Fees times the tax is what reaches x/protocolpool; fees times one minus the tax is the validator set's gross, distributed by bonded stake, of which each operator keeps its commission and the rest goes to its delegators. The continuous fund created by #66 takes 15.00% of the pool's inflow and sends it to a keyless address, which is the burn. Monthly figures are the trailing-30-day run rate.
The 28-day epochs behind the trigger answer
| Epoch | Dates | Transactions | Fees paid | The validator set's share | In dollars |
|---|---|---|---|---|---|
| the latest 28 days | 2026-08-16 to 2026-09-13 | 14,755 | 71.85 REGEN | 59.63 REGEN | $0.0746 |
| 2 epochs back | 2026-07-19 to 2026-08-16 | 12,999 | 106.89 REGEN | 88.72 REGEN | $0.1110 |
| 3 epochs back | 2026-06-21 to 2026-07-19 | 11,741 | 73.49 REGEN | 61 REGEN | $0.0763 |
Two nodes, counted against each other
| Window | Transactions, this build's node | Transactions, second node | Result |
|---|---|---|---|
| 30d | 15,954 | 15,954 | both nodes count the same transactions |
| 90d | 41,939 | not compared | not compared: the second node's block store starts at 27420001, after this window's start |
| since_74 | 2,543 | 2,543 | both nodes count the same transactions |
The second node. https://regen-api.polkachu.com, whose block store starts at height 27,420,001. Its first page of the since-#74 window (100 transactions) carries the same transaction hashes and the same fee sum as this build's.
Reconciled with the validator floor's own measurement. The floor draft measured 0.3605 REGEN reaching the pool between heights 28,650,946 and 28,669,862 by reading the pool's balance at both heights. This build sums the fees paid in those blocks: 2.12 REGEN, times the community tax is 0.3604 REGEN, a gap of 0.0001 REGEN. The floor module measured the pool's balance change (plus what the #66 fund pushed out) between two heights. Fees paid in block b reach the pool at the start of block b+1, so the fees that fall inside a balance delta from height A to height B are those of blocks A to B-1; that is the window summed here, times the community tax. Run live at this build: the floor module read 0.3546 REGEN over blocks 28,777,711 to 28,797,711 (about 99 REGEN a year, burn share observed 14.94%); the fee sum times the tax over the same blocks is 0.3546 REGEN, a gap of 0 REGEN.
Every number, the call that returns it
Add the header x-cosmos-block-height: 28797712 to any parameter call below and it answers at this page's height. The transaction calls are addressed by height range and need no header.
| Number | Call |
|---|---|
| transactions in a height range (paged, 100 per page) | https://rest-regen.ecostake.com/cosmos/tx/v1beta1/txs?query=tx.height>=28334465 AND tx.height<=28797712&limit=100&page=1&order_by=ORDER_BY_ASC |
| a block's time (the window edges) | https://rest-regen.ecostake.com/cosmos/base/tendermint/v1beta1/blocks/28334465 |
| community tax | https://rest-regen.ecostake.com/cosmos/distribution/v1beta1/params |
| emission (params) | https://rest-regen.ecostake.com/cosmos/mint/v1beta1/params |
| emission (annual provisions) | https://rest-regen.ecostake.com/cosmos/mint/v1beta1/annual_provisions |
| supply | https://rest-regen.ecostake.com/cosmos/bank/v1beta1/supply/by_denom?denom=uregen |
| community pool | https://rest-regen.ecostake.com/cosmos/protocolpool/v1/community_pool |
| continuous funds (the #66 burn fund) | https://rest-regen.ecostake.com/cosmos/protocolpool/v1/continuous_funds |
| bonded validators and their stake | https://rest-regen.ecostake.com/cosmos/staking/v1beta1/validators?status=BOND_STATUS_BONDED |
| class fee | https://rest-regen.ecostake.com/regen/ecocredit/v1/class-fee |
| ecocredit params (basket fee, allowed denoms) | https://rest-regen.ecostake.com/regen/ecocredit/v1/params |
| marketplace params (not served) | https://rest-regen.ecostake.com/regen/ecocredit/marketplace/v1/params |
| second node, same transaction query | https://regen-api.polkachu.com/cosmos/tx/v1beta1/txs?query=tx.height>=28650945 AND tx.height<=28797712&limit=1&page=1 |
| REGEN price (CoinGecko, theirs) | https://api.coingecko.com/api/v3/simple/price?ids=regen&vs_currencies=usd&include_last_updated_at=true |
Companion pages: the baseline (emission, supply, the registry, the votes), the course, the commons. Regen Network and REGEN are the marks of their owners. The dollar figures use the price CoinGecko publishes and are theirs. This page is offered openly for review and is not a solicitation.