Trying to avoid paying unnecessary fees when sending multiple transactions (to different people) we wanted to implement transaction batching - sending one transaction with multiple receivers (as it works on bitcoin)
We are now getting this error response: A single payment id is allowed per transaction
which as I understand means that more than one of the receiving addresses are "Integrated addresses" that contains "Payment ID" different from each other
- Is it common (or how common?) that wallets (mobile, exchanges etc.) generates only Integrated addresses these days?
- Is it common that new Payment ID would be generated for each incoming payment?
- If yes, is it still feasible to send multiple transactions in one to save on network fees? Or was it only possible when Integrated addresses and Payment IDs were less commonly used before?
Is this comment from github still true?
- you can't send in one transaction to multiple different integrated addresses
- you can send in one transaction to 1 integrated address and multiple regular
- you can't send in one transaction to the same integrated address (at the moment) if you pass the same integrated address to destinations array more than 1 time
Edit: I just learned that not just Standard and Integrated addresses exist but also Subaddresses which seems to be default(?). I also found this note:
Raw address is still useful for: [...] accepting from senders who batch payouts (like mining pools); in this scenario the sender is paying multiple parties using a single transaction; such transaction has multiple outputs; subaddresses do not work in this scenario
So my question still stays, which address type to expect users would use the most and is it worth it trying to implement batching and group transactions per Payment ID and address type if it would be almost always 1 trx per payment ID anyway?