Cosmos Hub

Infrastructure

Proposal Details

Proposal #810

Passed

Proposal title

Signaling Proposal: Add The Fee Abstraction Module to the Cosmos Hub

Submit time

Deposit end time

Voting start time

Voting end time

Tally result

97.94%

Proposal #810 description

This is a signaling proposal to add the Fee Abstraction Module to the Cosmos Hub. At a high level, the module will allow for transaction fees on the Cosmos Hub to be paid with any token by first swapping that token for ATOM on Osmosis. The function of the module will be outlined in more detail below.

The fee abstraction module was developed by the team at Notional, and funded by the Osmosis Grants Program, as a method of solving fee abstraction issues that currently plague the Cosmos Ecosystem and hinder adoption from external ecosystems. The module solves for this by allowing fees to be paid in any asset on chains that implement it without requiring that chain to change its accepted fee assets.

This proposal is merely a signaling proposal and will not result in any immediate changes to the Cosmos Hub if passed. The module will need to be added via a subsequent software upgrade requiring an independent vote. If this vote passes, the Notional team will assist the maintainers of the Cosmos Hub codebase with integration as needed and help solve any technical challenges that may be encountered in the process of adding the module.

Problem Statement

Thanks to Replicated Security, the Cosmos Hub is undergoing a period of rapid expansion. The Hub recently onboarded Neutron as the first ever consumer of its security, with Stride close behind and Duality to follow soon thereafter.

As these integrations grow, so too will the diversity of assets received by ATOM stakers grow (Stride alone will reward ATOM stakers with 10 different assets as staking rewards). In the short term, many of these rewards will be small, and will not be worth the ATOM gas fees required to transfer them back to their native chains via IBC. This is especially true for smaller delegators.

Rather than letting these assets sit unused in their wallets, what if ATOM stakers could use these assets to pay for gas fees instead of their ATOM? Further, what if these gas fees could be used to create a consistent supply of steady buy pressure on the ATOM token? This is where the fee abstraction module comes in.

Similarly, new users coming to Cosmos as a result of the upcoming metamask snaps will need a seamless way to onboard to ATOM using only assets like wETH, USDC, or USDT. The Fee abstraction module will all for this, helping reduce onboarding UX friction for the 30M+ metamask users.

How the Fee Abstraction Module Works

The fee abstraction module leverages interchain queries, packet forwarding middleware, and ibc hooks to periodically swap collected transaction fees to a chain’s native token using Osmosis. The frequency at which fees are swapped is parameterized. Using this feature, the Cosmos Hub can have its transaction fees paid in any asset that has a liquidity pool on Osmosis, and the asset will be swapped to ATOM to be used as a transaction fee.

The module operates on the following module flow:

  • Interchain Query to Osmosis to determine the exchange rate between the fee asset and ATOM
  • Collect fee assets from executed transactions
  • IBC transfer accrued fee assets to Osmosis
  • [If needed] Unwind IBC path to preserve fungibility
  • Swap to ATOM on Osmosis
  • IBC transfer back to the Hub for distribution to ATOM validators and delegators

Interchain Queries

On a regular basis, the module queries Osmosis TWAP data over IBC to determine the rate of exchange between a given fee asset and the chain’s native token (in this case, ATOM). Osmosis returns an acknowledgement via IBC with the rate of exchange to the module, which is then used to set the rate at which fees are collected in other assets to be swapped.

The frequency at which the module sends an interchain query message to Osmosis is governed by the update exchange rate period parameter. This parameter is governance mutable and by default is set to a frequency of 1 hour. This setting is recommended to limit the number of query messages being sent over IBC by the Hub as much as possible while still maintaining a high degree of reliability in the exchange rate.

Fee Collection, Transfer, Path Unwinding, and Swap

Transaction fees collected by the Hub in IBC assets are stored in the module at the time of collection, and are periodically sent to Osmosis over IBC. If the fee asset is native to the Osmosis chain (i.e., OSMO or ION), it will be swapped for ATOM immediately via Osmosis’s cross-chain swap contract and sent back to the Hub.

If the fee asset is an IBC denom that doesn’t have Osmosis as its origin chain, its IBC path will first be unwound to maintain fungibility with the corresponding IBC asset on Osmosis. For example, if a transaction on the Hub is paid in Stargaze’s native STARS token, the module would send the STARS token to Osmosis with instructions to unwind the tokens’ IBC path as follows:

  • Send the STARS to the Cosmos Hub
  • Send the STARS to Stargaze
  • Send the STARS to Osmosis
  • From there, the STARS will be swapped to ATOM as normal and returned to the Hub, where they will be distributed to ATOM stakers.

Fees are transferred and swapped every hour before being distributed. This feature is a governance-controlled parameter that can be adjusted depending on how many external fee assets are used to pay for transaction fees on the Hub. The more non-ATOM fees that are paid, the more frequently the hub should want to make this transfer.

Impact and Benefits

The principal benefit of this module is that it will allow for an increase of ATOM’s status as a canonical source of onboarding liquidity to the Cosmos ecosystem. With the influx of new Cosmos users that will accompany the upcoming metamask integration, users coming to Cosmos holding ETH, USDC, USDT, wBTC, or other high-volume bridge onramp assets will be able to easily use these assets to pay for transaction fees on the Cosmos Hub before they are able to get ATOM tokens. Fiat onramps like Kado could also allow for onboarding of liquidity directly to the Cosmos Hub in non-ATOM assets like USDC or ETH. It is important to have such an onboarding mechanism in place before the metamask integration goes live in order to make the onboarding UX as simple as possible for non-cosmos users.

This module also allows transaction fees on the Cosmos Hub to be paid in assets received by ATOM stakers via Interchain Security while also placing a consistent source of buy pressure on the ATOM token.

For example, ATOM stakers can begin to pay for transaction fees on the Hub in assets like NTRN, STRD, or even stATOM which will be paid to them via Interchain Security. This will not only obviate the need for ATOM stakers to use ATOM for transaction fees, but it will also cause a continuous source of buy pressure for the ATOM token on the Osmosis DEX.

Resources

Fee Abstraction Module github repo: https://github.com/osmosis-labs/fee-abstraction

Forum discussion link: https://forum.cosmos.network/t/last-call-on-chain-08-02-signaling-proposal-add-the-fee-abstraction-module-to-the-cosmos-hub/11127

Proposal #810 overview

Total votes
61,754
Voters
61,425
Total deposit
250 ATOM

Proposal #810 votes

#

Validator

Account Address

Options
1PRO DelegatorsYes
2in3s.comYes
3nylira.netYes
4天照☀Yes
5EZ StakingYes
6CompassYes
70base.vcYes
8Chorus OneYes
9validator.networkYes
10Imperator.coYes
11CrosnestYes
12MoonletYes
13Binary HoldingsYes
14DSRVYes
15B-HarvestNo
16ChainUp & NewHuoYes
17StirYes
18Simply StakingYes
19HighStakes.ch | Stake for AirdropYes
20vido.infoYes
21Easy 2 StakeYes
22MoonstakeYes
23ProvalidatorYes
24🙏 uGaenn ⛅Yes
25Informal SystemsYes
26BitValidatorYes
27UNSTAKE/RE-DELEGATEYes
28Lavender.Five Nodes 🐝Yes
29CEX.IO ValidatorYes
30SG-1Yes
31TessellatedYes
32Atomic power nodeYes
33iqlusionYes
34WetezYes
35strangeloveYes
36BlockHunters 🎯Yes
37MultiplexYes
38coinhall.org 📈🔄Yes
39AllnodesYes
40commercio.networkYes
41BlockPIYes
42HashKey CloudYes
43KeplrYes
44✅ CryptoCrew Validators 🏆 Winner #GameOfChainsYes
45PRYZM | StakeDropYes
46S16 Research VenturesYes
47MultiChain venturesYes
48Citadel.oneYes
49CosmostationYes
50Vitwit (Previously Witval)Abstain
51ShapeShift DAOYes
52Stakely.ioYes
53Klub StakingYes
54NodeStakeYes
55DragonStakeYes
56debo[REDELEGATE FROM US]Yes
57GAMEYes
58Citizen Web3Yes
59LOA LabsYes
60Zero Knowledge Validator (ZKV)Yes
61Interstellar Lounge 🍸Yes
62MeriaYes
63decommYes
64KalpaTechYes
65NosNode⚛️Yes
66StakecitoYes
67CrowdControlYes
68#decentralizehk - DHK daoYes
69Oni ⛩️ | Stake for BoostDrop™ 🚀Yes
70Ubik CapitalYes
71Onbloc NodeYes
72Active NodesYes
73Swiss StakingYes
74Virtual HiveYes
75Stake&Relax 🦥Yes
76Nocturnal LabsYes
77🇨🇭 Vortex.live 🟢Yes
78StakeflowYes
79Ztake.orgYes
80FreshSTAKINGYes
81SunflowerYes
82StakeLab.zoneNo
83jabbeyYes
84EnigmaYes
85KilnYes
86ChainLayerYes
87IRISNETYes
88Cosmos SpacesYes
89CryptoDungeonYes
90Golden Ratio StakingYes
91windpowerstakeYes
92w3coinsYes
93Cypher CoreYes
94Kintsugi NodesYes
95redelegate_pleaseYes
96PingYes
97GATA HUBYes
98Umbrella ☔Yes
99P2P.ORG - P2P ValidatorYes
100stake.systems | autocompoundYes

View: