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...

New contributor
emil is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
  • Looks like you have not imported the owner keys for that account. – Nat Jul 23 at 15:30
  • Never mind, I figured it out. It was because of bad chain id. – emil Jul 23 at 23:21

Your Answer

emil is a new contributor. Be nice, and check out our Code of Conduct.

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.