How to identiy source utxo for a minting transaction?

So we have a wallet and know the wallet ID. The wallet has utxos associated with it. We want to mint a native asset. The cli tool to list utxos looks like this:

cardano-cli query utxo \
  --address $(cat payment.addr) \
  --mainnet

This command requires an address as input. We don’t know which addresses have utxos. There are billions of addresses associated with a wallet, so it makes no sense to iterate through them.

How would we identify which addresses have utxos so that we can run this command, or otherwise get the uxos associated with a wallet?

In the “official” guides, you are generating a key pair and use the single address of this key pair, which does not belong to a wallet. If you send something to this address, the UTxO will always be at this address.

If you want to use a “real” wallet, you cannot follow the usual guides, but have to use cardano-wallet and/or cardano-hw-cli. In that case, all wallet apps should give you an overview somewhere, where you can see, which addresses contain funds. At least in ccvault, you also can get an overview over all UTxOs of your wallet/account directly.

We use cardano-wallet, but as far as I know it doesn’t provide a way to get the identifiers for the utxos. the endpoint /wallet/id/utxo lists the contents of the utxos but, bafflingly, not the utxo ids.

Can you point me at a function/resource/command in cardano-wallet or similar tool which would let us figure out what utxo to use as input?

You are right. They do not seem to have that in their API.

Perhaps, because they want you to use https://input-output-hk.github.io/cardano-wallet/api/edge/#operation/mintBurnAssets, which does not seem to need this info, but does it itself internally.

I’ve only used the command line up to now. There it would probably work to use cardano-wallet address list in combination with cardano-cli query utxo.