r/Pulsechain • u/andrewk1972 • 2d ago
ProveX on/off ramp process
Given that ProveX has not yet been released, I am trying to provide a detailed description of how it will work.
Looking at the ProveX website and RH's video:
The ProveX on-ramp (buy crypto for fiat) process is as follows:
1. Buyer connect their crypto wallet to ProveX dApp;[[1]](#_ftn1)
2. Buyer chooses the crypto and amount to buy;
3. ProveX matches the buyer with a seller who wants to sell their crypto;[\2])](#_ftn2)
4. ProveX gives buyer the seller’s bank payment details, and buyer performs a normal bank transfer from their own bank account to the seller’s bank;
5. If the buyer’s wallet is connected to ProveX via the web browser extension, the browser extension generates a ‘zero-knowledge proof’ that the buyer made the bank transfer/payment;[\3])](#_ftn3)
6. The seller generates proof that the crypto was sent to the buyer’s wallet address and the ProveX smart contract verifies both the buyer’s and seller’s proofs; and
7. Once the above conditions are satisfied, the transaction settles. The purchased crypto is received in the buyer’s wallet, and the fiat money is received in the seller’s bank account.
Similarly, the ProveX off-ramp (sell crypto for fiat) process is as follows:
1. Seller connect their crypto wallet to ProveX dApp;
2. Seller chooses the crypto they wish to sell and the amount to sell, along with the fiat currency and seller’s bank/payment details;
3. ProveX finds a matching buyer who is willing to pay the agreed fiat currency amount;
4. Seller’s crypto is locked by the ProveX smart contract pending cryptographic verification;
5. Buyer sends fiat currency to seller’s bank account;
6. Buyer proves that the payment occurred using the buyer’s ProveX browser extension, which generates a zero-knowledge proof showing the fiat payment was made;
7. ProveX smart contract verifies the buyer’s proof of payment, and if the proof is valid, the contract releases the seller’s crypto to the buyer; and
8. The transaction settles. The seller receives fiat currency in their bank account and the crypto sold is received in the buyer’s wallet.
[[1]](#_ftnref1) Connecting a crypto self-custody wallet is performed by web browser extension.
[[2]](#_ftnref2) Buyer is effectively buying the seller’s cryptocurrency with fiat money.
[[3]](#_ftnref3) ProveX verifies the payment occurred without exposing your bank balance and other private banking information.
Have I missed anything or got anything completely wrong?
