Sufficiency on assethub

I’ve got a question about sufficiency on the assethub.

Currently, if I want to get usdc from binance to moonbeam I need to:

  • create a substrate wallet
  • add 1 dot (for existential deposit) plus enough for gas to that wallet
  • then I can withdraw my usdc
  • and xcm it to moonbeam (MB is an example but the same is true for any parachain)

It’s the second step that makes things awkward.

I understand that assethub will soon gain the ability to pay gas fees with any token (first question is, when is this planned to launch?).
But will this change also affect the Sufficiency requirement of 1 Dot?

My hope is that the answer is Yes, because otherwise the ux improvement that you get from any-asset gas fees would become moot.

And then as a follow-up: is it through the new assethub dex that this feature will be supported? If so, will Parity be providing initial liquidity to it?

This is an important topic for all parachains, and I really hope we can get this working smoothly.

1 Like

You don’t need to do this, you can use USDC directly, today, without any DOT.


yeah, but if you want to XCM [USDC] from AH to Moonbeam, you need to have [DOT] as a cross-chain fee

btw, if we want to XCM [PINK] from Moonbeam to AH, we need to have [DOT] as ED on AH, even with [USDC / USDT] on the AH account. eg, I wanted to XCM [PINK] from Moonbeam to AH, and I already have some [USDC / USDT] there. however, the XCM failed to execute on AH because of the ED

1 Like

No, this is just not true. I understand this may have happened, but it’s a misconfiguration of the wallet or UI that you’re using.

1 Like

what exactly is not true?

1 Like

That you need DOT to pay XCM fees or that you need DOT in addition to USDC/T to support holding other assets.

1 Like

so, you’re saying that’s a misconfiguration of the Moonbeam UI? let me try other apps / wallets as well

1 Like


I mean he says it himself, Hydra did not configure AH as a reserve chain. But other chains (like Polimec) have done this.

It could be the UI or wallet or how Hydra/Moonbeam constructs the XCM program that they send to AH.

I guarantee you that from a technical perspective there is zero difference between your account having USDT/C vs. having DOT on Asset Hub. They are all sufficient for account existence and all valid assets in which to pay transaction fees.

However, if Moonbeam or Hydra tries to send an XCM program that tries to pay for fees in DOT, then yes obviously you need DOT.


but what about this?

@joepetrowski If I send you some USDT on AH, could you XCM it to Moonbeam or any other parachain without having DOT as the fee? also, if I send you some PINK on Moonbeam, could you XCM it to AH without having DOT as ED? I believe you can build a XCM tx yourself without relying on any UI

AH supporting USDC/T for ED and fees is not enough, so must the parachains (e.g. Moonbeam, HydraDX, etc) before this DOT-less XCMs can work.
Also note that the XCM programs themselves also need to change to use e.g USDT instead of DOT for fees.

Yeah, here is a freshly generated account, never used: 14r7HsToLvNGFGo3RKKehh7jLKF4YHdAaHUi5bDF8XQaoB4k

Can try, but it depends on the runtime of Moonbeam and what XCM execution it allows. Here is an address for Moonbeam: 0xD0b62E32471F589aCC77e87fF35CBE845Dae5980

sent you USDT and xcPINK ( 0xfFfFFfFf30478fAFBE935e466da114E14fB3563d > 10 decimals )

just a fun fact: while transferring USDT to you, my AH [DOT] balance was 0, and my USDT balance was about 13 [USDT] – I couldn’t send you the USDT because I received an error message: “Inability to pay some fees error” :slight_smile:

then I teleported some DOT to my AH account, and the tx went through :))) so, it seems that even polkadot js apps is misconfigured


PJS Apps was never known for good UX :slight_smile:
I did request this quite a while ago: Feature Request: Add `ChargeAssetTxPayment` Signed Extension for Sufficient Assets · Issue #7812 · polkadot-js/apps · GitHub

Will make some example transactions for you in the next day or two without any DOT.

1 Like

neither Talisman, Subwallet, nor Nova wallet allows you to send USDT / USDC without paying with DOT as the network fee. this issue persists across the UIs of the parachains, suggesting a widespread misconfiguration. perhaps we need better communication with devs within the ecosystem to ensure they follow the correct instructions?

1 Like

I never quite understood. What’s the point of sufficiency?

Yes for sure, there are a lot of UX improvements that are possible without any changes to the Polkadot protocol.

I think this thread is a good example of the point, that some assets (sufficient ones) are sufficient for account existence and fee payment, although with Asset Conversion on the way the latter reason kind of goes out the window because everything will be usable for fee payment.

So with the increasing number of sufficient assets, wallet projects and exchanges in the ecosystem need to be constantly tracked and modified. This development experience doesn’t get any better.

What increasing number? There are USDT and USDC, nothing else. And you can read on-chain which assets are sufficient; it can all be automated.