Hey everyone, this is the official discussion thread for the ASA Stats Permission dApp xGov proposal ASA Stats Permission dApp | xGov .
https://github.com/asastats/permission-dapp/
This proposal builds upon the successfully funded proposals xGov-70 and xGov-141 (Securing ASA Stats API high availability for the next 2 years). Our primary motivation remains unchanged: to secure development funding for the Algorand ecosystem’s only portfolio tracking API provider. Furthermore, the new xGov system aligns perfectly with the core ASA Stats mission defined in our whitepaper — to gradually open-source the ASA Stats codebase.
Pull request in the Crypto Ecosystems repository
About
The Permission dApp (Mainnet) enables the ASA Stats engine to retrieve permission values, which control access to additional features for all ASA Stats subscribers and DAO Governors.
Beyond permissions, the dApp also records the number of votes for each ASA Stats DAO governor and is designed to serve as the foundation for future DAO voting sessions.
Background
Beginning with the initial Open Letter and continuing through the latest update, a total of 141 governors have been selected for the ASA Stats DAO over the last four years.
Each of these official documents defines the exact number of votes for every governor. These seat votes are maintained in the Permission dApp repository within JSON files associated with the corresponding documents. The number of votes per governor seat correlates directly with its permission value at a 1:1,000,000 ratio.
ASA Stats users subscribed to a dApp on the Subtopia.io platform receive additional service permissions based on predefined values.
Until June 2025, all participants in the official ASA Stats governance staking programs also had access to additional features, and their permission values were similarly recorded in the Permission dApp.
How It Works
-
Smart Contract: The creation code is located in the
contractmodule, which outputs the contract to theartifactsdirectory. -
Deployment: Code for deploying the contract on Mainnet or Testnet is in the
deploymodule. -
Initial Data Population: The code for the initial population of the dApp’s Algorand boxes with DAO governor data is in the
foundationmodule. -
Data Updates: The code for updating the dApp’s Algorand boxes with data from subscription dApps and staking programs is in the
networkmodule.
Why It’s Useful
While this dApp was built to track ASA Stats DAO votes and permissions, the codebase is designed to be adaptable for any project that requires measurable on-chain statuses to be tracked. If you have a use case in mind, I’m happy to help you adapt it for your needs!
-
Comprehensive Testing: All code is fully covered by unit tests. Additional integration tests, focused on dApp security, run on Algorand Testnet.
-
Continuous Integration: The repository uses GitHub Actions to test every commit against three different Python versions.
-
Full Documentation: The codebase is well-documented, and the documentation is automatically built with each commit and hosted on the Read The Docs platform.


