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
defaultFrozen
flag set to
prevents allxfer
operations. - An Algorand Smart Contract (ASC), which holds the
clawback
,freeze
,manager
andreserve
roles over the ASA.
All operations on the ASA require an application