# Unchecked low-level call result

Ignored call/delegatecall/send return values, try/catch gaps, and failure paths that still advance state

_Area: Smart contract access control and control flow. Seen in 20 disclosed reports; latest 2025-04-10. Updated 2026-10-22._

## How it works
A call is made and its success signal is discarded, so the caller proceeds as if it worked. The assumption that breaks: that a failed external call will surface as a revert. It won't when the result is ignored, when a try/catch only wraps the callee body (not dispatch), when a wrapper returns a boolean that is never checked, or when an SDK reports errors in a different return slot. State then advances on a failure that was never observed.

## Where it shows up
- `call`/`delegatecall`/`send` whose bool return is unused or only logged.
- `try/catch` around untrusted callbacks, especially with an empty catch; the target may lack the selector or be an EOA, reverting in dispatch outside the try [E1](https://bugbountylibrary.com/r/sherlock%3A2024-04-teller-finance%3AH-11.md).
- Overridden cross-chain/local call paths that call the executor directly and drop its success flag [E2](https://bugbountylibrary.com/r/c4%3A2023-05-maia%3AH-27.md).
- Batch/multicall executors with `allowFailure=true` that neither revert nor refund value [E7](https://bugbountylibrary.com/r/c4%3A2024-02-tapioca%3AM-16.md).
- Wrappers exposing a success flag but delegating to a syscall that panics instead of returning false [E4](https://bugbountylibrary.com/r/c4%3A2024-09-kakarot%3AM-07.md).
- Same logic in two languages where one reverts and the other returns false [E5](https://bugbountylibrary.com/r/c4%3A2024-08-chakra%3AH-09.md).
- SDK calls where the error lives in the response object, not the error variable [E6](https://bugbountylibrary.com/r/sherlock%3A2024-06-allora%3AM-13.md).
- Interface return types that don't match the deployed contract, reverting on decode [E8](https://bugbountylibrary.com/r/c4%3A2024-03-abracadabra-money%3AM-02.md).

## How to review
For every external call, identify the exact failure signal (bool, revert, response field, panic) and trace whether the caller checks it before mutating state or moving value. The invariant: a failed call must either revert the whole transaction or leave state and balances unchanged. Check that try/catch targets are known to implement the selector, that overrides replicate the messaging layer's revert-on-failure semantics, and that batch executors refund or revert on failed value-bearing actions. Diff interface signatures against deployed source.

## Variants seen
- try/catch bypassed by missing selector, blocking repayment [E1](https://bugbountylibrary.com/r/sherlock%3A2024-04-teller-finance%3AH-11.md).
- Ignored `anyExecute` false return locks bridged deposits [E2](https://bugbountylibrary.com/r/c4%3A2023-05-maia%3AH-27.md).
- selfdestruct leaves a payable address that accepts ETH with no code [E3](https://bugbountylibrary.com/r/c4%3A2022-12-escher%3AH-01.md).
- Panicking syscall makes a success flag dead code [E4](https://bugbountylibrary.com/r/c4%3A2024-09-kakarot%3AM-07.md).
- Revert-vs-false divergence strands cross-chain state [E5](https://bugbountylibrary.com/r/c4%3A2024-08-chakra%3AH-09.md).
- Error in wrong return slot defeats retry logic [E6](https://bugbountylibrary.com/r/sherlock%3A2024-06-allora%3AM-13.md).
- Failed batch action strands ETH, claimable by others [E7](https://bugbountylibrary.com/r/c4%3A2024-02-tapioca%3AM-16.md).
- Return-type mismatch reverts on decode [E8](https://bugbountylibrary.com/r/c4%3A2024-03-abracadabra-money%3AM-02.md).

## Impact and severity
Locked or stolen funds, forced loan default and collateral seizure, stuck cross-chain transactions, and permanently blocked configuration. Severity rises when value is trapped and later claimable by another caller [E7](https://bugbountylibrary.com/r/c4%3A2024-02-tapioca%3AM-16.md), or when the failure is silent and only surfaces after funds are committed [E2](https://bugbountylibrary.com/r/c4%3A2023-05-maia%3AH-27.md).

## Evidence
- E1: https://bugbountylibrary.com/r/sherlock%3A2024-04-teller-finance%3AH-11.md
- E2: https://bugbountylibrary.com/r/c4%3A2023-05-maia%3AH-27.md
- E3: https://bugbountylibrary.com/r/c4%3A2022-12-escher%3AH-01.md
- E4: https://bugbountylibrary.com/r/c4%3A2024-09-kakarot%3AM-07.md
- E5: https://bugbountylibrary.com/r/c4%3A2024-08-chakra%3AH-09.md
- E6: https://bugbountylibrary.com/r/sherlock%3A2024-06-allora%3AM-13.md
- E7: https://bugbountylibrary.com/r/c4%3A2024-02-tapioca%3AM-16.md
- E8: https://bugbountylibrary.com/r/c4%3A2024-03-abracadabra-money%3AM-02.md
