Transfers vs Transactions : What is the difference?

Transaction

A blockchain transaction is a unit of data that is recorded on a blockchain. It can be used to transfer ownership of tokens or to update the state of a smart contract.

Transaction vs Transfer

The terms “transaction” and “transfer” are often used interchangeably, but they are technically different.

Transfers are part of a transaction.

For example this transaction Transaction 0xb8c656ff428d37fa02f48577191a9703937673dffe1f7ff631d6f38fb75d069c | Ethereum Mainnet has multiple transfers in it.

A transfer is a specific type of action that involves the movement of digital assets from one address to another.

So 1 transaction can have 0 or more than 1 transfers.

Transfers

Internal vs External Transfers:

Transfers can be internal or external. Internal transfers are the value transfers that happen “within” a certain transaction, as a result of possibly many smart contract interactions.

The following Ethereum transaction has multiple internal transfers

Transfers Ethereum Mainnet 0x85d623afdcc8c9fd8a4911d217a9372c393b4e42597ae4d3aae32c8428d3d07a (bitquery.io)

For internal transfers the field

  • External= false

The transfer of 1.01 ETH from 0x1111111254eeb25477b68fb85ed929f73a960582 to 0xdf1f6587aa741ff62cabb9bed8dad062713cf3ec is internal.

Internal transfers are those that are executed within the context of a contract, and they do not require any external calls. This means that they do not need to pay for gas to interact with other contracts or the blockchain, so the gas limit is set to 0.