1

I have a reserved balance on my account of n DOT but I cannot remember what I did that would cause the amount to be reserved.

Is there a way that I can discover the reason for the reservation, and ultimately what I need to do to free up the reserved balance?

2 Answers 2

1

I must say, this is quite inconvenient.

Unlike the balance lock, there's no "reserve ID" available for this.

Ideally, a good pallet should keep a record of such transactions. For instance, when setting a proxy on the blockchain, the proxy pallet should store how many tokens were allocated for reservation in storage.

Previously, removing a pallet without releasing the reserved funds could permanently lock those tokens. Worse still, some problematic pallets failed to keep records; they relied solely on a runtime-configured dynamic formula (e.g. T::DepositAmount::get()), which could change with any runtime upgrade. If they forget to provide a migration, the funds will also be locked forever.

All these factors need to be taken into account.

If everything work as expected, the most accurate method is to check all pallets and determine their reservation storage.

3
  • Yes it's extremely annoying that the Polkadot chain itself does not record what this reserve was for. It basically means that unless you go to their-party sites and trawl through transactions you will have no idea how what constitutes the reserved amount or what you need to do to get your funds back.
    – T9b
    Commented Apr 11 at 12:22
  • And I think you can follow up this issue github.com/paritytech/polkadot-sdk/issues/236
    – aurexav
    Commented Apr 11 at 13:00
  • This doesn't really help with already reserved funds.
    – T9b
    Commented Apr 16 at 10:13
0

Maybe you set an identity or a proxy ? As mentioned in the wiki these can be two possible reasons for your reserved funds. If that is the case, as soon as you clear the identity or remove a proxy, your funds will be unreserved/freed.

You could also use an explorer like Subscan to check the extrinsics related to your account. For example, if you check in the extrinsics list of this account you will find two calls alongside others :

  • identity (set_identity) and
  • identity (set_subs) call

By clicking on either of these extrinsics (22676473-2 or 22676503-2) to see the details (e.g. events triggered for set_subs) you will see a balances (Reserved) event, indicating some funds were reserved.

2
  • 1
    There's clearly more than two reasons. Buying a parachain ID is at least one, teleporting coins to another network is another.
    – T9b
    Commented Apr 16 at 10:14
  • Certainly. I just mentioned two possible reasons why the balance might be reserved. I did not say these are the sole reasons.
    – dominique
    Commented Apr 17 at 6:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.