Transfer-Controlled Algorand Standard Asset
Reference implementation for a Transfer-controlled Algorand Standard Asset
(TC-ASA), which extends an ASA to provide custom or more granular control aroundtransfer, mint and burn operations.
It implements the following:
- Setting a “global freeze” flag, that prevents all token transfers.
- Individually whitelisting/locking users.
Can be extended to implement any form of control over the transfer of the token,
e.g.:
- Requiring the payment of royalties when transferring the token.
- Restricting the minimum or maximum balance per user, the overall number of
token holders, etc. - Implementing vesting or minimum lock periods.
Design
The TC-ASA ties together:
- An Algorand Standard Asset (ASA), created with the
defaultFrozenflag set to
prevents allxferoperations. - An Algorand Smart Contract (ASC), which holds the
clawback,freeze,managerandreserveroles over the ASA.
All operations on the ASA require an application