Crypto glossary

Internal transaction

Definition

An internal transaction is a value transfer or call made by a smart contract during execution, shown by explorers separately because it has no hash of its own.

On Ethereum only externally owned accounts sign transactions. When such a transaction calls a contract, that contract may call other contracts or send ETH to addresses as part of its logic. Those nested actions are not separate transactions on the chain; they are message calls within one transaction. Block explorers reconstruct them by tracing execution and list them in an internal transactions tab.

They matter whenever ETH moves because of contract logic: receiving funds from a multisig, withdrawing from a DEX that unwraps WETH into ETH, or getting a refund from a bridge. Users who see a balance change but no normal incoming transaction will usually find it there. Token transfers, by contrast, appear as event logs and are listed under token transfers.

Because internal transactions are derived from execution traces, not stored as separate records, displaying them requires tracing-enabled nodes, and different explorers can show them differently. Tax and accounting tools that ignore them may miss income. They also make analysing complex DeFi interactions harder, since one transaction can contain dozens of nested calls.

Example

A user withdraws ETH from a lending protocol; their transaction calls the protocol, which calls the WETH contract, which sends ETH back, a transfer that only appears in the explorer's internal transactions tab.

Related terms