I am trying to figure out whether Solidity smart contracts deployed on the Ethereum main net can send transactions. In other terms, can the address of a smart contract appear as the sender of a transaction?

I've already read this thread and the definition of Transaction presented in the Ethereum Yellow paper, but I am still quite confused...


Contracts can send transactions. If you use the transfer function inside a smart contract, it will show on "Internal Transactions" on Etherscan.

| improve this answer | |
  • 1
    This is incorrect. Contracts cannot send transactions. "Internal transactions" is a misnomer for calls between contracts. – user19510 Jun 2 '18 at 21:39
  • @smarx "Internal transactions" are value transfers – Nulik Jul 28 '18 at 19:40
  • @Nulik If you mean that the tab labeled "internal transactions" on Etherscan shows only the calls between contracts that include attached ether, I think you're right. But I haven't seen any documentation from them on the subject. – user19510 Jul 28 '18 at 19:43
  • In any case, they're certainly not transactions. – user19510 Jul 28 '18 at 19:44
  • @smarx, of course they aren't transactions. I just meant, a proper concept would be "value transfer", in fact, Nick Jonson from Ethereum Foundation was the first to call them this way in his tool "etherquery" – Nulik Jul 28 '18 at 23:56

Not the answer you're looking for? Browse other questions tagged or ask your own question.