Are governance commitment amounts larger than wallet balance possible?

Hello all,
I’ve been exploring the Algorand Foundation’s governance API with curl and Python to understand how period 1’s eligible committed Algo sum compares to period 2’s current committed Algo sum. I found
an address that appeared to commit an extremely large number of Algos to period 1. Below is the address:


My account here is new so I can’t post links, but if you search the address in you can verify the transactions I mention. The “text” dialogue box under “notes” in’s view of the address’ largest transaction shows the following string: af/gov1:j{“com”: 1379891347000000}.

I interpret this note to mean the address committed 1.38 billion Algos to governance period 1.

My interpretation doesn’t make sense when I consider the algorandstats’ governance period 1 dashboard. The algorandstats’ period 1 dashboard has a graph of committed algos vs time that peaks around 1.9 billion Algos. If the address in question really committed 1.3 billion algos and then became ineligible, the remaining eligible governance 1 commitment would be less than 1 billion – a figure inconsistent with the Foundation’s governance report.

I can think of four possible explanations for my issue:

  1. My interpretation of the address’ commitment transaction is incorrect
  2. I’m looking at some type of test Algorand address that doesn’t represent a “real” user
  3. There is a bug with the Foundation’s Algorand governance API
  4. Users are able to commit arbitrarily large amounts of Algo to governance, however these commitments become automatically ineligible because the committed Algos are not backed by the address’ holdings

Any thoughts on whether any of these explanations are correct? Or, is there another possible explanation I haven’t thought of?

Thanks in advance!

Just for the sake of completeness, the transaction mentioned is:

Explanation 4 is the correct one.
Nothing prevents people sending incorrect commitments that are much higher than their balance. That just makes their account ineligible.

As to why this happened, my guess is that the owner of the address mistakenly added 000000 at the end of the commitment value. Indeed you can see on Algorand Transaction, that their balance was at the time 1,380.890347, which is one Algo above 1379891347 microAlgos (the amount without the 6 trailing zeroes).

Thanks for clarifying option 4 as the correct explanation.

Do you have any recommendations on the best way to programmatically extract the peak sum of “true” committed Algos per governance period? My understanding is the foundation’s API can return every governor’s address, the amount committed, and whether or not the address is eligible at query time. A sum of all governor commitments in this set regardless of eligibility would include non-real commitment values like the one originally discussed.

If there is a way to query historical data form the governance API, can you point me to its online documentation? I believe I could query purestake’s API to get historical data on each governance address, but that seems extremely inefficient.

Is there any desire in the Foundation to restrict an address’ commitment value to its current holdings? To me it seems like a reasonable feature to add, but that comes from a place of enormous ignorance haha!

If you have a single address to follow, just get all the transactions of this address using the appropriate indexer endpoint () and replay them taking care of inner transactions and rewards as well as fees: indexer - Algorand Developer Portal

If you have many addresses to follow, best is to parse each block one by one: indexer - Algorand Developer Portal and do the same as above.

Some accounts have a balance in the genesis block that you need to handle yourself. You can get this via v2 - Algorand Developer Portal

Got it. I’m interested in the total Algo commitment of all the eligible governors immediately after a governance period closes, so 70k-ish addresses. I’ll have to see if extracting that much data is useful in the long run, or if I should just set up an automated script that queries the foundation’s API immediately after registration closes.

I really appreciate the help!