Swaps
Allowance
The user allows a swap smart-contract to spend a quantity of tokens on their behalf. After the allowance is done, tokens can still be spent elsewhere by token holders.
Escrow
The user transfers the quantity of tokens they are selling to an escrow smart contract for a defined period of time, known as the expiration period. The swap contract can then withdraw the tokens from the escrow smart contract and transfer them to the buyer, when both parties have filled their commitments.
The tokens cannot be spent elsewhere after they have been transferred to the escrow smart contract and until the expiration period is reached.
The escrow smart contract appears as the holder of the tokens on the blockchain.
Holds
The user puts the quantity of tokens they are selling in their account on hold for a defined period of time, known as the expiration period.
The user allows the swap smart contract to spend the tokens on their behalf.
After the hold is done, the tokens cannot be spent elsewhere after they have been put on hold and until the end of the expiration period. The token holders appear as the holder of the tokens when looking on the blockchain.