The minimum fee is for the transaction as a whole, calculated as a * size(tx) + b
, where a
and b
are protocol parameters. However, there is a Min-Ada-Value
of 1 ADA
which is the minimum size of a UTxO. The entiremaximum possible UTxO set of Cardano is actually 45 billion for this reason. Anyway, you'd need to send 1 ADA per UTxO (which can be in the same transaction) and then the only limit should be the size of the transaction being less than the size limit of a block.
You can read more about this here:
Docs: https://cardano-ledger.readthedocs.io/en/latest/explanations/min-utxo.html
Implementation: https://github.com/input-output-hk/cardano-ledger-specs/blob/master/shelley-ma/impl/src/Cardano/Ledger/ShelleyMA/Rules/Utxo.hs