Pruned node and "any address' balance" don't go together.
But full UTXO database is still kept in chainstate DB in pruned node, isn't it?
If so, what is the technical problem of making a sum for a given address?
My answer was based on the fact that whenever you change the wallet (not to a new one) in a pruned Bitcoin Core you have to download everything again.
Also afaik getbalance returns 0 for addresses not in your wallet.
However, when I've done more research I've found somewhat contradicting info.
According to this answer, all UTXO are indeed kept in pruned data.
While chainstate does contains the UTXOs, there are no addresses there, it's scriptPubKeys (and amounts) (see
here and
here)
Clearly scriptPubKey doesn't necessarily translate to an address, but that may not be a big problem. Even more, a
tutorial here tells how to extract the data.
One show stopper may be the fact
Level DB doesn't like concurrent access from multiple apps, hence you may have to use the chainstate while bitcoind is stopped, or keep a copy for the job...