What is a smart contract transfer?
A smart contract transfer, often referred to as an internal transaction, involves the transfer of native assets (such as ETH, BNB, MATIC, FTM, AVAX, KLAY, xDAI on Mainnet, Arbitrum, Optimism, Aurora, or zkSync platforms) from one smart contract to another, or from a smart contract to a specific address. It is a term coined by the blockchain community to describe transactions that occur within the blockchain network.
To better understand this, imagine two types of addresses: the first is a regular address, like the one you might access via a digital wallet such as MetaMask; the second is an internal address, which is typically associated with a smart contract. The transactional activity begins with the externally-owned address, while the internal address is typically involved in the execution of the smart contract, facilitating the desired operations.
When a smart contract sends ETH to a given address, it employs a specific function, often referred to as a 'message,' to alter the state of the blockchain. This change in state is a key component of how a smart contract operates. An example of this process in action is when you opt to receive tokens to a different address following a swap; the smart contract employs a message to facilitate the transfer, ensuring the tokens reach the correct destination.
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: