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
    Commented Feb 15, 2022 at 11:39
  • I'm using polkadot node substrate Commented 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? Commented Feb 15, 2022 at 16:00

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.