View Issue Details

IDProjectCategoryView StatusLast Update
0006652Talerexchangepublic2021-08-01 15:04
ReporterFlorian Dold Assigned ToChristian Grothoff  
PrioritylowSeverityfeatureReproducibilityhave not tried
Status assignedResolutionopen 
Product Versiongit (master) 
Summary0006652: support peer-to-peer payments
DescriptionRight now we have a strict separation between merchants and customers. Eventually we might also want to support direct payments between customers via their Taler wallet.

The main challenge for this is KYC. We could implement special KYCed reserves for this that are then used as the wire info for a payment (payto://taler-kyc-reserve/) from customer to customer. The KYC would allow transaction limits to be placed on receiving money as a customer. A prerequisite for these P2P payments would be that the receiving party has a KYC registered reserve/account with an exchange.
TagsNo tags attached.


Florian Dold

2021-01-17 20:53

manager   ~0017366

It's still totally unclear is how the signaling between the sender and receiver of the P2P payment will work. Unlike when a merchant is involved, the two parties can't directly communicate with each other. Of course the exchange might be able to help here, at least as long as it's not expensive for the exchange.

So what's the desired user experience here?

Does the receiver of the money initiate? If so, does the receiver simply give some generic address, or do they create some kind of "P2P contract terms"? How does the receiver learn whether/when they received a payment?

Does the sender of the money initiate? If so, how does the sender know when/how to sign deposit permissions? Or do we have some special "wildcard deposit permission" where the P2P receiver can substitute their own wire transfer information?

Florian Dold

2021-01-17 21:17

manager   ~0017367

Pro/con of sender-initiated payments:
* can be used to simply attach money to some message
* doesn't give the sender any guarantees what will happen with their money
* requires additional "wildcard deposit permission" support from the exchange
   (the receiver of the message does a /deposit, but can give arbitrary wire data)
* the contract terms will be chosen by the receiver, and will be completely under their control
* the size of the payment message is proportional to the number of coins involved

Pro/con of receiver-initiated payments:
* lots of overlap with payments based on a merchant backend
* unclear how the communication will happen between the two parties

I think the sender-initiated payments are simpler and cover more use cases that are not already covered by payments where a merchant backend is involved.

Christian Grothoff

2021-08-01 15:04

manager   ~0018046

Spec seems done, moving towards implementation category.

Issue History

Date Modified Username Field Change
2020-11-26 17:07 Florian Dold New Issue
2021-01-17 20:53 Florian Dold Note Added: 0017366
2021-01-17 21:17 Florian Dold Note Added: 0017367
2021-04-18 02:29 Christian Grothoff Assigned To => Christian Grothoff
2021-04-18 02:29 Christian Grothoff Status new => assigned
2021-04-18 02:34 Christian Grothoff Priority low => normal
2021-04-18 02:34 Christian Grothoff Category other => exchange API (HTTP specification)
2021-04-18 02:34 Christian Grothoff Product Version => git (master)
2021-04-18 02:34 Christian Grothoff Target Version => 0.9
2021-08-01 12:04 Christian Grothoff Priority normal => low
2021-08-01 12:04 Christian Grothoff Target Version 0.9 => 0.9.1
2021-08-01 12:04 Christian Grothoff Target Version 0.9.1 =>
2021-08-01 15:04 Christian Grothoff Category exchange API (HTTP specification) => exchange
2021-08-01 15:04 Christian Grothoff Note Added: 0018046