Balance of Contract in Solidity

Published by Mario Oettler on

Getting the balance of a contract can be useful for example when someone wants to transfer all funds from a contract to another address. The command is:

uint256 balance = address(this).balance;

The key word “this” refers to the instance of the called smart contract.


The following example shows a smart contract that returns the balance of itself. Notice the payable keyword for the constructor in line 5 to be able to send funds to the smart contract during deployment:

pragma solidity 0.8.20;

contract BalanceTest{

    constructor() payable{

    function getBalance() public view returns(uint256 _balance){
        uint256 balance = address(this).balance;
        return balance;