Fiat-Crypto P2P Marketplace
Last updated
Last updated
This is the first service we're building in Opoch. As discussed earlier, Opoch aims to make exchange of cryptocurrencies truly decentralised and peer-to-peer, thus fulfilling the original Satoshi vision.
We create smart-contract powered escrows to enable trades without any third party holding the crypto funds in transaction. Buyers or sellers can create bids off-chain and transactions are completed on-chain using these escrows. This off-chain and on-chain interaction provides much necessary transaction finality of user’s fund, while reducing the latency and cost involved in the trade.
To initiate the mass adoption for cryptocurrency, it is important that on-boarding of new users is seamless. Creating this Fiat-Crypto Peer-to-Peer marketplace opens up transaction channels (eg. M-Pesa, Alipay, PayTm, Cash) which are otherwise not possible. This also opens up possibilities in limited banking channel penetration.
There are four participants in this function and roles of these are briefly described below:
Buyer and Seller: They can create new bids at their preferred price or buy/sell from already listed orders to do almost instant trade.
Relayer: Opoch will act as the first relayer till the community matures. Relayer’s task is to enable smooth matching of the bids with the buyers or sellers. We have built the platform where users can do transactions by just using the escrows without going through relayer, but relayer provides the ease of access required.
Another benefit of having a relayer is that relayer can provide the transaction cost necessary to complete the on-chain transaction as new user being on-boarded might not be able to pay the cost for transaction.
Arbiter: In case of the dispute arbiter comes in to resolve the dispute. Token holders can become arbiter by staking some of their tokens in return of part of commission.
Alice (Buyer) creates an off-chain bid on relayer to buy OPOCH Tokens.
Relayer broadcasts the bid on it's platform and updates it's order book.
Bob (Seller) finds Alice's bid on Relayer's platform and requests to full-fill the bid.
Relayer connects Alice and Bob so that they can finalise the terms.
Bob signs a message with his private key and relays it to the Relayer to be sent to blockchain, after finalising terms with Alice.
Relayer verifies the message and sends transaction to blockchain and escrow is created.
Alice is notified and proceeds to transfer fiat to Bob by the method mutually decided.
Bob receives payment and releases the escrow, Arbiter and Relayer get their fees and Alice receives the token.
The message signed by Bob includes the amount of tokens requested by Alice and:
As a side note, we believe the technology and community used to enable fiat-to-crypto transactions in a peer-to-peer manner, will also be used to enable new markets that can replace fiat currencies for services and products.
where users would be exchanging crypto assets/tokens with services and products as the technology is already in place, the best use case for exchange right now being fiat.
Name
Type
Description
seller_address
address
Address of Seller
buyer_address
address
Address of Buyer
arbiter_address
address
Address of Arbiter
arbiter_fees
uint256
Fees to Arbiter
relayer_address
address
Address of Relayer
relayer_fees
uint256
Fees to Relayer
token_amount
uint256
Amount of token in escrow
fiat_amount
uint256
Amount of fiat to be paid
expiration
uint256
Expiration time of escrow
v, r, s
uint8, bytes32, bytes32
ECDSA Signature of above parameters.