I am trying to sign transaction and push manually using eosjs.

  const signatureProvider = new JsSignatureProvider([privateKey]);

  const sigResult = await signatureProvider.sign({
    chainId: chainId,
    requiredKeys: [publicKey],

I can see it's signed, but when I push the transaction, I get following error.

  "code": 500,
  "message": "Internal Service Error",
  "error": {
    "code": 3090003,
    "name": "unsatisfied_authorization",
    "what": "Provided keys, permissions, and delays do not satisfy declared authorizations",
    "details": [
        "message": "transaction declares authority '{\"actor\":\"MYUSER\",\"permission\":\"owner\"}', but does not have signatures for it under a provided delay of 0 ms, provided permissions [], provided keys ${provided_keys}, and a delay max limit of 3888000000 ms",
        "file": "authorization_manager.cpp",
        "line_number": 532,
        "method": "check_authorization"

Any idea what is causing the issue? I am using the correct private & public key for that actor...

  • Looks like you have not imported the owner keys for that account.
    – Nat
    Jul 23, 2021 at 15:30
  • 1
    Never mind, I figured it out. It was because of bad chain id.
    – emil
    Jul 23, 2021 at 23:21

1 Answer 1


solved by the question author: "Never mind, I figured it out. It was because of bad chain id"

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.