4

I have a use case where I want to send to many addresses on a regular basis.

Let's say I want to send to 1 million addresses. I've read that Cardano enforces a "minimum transaction fee." But is this fee applied to each recipient address in a bulk transaction? Or is it for the overall transaction?

If it's the case where I pay a fixed fee per bulk send, what is the maximum number of addresses I can send to in one bulk transaction?

2 Answers 2

7

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 maximum 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

3

Let's say I want to send to 1 million addresses. I've read that Cardano enforces a "minimum transaction fee." But is this fee applied to each recipient address in a bulk transaction? Or is it for the overall transaction?

As Edd, already mention in his post, a protocol parameter minUtxoValue is in place to make sure the dust is causing the UTXO to grow too much. Right now it is set to 1 ADA.

If it's the case where I pay a fixed fee per bulk send, what is the maximum number of addresses I can send to in one bulk transaction?

There is no maximum number of addresses per transaction directly, but this is limited by the protocol parameter maxTxSize which is right now set to 16384 bytes, which dictates how large in size one transaction can be. So, it all depends on your usage of addresses, number of inputs, number of outputs etc.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.