Pricing Peer-to-Peer Trades
Swap is a peer-to-peer trading protocol for discovering counterparties, determining fair prices, and completing trades. Because it can be a challenge to determine fair prices in any trading ecosystem, we have carefully designed an Oracle service to make sure that fair prices are accessible to every user.
On a peer-to-peer trading network, information is communicated directly between each party. This means that prices are private and trading is secure. However, it also means that users have no visibility into what is happening elsewhere in the market. In this ecosystem, users must rely on at least one of three factors in order to determine if they are trading at a fair price:
- The previous Experience they have trading;
- The Options available from multiple parties; or
- The Verification of pricing against external counterparties.
To put this into context, assume that you are walking down the street and a coffee shop wants to sell you a $20 cup of coffee. This might sound ridiculous, but how do you know that this is a bad price?
- You have had Experience buying coffee for $5, so $20 immediately feels overpriced;
- There is more than one coffee shop nearby so you have multiple Options available to you; you can check those shops to determine what is a fair price; and/or
- You can use your phone to Verify the price of coffee in your area and discover, of course, that $20 is a bad price.
The personal Experience of buying coffee and the variety of Options available to you allow you to make a more informed decision based on multiple data points. However, Verification would require you to have an external source of information.
In a peer-to-peer (P2P), decentralized trading environment, users will develop Experience as they complete more trades, and the number of Options will grow as more parties provide orders. The Swap ecosystem is nascent, and there will always be users who have less Experience or don’t want to spend time checking multiple Options. So in the absence of these two factors, how do we handle Verification?
Price Verification in the Swap Ecosystem: Enter the Oracle
Services such as eBay, Kelley’s Blue Book, and Zillow provide pricing information to users as a reference point, allowing them to make a more informed decision. Similarly, in the Swap ecosystem, independent price recommendations will be provided by an off-chain service called the Oracle.
For example, let’s say Bob wants to buy 120 GNO from Alice and is paying with Ether. Alice is willing to sell her GNO for 100 Ether and provides this order to Bob.
Bob has never traded GNO, so he has no Experience; and, coincidentally, there are no other Options of parties willing to trade GNO for Ether in the network. He must rely on a separate source to Verify that this price is fair.
Bob queries the Oracle for a fair price. The Oracle suggests that the fair price for 100 Ether is 119 GNO. Since the Oracle price is less than 1% off the order price, Bob accepts Alice’s order and fills it on the blockchain.
The Oracle provides a suggested price and Bob and Alice are free to take or leave the suggestion as they see fit.
Introducing the Oracle will alleviate the price verification concern in the Swap trading ecosystem. Users can automatically verify their transactions with an independent and trusted third-party before transactions are completed.
The Swap Oracle
In the first iteration of the software, Swap will run its own free Oracle service, which will pull information from external sources and provide a recommended price for users. In order to allow the function to become decentralized as the platform develops, Swap will allow for and incentivize other parties to run Oracle services.
To provide verifiable prices to the ecosystem, we recommend that Oracles pull prices from external sources, which can include websites, exchange APIs, and even smart contracts themselves. Alternatively, an Oracle could use the current inside bid and ask quotes of a given market or the execution prices from previous trades.
In a peer-to-peer trading system, especially in an immature market, it can be difficult for users to assess the fairness of prices. Swap believes that price fairness is essential to the core function it serves. The Oracle service will build trust and maintain fairness in the Swap ecosystem. As the system grows, with users’ combination of trading experience, multiple trading options, and verifying prices from the Oracle, peers will be able to trade frequently and confidently using our protocol.