Hey everyone, this is the official discussion thread for the ASA Stats Permission dApp xGov proposal.
Pull request in the Crypto Ecosystems repository
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.
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.
Why a Resubmission?
My previous attempt failed due to specific circumstances. The proposal was the very first to be voted on by xGovernors on the renewed platform. Across the Algorand ecosystem’s community channels, many users — as well as Algorand Foundation officials and xGov Committee members — emphasized that the proposal was a victim of circumstance as the inaugural vote and that a resubmission is strongly justified. If nothing else, the Algorand Foundation’s immediate response and the subsequent deployment of xGov 2.0 speak in its favor.
The initial plan for the resubmission was to request 25,000 ALGO (a decrease of 2,000 ALGO) to meet the lower approval threshold of 30%. However, xGov 2.0 has implemented a sliding-scale quorum, and the market has since changed significantly. The original valuation of US$5,000 — calculated based on the actual costs of time and work involved — would have been reduced to approximately US$3,000 under the new conditions. Therefore, I have opted for a decrease of 20% in the absolute value instead.
Beyond these reasons, the previous discussion has served its exact purpose. The repository and proposal have been updated based on community feedback!
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
-
Comprehensive Testing: Every branch in the repository is covered by unit tests, maintaining 100% test coverage as one of the project’s key goals. The Permission dApp smart contract code is also fully covered by unit tests. Its integration with the blockchain is comprehensively tested using Algorand Python Testing on a localnet, as well as with a suite of integration tests run against a deployed application on Algorand Testnet.
-
Continuous Integration: The repository uses GitHub Actions to automatically test every commit against two different Python versions.
-
Full Documentation: The code is well-documented, and we automatically build and publish the documentation to Read the Docs with each update (Welcome to ASA Stats Permission dApp documentation! — ASA Stats Permission dApp 0.7.0 documentation).
-
Novel Open-Source Contribution: For the first time in an open.source repository, we present methods for fetching on-chain data from Cometa decentralized applications and derivatives, as well as from Subtopia.io applications.
-
Available for Adoption: While ASA Stats uses this dApp to track DAO governor votes and permissions, the repository can be adapted by any organization seeking to manage measurable internal statuses.