What is a smart contract transfer?

A smart contract transfer, also known as an internal transaction, is a transfer of a native asset (ETH: Mainnet, Arbitrum, Optimism, Aurora/BNB/MATIC/FTM/AVAX/KLAY/xDAI) from a smart contract to another smart contract or address. These types of transfers are referred to by the community as an internal transaction. You can imagine two addresses, the first being a normal address like what you would access through metamask and the second being an internal address. All activity will start with the externally owned address while the internal address is used by or with a smart contract making things happen. Whenever the smart contract delivers ETH to an address, it uses a special function, called a message, to change the state of the blockchain. This is what happens when you decide to receive tokens to a different address after a swap:

What does it mean for me?

A smart contract transfer of a native asset are value transfers and can't be detected as a normal transaction without a full node. The balance change will still reflect on the balance of the address though. It's very difficult to get a contract native asset transfers which is why a majority of exchanges do not support these types of deposits.

What exchanges do support these types of transactions?

Most exchanges do not but here is a list of exchanges that claim to support these types of deposits:


Other references:

CoinMarketCap
StackOverflow
Etherscan.io
Ethereum YellowPaper

Did this answer your question?