Tokenomic : Revenue-Linked Inflation

Revenue-Linked Inflation: A Sustainable Security Budget for the Cosmos Hub


TL;DR

Two objectives:

  1. Link inflation to revenues — inflation should compensate for missing revenues, not be an arbitrary parameter

  2. Open a door for off-chain revenues — allow ecosystem partners to contribute revenues on-chain, transparently, to validators and delegators

The mechanism:

  1. Define a target security budget (revenue per block needed to secure the network)

  2. Fund this budget primarily through real revenues (tx fees, ecosystem contributions)

  3. Use inflation only to fill the gap when revenues fall short

  4. Result: inflation auto-adjusts based on actual ecosystem revenue

This creates a path to zero inflation as the Hub matures, without compromising security. And it gives ecosystem partners a transparent way to share revenues with those who secure the network.


The Problem with the Current Debate

The community is discussing lowering inflation. But the conversation is backwards.

Current approach:

  • “Inflation is too high, it dilutes holders”

  • “Let’s lower it to X%”

  • “Why X%? Why not Y%?”

  • No clear answer → political compromise → repeat in 6 months

The real question we should ask:

  • How much do we need to pay for security?

  • Where should this money come from?

  • How do we transition to sustainable funding?

Lowering inflation without answering these questions just means paying validators less, which leads to either reduced security or concentration toward large validators who can operate at lower margins.


Opening the Door to Off-Chain Revenues

Before explaining how to link inflation to revenues, we need a way for revenues to flow on-chain in the first place.

The Revenue Stream Module

A new module that allows ecosystem partners to contribute revenues on-chain in a transparent, verifiable way. Partner revenues are streamed block-by-block over a period determined by the partner, ensuring continuous and predictable fund distribution.

How it works:

// Anyone can create a revenue stream (permissionless)
// Spam prevention: only whitelisted denoms + minimum amount
type Stream struct {
    Source          string    // "Cosmos Labs" / "Informal Systems" / etc.
    TotalAmount     sdk.Coins // Total to distribute
    RemainingAmount sdk.Coins
    StartBlock      int64
    EndBlock        int64     // Distributed linearly over this period
}

Example flows:

Source Contribution Distribution
Cosmos Labs $500k from ecosystem services Stream over 6 months
Informal Systems $200k annual commitment Stream over 12 months
Major dApps Voluntary contribution Stream as they choose
Protocol revenues Ongoing fees from Hub services Direct to revenue pool

Transparency Dashboard

All streams are on-chain and queryable:

  • Total revenues this month: $X

  • Breakdown by source

  • Inflation rate this month vs last month

  • Projected inflation if current revenues continue

This creates accountability. Entities funded by the community pool have a transparent way to show they’re giving back. The community can see exactly how much real revenue the ecosystem generates.


The Proposal: Revenue-First, Inflation-Second

Now that we have a way for revenues to enter the system, we can link inflation to these revenues.

Core Mechanism

Every block:

1. Calculate REAL REVENUES
   - Transaction fees
   - Revenue streams from ecosystem partners
   
2. Compare to TARGET
   - Target = governance parameter (revenue needed per block)
   
3. If revenues < target:
   - Mint (target - revenues) as inflation
   - This fills the gap
   
4. If revenues >= target:
   - Inflation = 0
   - All revenues go to stakers/validators

Visual Example

Scenario A - Early stage (today):
    Target:     $1000/block equivalent
    Revenues:   $100/block (fees only)
    Gap:        $900
    Inflation:  Mints $900 equivalent in ATOM
    Stakers:    Receive $1000/block total
    
Scenario B - Growing ecosystem:
    Target:     $1000/block
    Revenues:   $600/block (more activity, more partners)
    Gap:        $400
    Inflation:  Mints $400 equivalent
    Stakers:    Still receive $1000/block
    → But inflation dropped by 55%!

Scenario C - Mature ecosystem:
    Target:     $1000/block
    Revenues:   $1500/block
    Gap:        $0
    Inflation:  0
    Stakers:    Receive $1500/block
    → Zero inflation, higher rewards

Inflation Cap: A Safety Bound

This mechanism doesn’t mean unlimited inflation. Governance sets a maximum inflation rate that cannot be exceeded, even if revenues fall short of the target.

Example with cap:

    Target:         $1000/block
    Revenues:       $100/block
    Gap:            $900
    Max inflation:  $500/block (governance cap)
    
    Actual inflation: $500 (capped)
    Stakers receive:  $600 ($100 revenues + $500 inflation)
    
    → Target not reached, but inflation stays bounded

This protects against scenarios where revenues collapse temporarily (bear market, low activity). The network accepts a lower security budget rather than hyperinflating.

Governance controls both levers:

  • Target: the ideal security budget

  • Cap: the maximum acceptable inflation

Over time, as revenues grow, the cap becomes irrelevant — inflation naturally drops below it.

Compatibility with Fee Burn (Feemarket Module)

This proposal is fully compatible with the feemarket module that burns a portion of transaction fees. In fact, they complement each other well.

When target is NOT reached (early stage):

Fees collected:     100 ATOM
Burned (50%):       50 ATOM
To stakers:         50 ATOM
Gap to target:      200 ATOM
Inflation minted:   200 ATOM

Net supply change:  -50 + 200 = +150 ATOM

The burn is effectively “cancelled” by compensating inflation. No harm, no benefit — the burn is neutral.

When target IS reached (mature ecosystem):

Fees collected:     100 ATOM
Burned (50%):       50 ATOM
To stakers:         50 ATOM (+ streams = target reached)
Inflation minted:   0

Net supply change:  -50 ATOM (deflationary!)

The burn only becomes truly deflationary when the ecosystem generates enough revenue. Before that, it’s neutral. This is the best of both worlds: fee burn + revenue-linked inflation work together naturally.

Why This Works

For stakers: Guaranteed minimum yield (the target), with upside when ecosystem thrives.

For holders: Inflation decreases automatically as revenues grow. No more arbitrary votes.

For validators: Predictable security budget. Clear incentive to grow ecosystem revenues.

For the ecosystem: Direct link between Hub success and reduced inflation. Aligned incentives.

For staking incentives: Inflation rewards stakers — they receive all newly minted tokens, including the share that would have gone to non-stakers, so stakers grow their percentage of total supply while non-stakers get diluted. But this is an internal transfer: stakers gain what non-stakers lose. Real revenues are different — it’s fresh value entering the ecosystem. Stakers gain without anyone inside the ecosystem losing. This makes the Hub more attractive as a productive asset, not just an inflation hedge.

For the future: The revenue stream infrastructure can serve as a payment mechanism for potential future Hub services. As the ecosystem evolves and new use cases emerge, the primitives are already in place.


Governance Parameters

type Params struct {
    // Target revenue per block (in ATOM or USD equivalent)
    TargetPerBlock          sdk.Coin
    
    // Maximum inflation per block (safety cap)
    MaxInflationPerBlock    sdk.Coin
    
    // Minimum inflation (optional, could be 0)
    MinInflationPerBlock    sdk.Coin
    
    // Allowed denoms for revenue streams
    AllowedDenoms           []string
    
    // Minimum amount to create a stream (anti-spam)
    MinStreamAmount         sdk.Coin
}

Governance controls the target, not the inflation directly. This is a crucial shift:

  • Old model: “Vote to set inflation at 7%”

  • New model: “Vote to set security budget at X ATOM/block, let revenues determine inflation”


Addressing Concerns

“What if no one contributes revenue streams?”

Then we’re exactly where we are today: inflation funds security. No worse off.

But we’ve created the infrastructure and incentive for contributions. Entities funded by community pool now have a clear, transparent way to give back. Social pressure and transparency do the rest.

“Isn’t this complicated?”

For users: Nothing changes. You stake, you earn rewards.

For governance: Instead of debating arbitrary percentages, you debate the security budget. More rational, less political.

For implementation: The core module is straightforward. I’ve implemented similar mechanisms on other Cosmos chains.

“What about price volatility of ATOM?”

Two options:

  1. Target in ATOM terms: Simple, but security budget fluctuates with price

  2. Target in USD terms: Requires price oracle, but stable security budget

I recommend starting with ATOM-denominated target for simplicity, with option to add USD-targeting later via oracle integration.


Implementation Notes

Core Module: x/revenue

// Keeper interface - internal only, no public messages
type RevenueKeeper interface {
    // Called by other modules to create revenue streams
    CreateStream(ctx sdk.Context, source sdk.AccAddress, amount sdk.Coins, durationBlocks int64) error
    
    // Called in EndBlocker
    DistributeRevenues(ctx sdk.Context) sdk.Coins
    CalculateInflationGap(ctx sdk.Context) sdk.Coin
}

Key design decisions:

  • Public MsgCreateStream allows external partners to contribute revenues on-chain

  • Spam prevention via whitelisted denoms + minimum amount (not via restricting who can send)

  • Streams distribute linearly over their duration → prevents gaming

  • Small amounts go directly to fee collector → no dust streams

  • All on-chain, all queryable → full transparency

Integration with Mint Module

The existing x/mint module would be modified to:

  1. Query x/revenue for current gap

  2. Mint only the gap amount (instead of fixed inflation)

  3. Respect max/min bounds from params

Call for Discussion

I’m posting this to start a conversation, not to push for immediate implementation.

Questions for the community:

  1. Does linking inflation to revenues make sense as a direction?

  2. What should the initial target be? (Current inflation equivalent? Lower? Higher?)

  3. Who can create revenue streams? Two options:

    • Whitelisted addresses (governance approves each contributor)

    • Permissionless with constraints (anyone, but only whitelisted denoms + minimum amount to avoid spam)

  4. How do we encourage ecosystem partners to contribute?

  5. Should the target be ATOM-denominated or USD-denominated?

What I’m NOT proposing:

  • Forcing anyone to contribute

  • Removing inflation entirely tomorrow

  • Complex mechanisms that are hard to understand

What I AM proposing:

  • A rational framework for inflation

  • Infrastructure for transparent ecosystem contributions

  • A path toward sustainable security funding


Feedback welcome.

3 Likes

After reading this post, I really like several aspects of it. Paradigm shift, instead of asking how much inflation should we have?, we ask how much funding do we actually need to secure and grow the network?. This feels much more economically healthy and makes a lot of sense for me. Automatic adjustment, inflation being tied to actual revenue the more real network activity fees and ecosystem revenue streams, the less need to mint tokens. This could lead to deflationary periods that actually reward participants for using the network. Path to zero inflation, i really like that this creates a natural stabilization mechanism instead of just setting arbitrary percentages. In the best case, inflation could drop to zero, with atom demand driven by real network usage and revenue. That said, I do have some small concerns due to lack of clarity. Starting from defining revenue streams, which types of revenue count as valid, and how will they be verified on chain? Also security in low revenue periods, how will the network maintain a minimum level of security during long bear markets without excessive inflation? And last, community communication and education, the model is more complex than a simple set X% inflation, so it would be helpful to include example calculations or scenario simulations to make it easier to understand. Overall, I think this is a very thoughtful and promising direction for cosmos hub’s tokenomics, and I’m excited to see how it develops :saluting_face::atom_symbol::purple_heart:

2 Likes

Thanks for the thoughtful feedback! Really glad the core paradigm shift resonates. Let me address your concerns:

-–

**1. Which types of revenue count as valid, and how will they be verified on chain?**

The answer is simple: only **whitelisted denoms** count, and the whitelist is controlled by governance.

For example, governance could approve: ATOM, USDC, USDT.

Anyone can then create a revenue stream using these denoms, as long as they meet a minimum amount (also set by governance, to prevent spam).

There’s no off-chain verification of “who you are” or “where the money comes from”. The constraints are purely on-chain:

- ✓ Whitelisted denom

- ✓ Minimum amount

- → Stream created, counts as revenue

This keeps it permissionless while preventing spam. If someone wants to contribute $1M in USDC to the Hub’s security budget, we don’t need to verify their identity — we just accept the contribution.

-–

**2. Security in low revenue periods / long bear markets**

This is exactly why the proposal includes an **inflation cap** as a safety bound.

Here’s how it works in a bear market scenario:

> **Bear market scenario:**

> - Target: 1000 ATOM/block (what we’d ideally pay for security)

> - Revenues: 50 ATOM/block (bear market, low activity)

> - Gap: 950 ATOM

> - Inflation cap: 500 ATOM/block (governance parameter)

>

> **Result:**

> - Actual inflation: 500 ATOM (capped, not 950)

> - Stakers receive: 550 ATOM/block (50 revenue + 500 inflation)

> - → Network accepts reduced security budget rather than hyperinflating

The key insight: **this is no worse than today**. Currently, inflation is fixed and doesn’t adapt to market conditions at all. With this proposal:

- In bull markets: revenues rise → inflation drops → less dilution

- In bear markets: revenues drop → inflation rises to cap → security maintained within bounds

Governance controls both the target AND the cap, so the community can adjust the tradeoff between “security budget” and “acceptable inflation” as needed.

-–

**3. Example calculations / scenario simulations**

Great suggestion. Here’s a more complete set of scenarios:

**Scenario A: Today (early stage)**

> Revenues: 100 ATOM/block (fees only)

> Target: 1000 ATOM/block → Gap: 900 ATOM

> Inflation: 900 ATOM minted

>

> Stakers receive: 1000 ATOM/block

> Inflation rate: ~9% (similar to today)

**Scenario B: Growing ecosystem**

> Revenues: 600 ATOM/block (fees + partner streams)

> Target: 1000 ATOM/block → Gap: 400 ATOM

> Inflation: 400 ATOM minted

>

> Stakers receive: 1000 ATOM/block

> Inflation rate: ~4% (down 55%!)

**Scenario C: Mature ecosystem**

> Revenues: 1500 ATOM/block (thriving ecosystem)

> Target: 1000 ATOM/block → Gap: 0

> Inflation: 0

>

> Stakers receive: 1500 ATOM/block

> Inflation rate: 0% + fee burn becomes deflationary :tada:

**Scenario D: Bear market with cap**

> Revenues: 50 ATOM/block (market downturn)

> Target: 1000 ATOM/block → Gap: 950 ATOM

> Cap: 500 ATOM/block

>

> Inflation: 500 ATOM (capped)

> Stakers receive: 550 ATOM/block

> Inflation rate: ~5% (bounded, not runaway)

**Scenario E: Recovery**

> Revenues climb back to 400 ATOM/block

> Target: 1000 ATOM/block → Gap: 600 ATOM

> Cap: 500 ATOM/block

>

> Inflation: 500 ATOM (still at cap)

> Stakers receive: 900 ATOM/block

> → As revenues grow, eventually gap < cap, and inflation drops naturally

-–

**Bonus: Compatibility with Fee Burn**

This mechanism works well with the feemarket module’s fee burn:

*During low revenue periods:* the burn is “neutralized” by compensating inflation — net effect neutral.

*During high revenue periods:* inflation is zero, so the burn actually reduces supply — net effect deflationary.

The burn only becomes truly deflationary when the ecosystem generates enough revenue. Before that, it’s neutral. Best of both worlds.

-–

**Summary**

| Concern | Solution |

|---------|----------|

| Which revenues count? | Whitelisted denoms only (governance controlled) |

| How verified? | On-chain constraints: valid denom + minimum amount |

| Bear market security? | Inflation cap prevents runaway, accepts reduced budget |

| Complexity? | Added more scenario examples above |

The beauty of this model is that it **degrades gracefully**. Worst case (no revenues, bear market), we’re capped at a reasonable inflation rate — similar to today. Best case (thr

iving ecosystem), we get zero inflation with real yield for stakers.

Happy to dive deeper into any of these points!

1 Like

Thanks for the detailed follow up and additional scenarios, this really helped clarify the mechanism, especially around whitelisted revenue, target vs cap dynamics, and also bear market behavior. The graceful degradation property is a strong design point. After thinking about it more, I want to highlight one more dimension which I think matters for adoption and value capture. Narrativization and external communication. Even if the mechanism is economically sound, if the broader market doesn’t clearly understand the security budget, revenue, inflation, burn and deflation cycle, the token may fail to capture value even if the model is technically correct. I think the market also needs a story it can easily digest, similar to how eth benefited from ultrasound money once the burn model was live. In fact, this is the first time since 2021 that I really feel constructively bullish on atom from a fundamentals perspective, because this model finally creates a coherent path toward real yield from ecosystem revenues, adaptive non ponzinomic inflation, potential zero inflation in mature states, and deflationary pressure during periods of high usage. If the hub can execute on both the mechanics and the messaging, this could reposition atom as a genuine security budget asset for the interchain rather than simply a high inflation staking token. Very excited to see how this evolves and how governance shapes the reward parameters in practice. I also think it would be awesome if, in the future, governance could consider adding ustc as an optional whitelisted denom. This could allow supporters who believe in and contribute to the terra ecosystem to participate in the security budget in a meaningful way, while still keeping the system safe and predictable for validators and stakers. :atom_symbol::purple_heart:

1 Like

I like the idea.
In addition to curbing the inflation when possible, it would also have the other benefit of keeping the staking yield somewhat predictable (at least with a known minimum), which might be valuable in particular for institutional players that can guarantee a baseline revenue to their clients.

A drawback I can think of is that if an entity pledges for example $200k in ATOM or USDC over 12 months : the full amount is deposited into an account from which it will be streamed, making it idle capital for months while it could be put to better use in DeFi protocols.
This is more of an operational matter though, I suppose the entity could fund the streaming account on a weekly or monthly basis instead of the full amount at once if they deem it relevant.

2 Likes

Yes, you’re not wrong. The solution is to avoid spreading a large revenue over one year, but instead, for example, have 12 revenues over one month.

The downside is less visibility for delegators.

3 Likes