I would like to know if there is a way for understanding why a rpc call via python substrate-interface is failing.

On my case, I'm using python substrateinterface lib. And in function "submit_extrinsic" I failed on rpc call: author_submitExtrinsic.

I got an exception contain: {'code': 1010, 'message': 'Invalid Transaction', 'data': 'Inability to pay some fees (e.g. account balance too low)'} exception. But because I know the transaction should have been composed from valid fee and amount that shouldn't overflow the user account (exactly amount if to be accurate).

I would like to know if there is a way know exactly what was the parameters that reached to blockchain (or the before at the substrate server), to understand what went wrong when building the transaction. Or if maybe the transaction should not be fail.

thanks :)

  • Which substrate node are you using?
    – forgetso
    Feb 15, 2022 at 11:39
  • I'm using polkadot node substrate Feb 15, 2022 at 16:02

1 Answer 1


exactly amount if to be accurate

If by this you mean you are trying to drain your account to Zero, check ExistenceRequirement and how is the fee withdrawal handled in Substrate using the KeepAlive variant.

Your extrinsic will fail if you attempt to withdraw funds from your account going below the existential deposit.

  • is it possible to check from the encoded extrinsic if it called with keepAlive or not? Feb 15, 2022 at 16:00

Your Answer

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

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