This project provides a standardized method to retrieve the circulating supply of Algorand Standard Assets (ASA) in compliance with the ARC-62 proposal. It aims to enhance transparency, consistency, and usability within the Algorand ecosystem by enabling precise and customizable definitions of circulating supply.
For detailed information and specifications, refer to the official ARC-62 documentation.
- ARC-62 Compliance: Implements the
arc62_get_circulating_supplyABI method to calculate and retrieve the ASA circulating supply. - Customizable Definitions: Supports exclusions such as burned, locked, and other non-circulating balances.
- Seamless Compatibility: Integrates with existing Algorand standards, including ARC-3, ARC-19, and ARC-69.
- Auto-Discovery: Automatically identifies and retrieves external references needed for calculation.
- Open Source: Fully open-source, encouraging community contributions and adoption.
- Blockchain: Algorand
- Smart Contracts: TEALScript
- Development Tools:
- Version Control: GitHub
The application is hosted on GitHub Pages and can be accessed here. Explore how this tool simplifies fetching and verifying the circulating supply of ARC-62 compatible assets.
-
Clone the repository:
git clone git@github.com:satishccy/ASA-ARC-62-Upgrader.git && cd ASA-ARC-62-Upgrader
-
Start the Algokit Localnet:
algokit localnet reset
-
Compile the smart contracts:
cd projects/Arc62-contracts && npm install && npm run build
-
Return to the root directory:
cd ../.. -
Install frontend dependencies and run the application:
cd projects/Arc62-frontend && npm install && npm run dev
The frontend will be available at http://localhost:5173/.
- Enter the asset ID managed by your connected wallet.
- Select the network (e.g., TestNet, MainNet) from the dropdown menu.
- Click the "Fetch Asset" button.

- If the asset is not ARC-62 compatible, input the following addresses:
- Burner Address: Address holding burned tokens.
- Locked Address: Address holding locked tokens.
- Generic Address: Address holding other non-circulating tokens.
- Click "Make ARC-62 Compatible" and sign the transactions in your wallet.


- After compatibility is established, click "Get Circulating Supply" and sign the transaction to retrieve the current circulating supply.

-
Connect Wallet:
-
Fetch Asset:
-
Get Circulating Supply:
- Integrate the
arc62_get_circulating_supplymethod into your ASA projects to dynamically retrieve circulating supply. - Extend or modify the logic to suit specific use cases, such as regulated assets or gaming tokens.
- Use the getter method to display accurate circulating supply information for users.
- Customize circulating supply definitions by assigning dedicated addresses for non-circulating balances (e.g., burned or locked tokens).
We welcome contributions to improve the project! Follow these steps:
- Fork the repository.
- Create a feature branch:
git checkout -b feature-name
- Commit your changes:
git commit -m 'Add feature-name' - Push the branch:
git push origin feature-name
- Open a pull request on GitHub.
This project is licensed under the MIT License. See the LICENSE file for details.
Feel free to reach out via email for questions, suggestions, or collaboration opportunities.
