Asset Hub Brainstorming Session - Call Notes and Discussion Continuation

,

I want to expand on one of the topics:

What: single asset can pay fees across the ecosystem

If we want minimal-friction UX, more apps flexibility, and to maximize adoption across the ecosystem (not just Asset Hub), we need ubiquitous support for same single asset being able to pay for all fees on all chains.

This single asset can be DOT or USDT or USDC (or other?), or even all three. The crux of the matter is to be able to pick one asset for paying fees then effortlessly glide across the Polkadot ecosystem.

How: JIT swaps or native weight trader

There is another thread discussing ability to completely use USDT/C for paying all fees on Asset Hub (on top of or as an alternative to already supported DOT): Sufficiency on assethub - #22 by joepetrowski

The plan for Asset Hub is to use pallet-asset-conversion and allow JIT swaps from any asset to DOT and thus effectively pay fees in that asset (where “any asset” could be USDT and/or USDC and/or anything).

The catch here is that for JIT swaps to work, the chain needs a local liquidity/swap pool for DOT and said asset. So, in practice, it won’t really be “anything”, but only assets that have pools set up against DOT and also have healthy liquidity in them so as not to get burned/pwned on swaps.
For our desired outcome of paying fees in USDT or USDC, this is fine, I expect on AssetHub to have a DOT/USDT pool and a DOT/USDC pool and both to hold healthy amounts of liquidity.

But what about all other chains?

We can’t realistically expect all Polkadot chains to deploy pallet-asset-conversion and USDT/DOT pools. Even if they did, we could never lock enough liquidity in all of them. It would just fragment the (not that big) existing market maker’s liquidity, and it’d be a bad idea anyway to force this kind of business-specific operation to chains that have unrelated business usecases (it’s a non-starter even for system parachains - who would provide liquidity on BridgeHub or Collectives, etc - they have a completely different purpose).

The only other way known to me is to configure weight traders for each of these assets we want to be able to use for fees, and natively pay with them.
This is (technically) very simple to implement, and has near zero maintenance overhead.
AFAICT the only challenge here is economical in nature - it takes away some of the utility of any utility token that was also being used to pay for fees.

Chains that really need/want that utility, could still maintain it by allowing adjustments to the stable coin weight trader to track the native asset (utility token) value (same principle as doing asset-conversion but maybe with more relaxed requirements - price tracking could be offchain, price adjustments could happen less often, etc).

Who: which asset?

The obvious choices for me are DOT and/or one/two stable coin(s). Both of which have advantages and disadvantages and need economic analysis, so we can spin that off to a separate thread if we agree we want it to begin with.

2 Likes