[Proposal] Exclude IBC Assets from Taxation

Current Situation

When I made the proposals about IBC reactivation to CosmosHub I had in mind to bring off-chain assets to Terra Classic so they could be traded against LUNC in a decentralized fashion - increasing the on-chain volume and therefore speeding up the burns while being independent from CEXs burning LUNC for us. The first thing I did after connection to CosmosHub was reestablished, was to transfer my ATOM to Terra Classic. I wanted to deploy it in a USTC/ATOM liquidity pool on Classic Astroport. I immediately noticed that the transaction failed because I was not submitting IBC ATOM in the “Fee” field of the transaction.

Why did I not do that? It’s because I was not expecting it. The narrative of the original proposal from VegasMorph was to reduce LUNC supply (and probably USTC - although it’s not explicitely mentioned) - not the supply of off-chain assets. So I digged out the tax code from Ed and it became very clear to me that the network was indeed charging taxes on assets like ATOM/OSMO et al.

Technical Background

What does “taxation” mean exactly in this context? Every transaction (tx) on Terra Classic has a field called “SendAmount”. This field determines which assets and how much of it we want to transfer or send to a contract along with the tx. The network evaluates all coins in that “SendAmount” field and charges taxes on it. The amount that the networks charges on a specific coin needs to be added to the “Fee” field of the tx by the sender of the tx. If the amount of taxes that the network charges is not fulfilled by the “Fee” field, then the tx gets rejected.

The current situation is that the network does not make any differences between transactions that contain lunc in the “SendAmount” field vs. transactions that contain IBC assets in the “SendAmount” field.

Proposed Changes

It is proposed to remove the taxation from off-chain assets (assets that were transferred to Terra Classic via IBC and then could be traded/used on-chain). For my reasoning please refer to the Pros/Cons section. The required code changes are publicly available in the Terra Rebels core repository:

GitHub Pull Request 34

Effects of Voting

Vote “yes” if you feel like off-chain assets should NOT be taxed when used in on-chain transactions (like MsgSend, MsgExecute). This would mean, that the chain would not collect taxes on those assets and therefore would not burn them or add them to the community pool, respectively. This proposal does not affect IBC transactions (transferring assets from chain A to chain B)

Vote “no” if you want to keep on-chain taxes for off-chain (IBC) assets. This reflects the current situation.

Discussion

The main argument against removing tax from IBC assets is that we are going to miss out on an opportunity to help funding the chain (i.e. filling the community pool). The current tax is not only burning the assets but depending on how governance sets the “RewardPolicy” parameter 50% of the taxes on IBC assets will be redirected to the community pool (current reward policy).

The narrative of burning LUNC is very strong. Since the original proposal from VegasMorph this narrative has mainly pushed the chain revival, reactivation of staking, governance restoration and attraction of outside attention. It’s so strong, that CEXs like Binance are willing to burn their profits for it. Even Osmosis may be willing to implement burn mechanisms. This strong narrative makes tax avoidance for LUNC nearly impossible. Which is absolutely fine, because the community stands strongly behind LUNC supply reduction and can justify it.

On the other hand the narrative of burning assets other than LUNC is not nearly that strong. If the Terra Classic chain taxes and burns off chain assets, this will create a strong pull towards tax avoidance. Why would you ever want to trade your OSMO, ATOM et al. on DEXs on Terra Classic if you need to pay these taxes? We - as a community - pushed IBC reactivation, because we wanted to attract on-chain utility and volume. But taxing IBC assets will make any DEXs on Terra Classic not able to compete with DEXs on other chains. So we are going to see and net outflow of capital.

Another aspect to consider is that the “RewardPolicy” parameter is applied to all taxed assets no matter what asset that is. If we for some reason decided to burn all LUNC that was collected via taxes (setting the “RewardPolicy” parameter accordingly), then the collected IBC assets would be burned as well. This makes the “collecting funds via IBC assets” narrative nearly obsolete.

Additionally, the current tax on IBC assets breaks a lot of L2 applications, mainly Classic Astroport. This does not mean, it cannot be fixed. But most of these Apps are not maintained anymore, because the teams migrated over to LUNAv2. So it might be very difficult to incentivize these teams to fix their apps on the Classic chain.

Let’s have a discussion on this! Looking forward to hear your opinions.

5 Likes

Yes please!

We want to have as much external help in any way possible and should incentivise that!

Huge Yes from me.

3 Likes

I’m sorry, I disagree with this proposal…

1 Like

Please, let us know why :slight_smile:

Thanks for the well detailed proposal @fragwuerdig. Based on the arguments provided, agree that we should exempt IBC assets from the tax.

2 Likes

I agree your opinion about funding by IBC.
But, there is no evidence for increasing tax amount when we exempt a tax in IBC.
We have to care not only fundings, but also the tax inplementation before the agreement of the failure of the tax implementation in the community.

2 Likes

I appreciate your opinion.

We wanted to increase the volume so we inherently increase the burn rate. What good is volume if it does not contribute to (still) the main task of “getting rid of the excess coins” in the chain? We even voted to reduce the (partly) burn taxation from 1.2% to 0.2%!

Somewhere along the journey, the message of WE NEED TO BURN THE EXCESS COINS has been lost. Long gone are the days when we worshiped CZ and his message that “the chain can be saved when the supply is reduced” only to be tainted by his subsequent message that “taxation hinders progress”. Seems to me we collectively chose to focus on the taxation point (a.k.a the tree) when the supply glut (a.k.a the forest) which is our actual problem is still in front of us.

I believe any proposal that does not help in removing the core problem at hand is not necessarily wrong but counterproductive at this stage.

3 Likes

As a matter of fact: Burning IBC assets won’t help us burning LUNC. But increasing utility is a way to increase the LUNC burns. Helping outside and offchain capital to flow on the chain without resistance is helping increasing utility. Therefore this proposal helps burning LUNC.

5 Likes

Doesn’t that mean that it failed because you didn’t have enough coins to pay for the USTC equivalent transaction tax?

1 Like

Yes, I agree. If we tax other assets it will push people away. This was actually a great catch and it’s good someone saw this before it really starts affect the chain.

1 Like

No.

And there is a simple technical explanation for it: Every validator has to vote on the LUNC price equivalency compared to the set of whitelisted stables (USTC, EUTC and whatnot). It’s called the oracle votes (I bet you heard that before). And these votes are rewarded from the oracle pool (heard that one too, didn’t you?).

All this means, than you can (on the L1 protocol level) convert every single native asset into an equivalent amount of USTC, LUNC or EUTC (or whatever stables are out there) - because you have a trusted set of nodes that voted on it.

But there are no oracle votes for IBC assets. So there is simply no “on-chain equivalency” between, say, OSMO and LUNC. That’s why you HAVE to pay the the taxes for IBC assets in IBC denoms. Period.

1 Like

First of all, apologies for the 1000 questions and thank you for the informative replies.

So where are those IBC denom taxes end up using the present scheme?

[For the record I don’t have any particular objection to stop burning other IBC coins, I’m ok not doing this. I am trying to understand if by doing so we could possibly make LUNC (or USTC) trading disadvantaged vs its IBC counterparts. i.e. cause a scenario that would favor selling LUNC (or USTC) for other IBC coins]

1 Like

Seems it only helps collecting some IBC assets into the community pool for using the chain. If the transaction volume is not much, it is just some dust money. Personally I support removing this tax for IBC assets.

2 Likes

Depends on the reward policy parameter. Currently 50% of accrued taxes on IBC assets are burned. The other half - like @lunc_nymph puts it nicely - ends up being dust money in the community pool.

Based on my analysis of what might have caused the volume drop before/after the 1.2% tax implementation. The Astroport Classic contract managing the LUNAC/USTC liquidity pool ranks in the top 3 volume contributing on-chain transactions.


Again that doesn’t mean anything on its’ own, just trying to understand this end-to-end more than anything :slight_smile:

I take it the funds end up in one of those “ibc/” channels in the CP, the top one with the most funds (peanuts in terms of UST value) is astroport if not mistaken.
https://fcd.terra.dev/cosmos/distribution/v1beta1/community_pool

Taxing IBC assets isn’t helpful to the chain it just creates friction for inter chain trade. I say yes to the proposal it’s a very clear cut decision.

1 Like

:+1:

if eating a few crumbs can keep us alive, move towards competitiveness,
or possibility of being competitive,
It’s another level.

1 Like

When there is 1.2 % you brought proposal for 0.2 % burn tax for on chain volume. Then what is the need exclude gain IBC for tax. That chain volume is not sufficient . You are against the burn why

1 Like

These “IBC/…” Denoms that you see in the query are really just the names of assets.

Let me explain: When you transfer OSMO to Terra Classic it gets the name “transfer/channel-72/uosmo” here on the chain. This string of characters is being pulled through some cryptography functions making this awfully complicated string of characters. Then “IBC/” is put in front of it.

So one of these “IBC/” strings is really just the name of OSMO/ATOM/JUNO in the Terra Classic language :wink: