Skip to main content

Unchecked Return Values

What it detects

When calling external contracts, ignoring the success flag or return value can hide failures. This detector points out low-level call or ERC20 transfer returns that are not checked, potentially leading to inconsistent state.

Typical symptoms

  • Results of call, delegatecall, or token transfers unused
  • No require statement for the returned boolean

Solidity snippet (v0.8.25)

pragma solidity ^0.8.25;

contract NoCheck {
function sendEther(address payable to) external {
// Return value ignored
to.call{value: 1 ether}("");
}
}

Why it matters on EVM

Unchecked return values can cause silent failures, leaving contracts in unexpected states or losing funds.