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


1 Answer 1


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

  • 1
    This is incorrect. Contracts cannot send transactions. "Internal transactions" is a misnomer for calls between contracts.
    – user19510
    Commented Jun 2, 2018 at 21:39
  • @smarx "Internal transactions" are value transfers
    – Nulik
    Commented Jul 28, 2018 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
    Commented Jul 28, 2018 at 19:43
  • In any case, they're certainly not transactions.
    – user19510
    Commented Jul 28, 2018 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
    Commented Jul 28, 2018 at 23:56

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