How to transfer Ether between 2 smart contracts?

Julien Klepatch

Sending Ether between smart contracts is very important. After all, it’s because smart contracts can do financial transactions that they are so powerful.

But surprisingly there are a few caveats when you want to send ether from a smart contract:

  • Transfer units are in wei (10^-18 ether), not ether
  • There are several functions to do the same thing
  • If the recipient address has the `address` type, it does not work…

huh?

Alright, without going through all the details, you can just copy paste this snippet in your smart contract:

contract A {
  transferEther(address payable recipient) external {
      recipient.transfer(1000);
  }
}

This means “Send 1000 wei from the A smart contract to the recipient address (can be another smart contract or a regular address controlled by a human).

BONUS TIP: instead of 1000 you can also use some of the pre-build units of Solidity, such as 1 ether.

If you want to see a more thorough explanation of ether transfers from smart contracts, I have created a short video on youtube. Check it out it’s free!

And if you want to have even more practice with financial transfers in Solidity smart contracts, check out Dapp 30, a complete Solidity course where we build 30 smart contracts, test them, and build a frontend for them (full Dapps).

0 Comments

Leave a Reply

More great articles

How to generate a random number in smart contract?

Generating a random number in a smart contract is very useful, especially for games. Can we do this in Solidity?…

Read Story

Ethereum Technical Writer / Developer Needed

Hi, I am looking for an Ethereum developer to be a technical writer on this website. The job is to…

Read Story

Geth source code explained in 2 mins


In this article, we will dive into the source code of Ethereum. 

Most Blockchain app developers will not go this…

Read Story

Never miss a minute

Get great content to your inbox every week. No spam.
[contact-form-7 id="6" title="Footer CTA Subscribe Form"]
Arrow-up