Hi everyone, As some of you know, I am working on a complete open source replacement of Bitpay for allowing merchant to accept cryptocurrency payments while having a way to sell automatically. A crucial, missing part, is fiat conversion. And I figured out a simple protocol that exchanges (or adapters) can implement to allow any merchant to cash out BTC in fiat while giving them the freedom to choose their own payment processor solution. This also have positive impact on scalability: Before, a merchant would receive the bitcoin from the customer then would send to the exchange, resulting in two transactions. With this specification, it would be one transaction. Special thanks to anditto and kallewoof for reviewing. I am waiting for your feedback: Github link: https://github.com/NicolasDorier/bips/blob/master/bip-xxx.mediawiki
BIP: XXX Layer: Applications Title: Crypto Open Exchange Protocol (COX) Author: Nicolas Dorier==Abstract== A simple protocol for decoupling payment processor solutions from exchanges. ==Motivation== Cryptocurrency merchant adoption is mainly driven by availability, ease of use and means of acceptance. We call such solutions `Payment Processors`. Until now, payment processing solutions fall into one of the two following categories: # Self-hosted with the customer paying in cryptocurrency and the merchant receiving it directly. # Centralized, coupled with an exchange feature, with the customer paying in cryptocurrency to the merchant, and receiving fiat or cryptocurrency on his exchange account. The self-hosted solution has two issues: # The merchant becomes vulnerable to the wild volatility of cryptocurrencies. # It is wasteful of blockchain space, if the merchant does not pay suppliers in crypto, as they need a second transaction to change to his exchange, The centralized solution has two issues: # It locks-in the merchant to a particular payment processor whose intentions might not be aligned (e.g. Bitpay who tried to redefine Bitcoin as being a different chain, without merchant approval) # It has to deal with local regulations (e.g. Bitpay does not provide fiat CAD to canadian merchants) The goal of this BIP is to specify a simple protocol which makes possible decoupling of payment processors from exchanges. We believe this BIP will gather a lot of interest among local exchanges which do not have the resources to develop their own payment solutions. Their customers can decide which payment processor solution they prefer, while the exchanges give them a way to protect against cryptocurrency volatility. ==Summary== The merchant log in to its exchange website, go into "Address sources" section of it, an click on "Create a new address source". The address source creation wizard asks him questions about what to do when crypto currency is sent to this the address source. (Cryptocurrency, Market sell order, limit order of past day average etc...) The merchant receives an "address source URI" which they can input inside the payment processor. An exchange compatible with the Crypto Open Exchange Protocol would reply to any HTTP POST request to this "address source URI" returning the following information (more details in the Specification part) # A deposit address for accepting a payment # The current rate # Optional: If the exchange is willing to take the risk of rate fluctuation, until when this rate is guaranteed and under which conditions.Comments-Summary: No comments yet. Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-XXX Status: Draft Type: Standards Track Created: 2017-12-20 License: BSD-3-Clause CC0-1.0