Is there such a thing as zero-conf in Monero and if yes, then how does it work? Is it supported by the Monero client?
3 Answers
You're probably referring to the concept where a vendor will accept payment, even when the payment has not been included in a block. Sure, that works the same way in Monero that it does in Bitcoin. The transaction in question will be visible in the mempool. When the vendor sees the transaction in the mempool, he may decide to release goods to the customer.
Monero transactions are pretty similar to Bitcoin ones regarding this: you see them on the network, they linger in the txpool till mined, the block they're in can be reorganized, and the more blocks on top of it, the less likely it is to happen.
The Monero wallet offers the get_transfers
RPC, which has a pool
input field. When set to true, any transaction to your address in the txpool (ie, not yet mined) is returned. There's a double_spend_seen
field for the returned transactions. If true, it means another transaction was seen which double spend at least one input of the original transaction. In that case, you'll probably want to not accept that transaction until it's actually mined.
Currently the best implementation is the Point of Sales payment system Kasisto. Here is an example of usage: https://i.sstatic.net/ejR1J.jpg
See also this question : What is Kasisto?