6

For example let's say Alice wants to send moneroj to Bob, Chris and Dave. Does she have to make 3 separate transactions or can she do just one?

If she can do just one transaction, would the transaction size/fee be <,>,= the tx size/fee of the three 'normal' transactions combined?

1
  • 1
    Note: The GUI does not currently support sending to multiple destinations in a single transaction. Only the cli wallet (see below). Commented Sep 21, 2017 at 13:40

3 Answers 3

6

She can do just one TX, unless she wants to specify a different payment ID for each recipient.

The CLI wallet supports this, the format is transfer <address> <amount> [<address 2> <amount 2>] ... [<address n> <amount n>] [<payment ID>].

Note how there's only one payment ID. That's because you can specify only one payment ID per TX (for now at least, in theory it could be changed to multiple and it would work as long as everyone recognized and implemented the new convention).

I'm not sure what will be the wallet behavior if some of the addresses have payment ID integrated. Only one can be used, that's for sure, but I'm not sure which one would be picked by the wallet.

About the transaction size (by @kenshi84): Assuming the ring size being the same, the single multi-destination transaction will be smaller in size than the multiple single-destination transactions combined, since the former can "reuse" the same input ring signatures for all the destinations.

1
2

Update for v. 0.12 and newer:

It is now better for recipient to use subaddresses instead of paymentIDs - see here why: https://monero.stackexchange.com/a/7907/859

Subaddress allows recipinent to generate one address for each sender, so they don't have to share one address with more people. This increases their privacy and also has added benefit, that on blockchain, transactions to subaddresses look like transactions to base addresses, unlike transactions to payment ID integrated addresses.

So now with subaddresses instead of payment ids, it is easy for sender to send to multiple persons in one transaction:

transfer adress1 amount1 address2 amount2 address3 amount3

Payee then uses command "show_transfers" to see to what subaddress (index) he received money.

EDIT: To clarify why I added this answer here. With payment-id you could send only one person in one transaction, because one transaction can only have one payment-it, but with the new subaddresses functionality, you can send to multiple people in one transaction with the same effect. If was possible even before to also send to multiple people in one tx if sending only to base addresses, but that looses the ability for recipient to recognise where/who the transaction came from. If there is anything unclear, please ask in comments instead of downvoting.

-4

As far as I'm aware, one transaction = one destination. Three separate destinations are three different transactions.

1
  • 3
    Multiple destinations are supported by the protocol, but only 1 payment ID per TX (although this is wallet convention and could be changed "easily").
    – JollyMort
    Commented Apr 3, 2017 at 21:42

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.