Request for Assistance with Trapped Asset Issues on Polkadot Relay Chain

Hello Polkadot Tech Team,

We’re reaching out on behalf of the Fearless Wallet users who have experienced an issue when transferring assets from the Polkadot relay chain to some parachains using the full balance and not taking existential deposit into account. Unfortunately, during these transactions, our users’ assets become trapped on the relay chain.

Our development team has made several attempts to assemble extrinsics that would allow the users to reclaim their assets. However, due to the complexities related to high transaction fees and the experimental nature of these solutions, we’ve faced significant barriers to creating a successful protocol.

Given the technical challenges we’ve encountered, we are seeking guidance or possible solutions that could facilitate the extrinsic assembly process. Our goal is to ensure our users can safely and efficiently claim back their assets without further complications.

Any insights or support you can provide would be greatly appreciated. Thank you for considering our request, and we look forward to your valuable feedback.

Best regards,

Sergey Petrov
Fearless Wallet

1 Like

You are missing out a lot.

Or you can just use the Fork Locally in pjs apps, which integrates with Chopsticks
Screenshot 2024-05-08 at 10.50.30 PM

can you share an example?

1 Like

Hey Sergey, can you please post some example xcms that resulted in funds getting stuck?

1 Like

First of all, thanks a lot for the prompt reply.
Here’re cases we have:
Subscan | Aggregate Substrate ecological network high-precision Web3 explorer - the 1st user
Subscan | Aggregate Substrate ecological network high-precision Web3 explorer - the 2nd user
Subscan | Aggregate Substrate ecological network high-precision Web3 explorer - it’s our test account where we reproduced the case

Can you please clarify what “chopsticks” actually means?

In the examples you shared, the error is indeed not leaving enough assets on the account.
The sender account was killed because it didn’t have the existential deposit, however, it can be made active again by putting some funds in.
The assets get trapped in the sender chain, so thankfully they can be claimed by the affected users calling the claim_assets extrinsic on the XcmPallet.
I made a guide here: Claiming assets in Polkadot/Kusama - HackMD
I know Polkadot JS Apps is not the best UX for users, so feel free to ask questions, the most important thing is for them to use put the same things that appeared in the AssetsTrapped event, that event is available in the subscan you shared.

2 Likes

Thank you so much for the detailed explanation and the guide provided.
We’re aware of how ED works and we fixed the wrong behaviour on the client side.
However a couple of users have suffered and we have to help them to fix the case and to claim their assets back.
Let me try it out following your guide and I’ll get back to you soon with our outcome.
And thank you once again!

Tracked: [xcm] account reaped at sender despite transactional processing · Issue #4412 · paritytech/polkadot-sdk · GitHub

Thanks @SkyForger for the detailed report!

1 Like

It’s still concerning that the whole transfer fails AND the assets get trapped.

I was under the impression that in recent runtimes the behavior is much more consistent and friendly:

  • transfer goes through and the local account is killed because of lack of ED (but transfer is successful)
    or,
  • transfer fails, and whole thing is NOOP (just pays tx fees), no assets are trapped.

Example Subscan | Aggregate Substrate ecological network high-precision Web3 explorer it is from 70 days ago. Which runtime version/spec was live then?

@francisco.aguirre
Is it possible to reach out to you in DM somehow.
I tried to follow your instructions but got an error.
Can you have a look what’s wrong with the extrinsic?

Appreciate your help very much!

Sure, the assets amount trapped on the original extrinsic was 19_035_930_000 (using underscores as a thousands separator), while the assets amount specified in the claim extrinsic is 190_359_300_000 (one extra zero), if you pass in the exact amount, it should work, all the other parameters are okay :grin:.

If you have any more problems, you can always post on https://substrate.stackexchange.com/ and tag it xcm, I’ll see it, and it’s the place where most people would search for troubleshooting answers.

2 Likes

Got it. And successfully claimed my assets.
Thank you so much for your support.
I’m gonna prepare a step by step manual for our users about claiming.
I think we have very similar cases.

4 Likes