Bitcoin Payment Integration

How the integration of this new feature will look like is as a separate, standalone BTC-PART exchange module within Particl Desktop. The module will interact with the checkout process but will not be directly integrated as part of the full buy flow. It will instead be displayed as a separate page within Particl Desktop.

The reason for this is simple — once BTC is transferred for PART, the received PART is always, at least initially, received on a public balance. As you probably already know, the Open Marketplace funds stored on anon balances to be able to purchase products and services. And because converting funds from a public balance to an anon one takes 12 confirmations, on top of which more confirmations are added as a result of the exchange’s own confirmations (incoming Bitcoin confirmations, for example), the integration, as it currently stands, cannot be integrated as a core component of the buy flow in a user-friendly and practical way.

Exchange Module…as a Separate Page

WIP, Interface Subject to Change (Testnet Only Shows PART to PART Exchange, BTC on Mainnet Only)

How the integration of this BTC-PART module will look like is a simple and convenient Exchange accessible right from the left sidebar of Particl Desktop! If you recall, on Particl Desktop, the Wallet section of the menu currently has these four pages: Send/Convert, Receive, History, and Address Book. This update will introduce fifth section, Exchange, to the Wallet section of the sidebar. This page will also be accessible from any regular wallet, meaning the exchange feature won’t need to be manually activated by the user.

Putting the Exchange page as a standalone page on any type of wallet means Bitcoin users will be able to fund their wallets with PART using Bitcoin, allowing them to use any of the Particl Desktop features that requires a fee to be paid (privacy transaction, community proposals, flagging items, etc).

Exchange Module…as Part of the Checkout Process

While the exchange module will be a standalone application, at least for the foreseeable future, it will still be integrated into the checkout process and interact with it. The process is simple — simply go through the same process of purchasing an item to your cart as you always do. Add an item to your cart, confirm the cart’s content, enter your shipping information, and then land on the order confirmation page. Right at that moment, you will be met with two buttons — one to confirm your order, and the other to be redirected to the exchange module. If you do not have enough funds to place your order, then the “Confirm Order” button will be greyed out while the Exchange button will redirect you to the exchange module.

Once there, the module will automatically fill up the number of PART necessary to pay for your order and tell you exactly how many BTC are required to acquire that many PART coins. You will then be able to send Bitcoin to the exchange module and receive PART in exchange. Once the exchange is completed, you’ll be able to easily come back to the confirmation section of the checkout process and successfully place your order.

So while Bitcoin won’t directly be a “payment option” per se, the exchange module will still interact with your cart in a way that makes it easier and user-friendly for everyone to get the right amount of PART using BTC.

Under the Hood

This BTC-PART exchange module will not be using atomic swaps of any sort of decentralized exchange method, at least not for its initial integration. Instead, it will be plugged into a non-custodial exchange that doesn’t require KYC or personal information — SimpleSwap.

WIP, Interface Subject to Change (Testnet Only Shows PART to PART Exchange, BTC on Mainnet Only)

The module uses SMSG to relay messages between Particl and the SimpleSwap engine. The key part to understand is that this exchange module has been built using SMSG in a very generic matter, and it could eventually be used as the base layers to deploy all sorts of services on Particl (i.e. price pegging, chat module, etc). This module is likely to be included in the incoming Particl SDK which is probably going to see the day somewhere in 2020.

A “per transaction” limit function has also been integrated into the module as well, making sure users exchange a number of coins that’s in between the minimum and maximum range allowed by the exchange. Most of the information that is usually displayed when making a transaction on SimpleSwap will also all be displayed right from Particl Desktop.

Additionally, the exchange module will also include an “auto-anonymizer” feature which will allow you to automatically receive your PART on anon balances. This additional privacy feature included in Particl Desktop’s exchange module isn’t available when simply going on SimpleSwap’s website. That RingCT exchange perk feature may, or may not, be part of the first iteration of the exchange module, but it is already in development and should follow very shortly after the first release if not immediately ready. Fingers crossed!

Finally, the exchange module is not designed or hardcoded to work only using SimpleSwap. That particualr exchange was chosen as the initial service provider because of the lack of KYC requirements and the relatively low friction involved in trades. Should new exchanges that provide similar benefits list PART, they could be added to the module, giving users even more options.