cleos push transaction --skip-sign '{"compression":"none","transaction":{"expiration":"2018-09-18T08:44:59","ref_block_num":2513,"ref_block_prefix":4093373029,"max_net_usage_words":0,"max_cpu_usage_ms":0,"delay_sec":0,"context_free_actions":[],"actions":[{"account":"eosio.token","name":"transfer","authorization":[{"actor":"bx.hotwallet","permission":"active"}],"data":"90558c8667da403f107034dcdcd4b2e3010000000000000004454f5300000000127769746864726177616c2066726f6d204258"}],"transaction_extensions":[]},"signatures":["SIG_K1_K1DM3k8TUaA6rhgDRhvgHYbfEFjnhYgyp5DScDimanprNKEd794C1D12wQpf1m2cJVVY7fqETaFvrQPxPdiMsiwF6SQNHx"]}'
Error 3040005: Expired Transaction
Please increase the expiration time of your transaction!

it is created using eosjs with expiration time 1 hour in the future.

2 Answers 2


Found an answer on https://www.npmjs.com/package/eosjs?activeTab=readme

cleos expects a bit different structure of json. something like this:

transfer = await eos.transfer('inita', 'initb', '1.0000 SYS', '')
transferTransaction = transfer.transaction


// cleos version:
const cleosTransaction = transferTransaction.transaction
cleosTransaction.signatures = transferTransaction.signatures
const json = JSON.stringify(cleosTransaction)
// cleos push transaction $json

Each transaction should have expiration time, this exception means that your ref_block time greater than your expiration. You can fix it, by increase expiration time.

  • expiration time 1 hour in the future Sep 18, 2018 at 10:14
  • You should check not "future time", but ref_block time! Sep 18, 2018 at 10:16
  • well actually i do exactly that. Sep 18, 2018 at 10:18
  • Ok, what is "max-transaction-time" in your config? Sep 18, 2018 at 10:22

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.