Hello everyone,
I’m working on gathering information about SNS treasury tokens for various projects, and I’ve encountered a challenge I hope to get some guidance on.
My specific example involves the OpenChat project.
Goal:
I aim to identify how many tokens are in the SNS treasury.
For ICP, this process is straightforward:
- Go to the SNS page: ICP SNS Dashboard
- Locate the governance canister in the “Canisters” section: Governance Canister
- Derive its wallet address using the command:
dfx ledger account-id --of-principal 2jvtu-yqaaa-aaaaq-aaama-cai
This produces:
a2200978cf15fa0d19b7c7eb75cc5d6d3ebabbacaec64a2a9a3f811277619c57
- Search for that account on the dashboard: Account Info
For the CHAT token ledger, I tried to follow a similar process. However, while the CHAT ledger balance shows 0
, I noticed that funds are instead located in a subaccount: Subaccount Example
Question
What is the best way to derive and access this subaccount on-chain to confirm the treasury balance?
For context, I’m part of the ICPTokens team, and we are working to aggregate and calculate SNS token supplies.
Specifically:
Circulating Supply = Total Supply - Treasury Balance
We also aim to display what percentage of circulating tokens are locked in neurons.
Any advice or best practices would be greatly appreciated!