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

Ethereum Tokens explained to Developers – Full Guide (9 tokens covered)

ERC this, ERC that... so many token standards... If you want to become good in Solidity, you HAVE to understand…

Read Story

Blockchain oracles explained in 2 mins

Blockchains can only read data which is already in the Blockchain. 

But most of the interesting data is outside of…

Read Story

Timelock in Solidity

A timelock is a piece of code that locks functionality on an application until a certain amount of time has…

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