If you’re reading this article, there is a high chance you already know what ERC20 is, else, just a brief one…
ERC20
ERC20 is a token standard for creating fungible assets. This standard provides basic functionality and methods for the creating, transferring, withdrawal and deposit of the token, as well as cross-chain access.
Now that we know what ERC20 is, let’s dissect delegated transfer…
Delegated Transfer
Delegate Transfer is a type of transaction that performs an action on the other account’s behalf while it is conducted by another account(delegate), who actually pays fees for the transaction.
Token owners can approve another address(could be contract or EOA) to spend their token on their behalf. To do that, you need you first call the approve method on the ERC20 contract (see chart below):
Passing in the address of the spender(Address B) and the allowance. The token keeps a record of the approvals, so the spender(Address B) can call the TransferFrom method of ERC20 passing in the address of the token owner(Address A), the amount and the recipient. The token owner is then debited the equivalent amount.