I am trying to use subxt (latest master branch) to submit transactions on our substrate chain. I get the following error:

 actix_web::middleware::logger] Error in response: SubxtError(Rpc(ClientError(Call(Custom(ErrorObject { code: ServerError(1002), message: "Verification Error: Runtime error: Execution failed: Execution aborted due to trap: wasm trap: wasm `unreachable` instruction executed\nWASM backtrace:\nerror while executing at wasm backtrace:\n    0: 0x17a85a - <unknown>!rust_begin_unwind\n    1: 0x161756 - <unknown>!core::panicking::panic_fmt::h55a9886e2bf4227a\n    2: 0x6b01a - <unknown>!TaggedTransactionQueue_validate_transaction", data: Some(RawValue("RuntimeApi(\"Execution failed: Execution aborted due to trap: wasm trap: wasm `unreachable` instruction executed\\nWASM backtrace:\\nerror while executing at wasm backtrace:\\n    0: 0x17a85a - <unknown>!rust_begin_unwind\\n    1: 0x161756 - <unknown>!core::panicking::panic_fmt::h55a9886e2bf4227a\\n    2: 0x6b01a - <unknown>!TaggedTransactionQueue_validate_transaction\")")) })))))

The same transactions work just fine from https://polkadot.js.org/ RPC query methods are also working fine via subxt.

  • provide reproducible example
    – dadzerlaze
    Commented May 22, 2023 at 14:49
  • what is the transaction? Commented May 24, 2023 at 5:59

2 Answers 2


I was able to fix this by using the subxt provided PolkadotConfig rather than my custom config that was based on SubstrateConfig. There must be some differences I was not able to determine relating to extrinsic validation.


Glad you figure it out!

We are also providing an example here on how to setup a custom client Config.

Although, we encourage the users first to try the Polkadot/Substrate config. If that doesn't work, go one step lower in the stack, and implement their own config when targeting some custom chains (ie, parachains that differ from the configs we provide).

One tricky area around having a custom config may be the type ExtrinsicParams, but in practice, any other fields can diverge.

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.