We are developing an e-commerce solution and consider USDT to accept payments.

At the moment as I understand we can generate many addresses (1 per transaction) with BIP32 spec approach. Based on Omni spec seems we will have to send money from each address to some another address (say master wallet) in order to be able to withdraw or act with the received amount in full.

While Bitcoin blockchain allows generating transaction with multiple inputs (so we can send 1 tx from many inputs) to one or more outputs this is not supported in Omni.

So the question is how to do it the right way? Sending from one address to another address will take fee in BTC producing additional costs (like 1M transactions mean 1M address X fee).


fill addresses with dust, like 300 sats, receive OMNI/USDT on those. as soon you received, send them to your hotwallet. it's a regular BTC transaction, so you need to have some balance to pay the fee.

or, just do it on the etherchain as regular ERC20 token

  • with BIP32 I will have those addresses and pub/private keys and will have to spend satoshi in order to send to one wallet. So it makes sense only if the received amount is worth it? Is that the only way how bitcoin exchanges do it usually? As I understand it is the only way to go – shalakhin Jul 22 '19 at 9:55
  • yes that's the only way. it's a layer on top of bitcoin, so it's fueled by satoshis. and yes, that's how exchanges do it. tether acceptance is quite expensive. – Tim Kretschmer Aug 5 '19 at 15:53

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