Repository
https://github.com/nirvanaitsolutions/swapsteem
Introduction
What is SwapSteem
SwapSteem is a peer-to-peer, no custodian exchange platform built on the Steem blockchain. The main vision behind Swapsteem is to create a platform to enable Steem users to trade their STEEM/SBD for Fiat, Cryptocurrencies tokens, or pretty much anything with other users. It is a completely open source software licensed under AGPL and the license and source code can found on our github repo. We have installed a dynamic system on the SwapSteem UI, where trading parties signal each other for instant trading, and we connect the trading parties together to relate their terms and conditions of trade,and upon agreement a trade is initiated between the users. For each trade a trusted escrow agent is assigned for the cases when a dispute arises between the parties involved in the trade.
Problem Domain
-
Markets : As of coingecko, There are only 18 markets for STEEM as of now. STEEM is listed on only 7 exchanges. Similarly there are only 10 pairs for SBD and it's listed on same 7 exchanges. At Swapsteem, we have currently enabled BTC and EOS crypto currencies on the Demo and Alpha, but we are planning to list more Crypto Currencies in near future.
-
Prices : STEEM prices are very fluctuating. The trades must be finalized as fast as possible to get the best prices for the trade. At Swapsteem, we enable p2p trading with prices derived from coingecko for the pair at the time of order creation. The price can NOT be changed after order creation.
-
Fees : Trading STEEM also comes with some fees. Exchanges usually charge some percentage of the trade as fees. There is also fees for deposits and withdrawals on traditional exchanges. Blocktrades.us provides a fast way to trade STEEM to other Crypto, but the prices are lower than market due to their commission which is 1%. At Swapsteem, We take a fee of 1% for fiat trades and 0.5% for Crypto trades, which are the current standard fees. We also give discounts to delegators as mentioned in our fundition campaign.
-
Security : When you deposit your funds to an exchange, you actually don't own your funds anymore. The exchange might be hacked or taken down at anytime and you may loose your funds as seen in many previous cases. At Swapsteem, We respect the proof of keys movement. You never have to deposit your funds to @swapsteem. Upon creation of an Order the funds will need to be moved into an Steem escrow transaction with @swapsteem as agent. Only you can release the funds in the Escrow until a dispute is created. In case of dispute, @swapsteem will have authority to move funds to either party. The funds in Escrow can never be sent to anyone other than the traders involved, not even to the agent account. So you can be sure about the security of your funds in escrow.
The Solution : Peer-to-peer (P2P)
In peer-to-peer trading, individual parties trade with each other directly. Such as our everyday transaction are mostly peer-to-peer: buying lunch in a cafe, selling wares on eBay, or buying electronic gadgets from Amazon. These are examples of private trades between people or businesses, where each party chooses whom to transact with at a specific period.
How SwapSteem Works
Sign-up
Steps to create a Steem account on SwapSteem. We have integrated account creation services using Credit and Debit card for a fee of $2.5 using the @steem.ninja account creation service run by @oracle-d. Please read the post linked below for information about account creation on https://swapsteem.com. Swapsteem - Steem Account Creation is now live!
Login
Once you click on the "Login" button on SwapSteem, you will be redirected to SteemConnect Signing page. SteemConnect provides a two-step login layer to enable Steem accounts to interact securely with DApps on the Steem blockchain. You will be required to accept SteemConnect in the first login layer as an interacting layer between your Steem account and the SwapSteem platform, which will give us authority to post custom_json transactions on behalf of you to post data on the blockchain. Once you agree and click on continue, you will be requested to provide your Steem username and your owner, active keys or master password. Input your login details and click sign in, you will be redirected back to the SwapSteem UI, with access to all trading features offered on our platform. Neither SteemConnect or the SwapSteem platform stores your keys.
Swap
Swap is a term that means exchange of assets between two individuals where Steem based assets are stored in steem escrow escrow transaction. Swap is a convention to encourage a genuine shared biological community for exchanging anything for STEEM blockchain based assets.
Swapsteem utilizes the inbuilt Escrow feature provided by the Steem blockchain for the security of funds. The STEEM/SBD is locked with a third party Escrow agent account until successful processing, who will have the authority to release the funds to either side in case of a dispute between the traders. There is a time window of 2 hours for the Seller and Buyer to Initiate the escrow transaction and approve the escrow transaction. If the traders fail to complete the transaction until the deadline, the trade is canceled/rejected and any locked funds will be released to the Seller. If the Escrow is transferred and approved by the traders, the agent will need to confirm the escrow too within the same deadline. After the agent approval, again there is a window of 3 days from order creation for the Buyer and Seller to confirm the payment and Release the escrow respectively. If a dispute arises where the seller doesn't release funds after confirm payment or Buyer confirm payment without making a real deposit, or in case funds not released within the deadline, the escrow agent will have the authority to release the funds to either party depending upon the proofs presented by both parties.
The Swap Process in Detail
Buying and selling of Crypto on SwapSteem vary from other exchange platforms or a common escrow administration facility. In contrast to other exchange, SwapSteem doesn't acknowledge stores or procedure withdrawals, and there are no programmed coordinating calculations for trading. The SwapSteem escrow management doesn't hold any Steem/SBD or fiat in trust; the Crypto bit of the exchange is placed in confidence through a decentralized escrow system utilizing SteemConnect. Trading works like this on the https://swapsteem.com platform:
- Step 1 : Create Listing Buy/sell offers are posted openly for any other interested trader to discover. An offer is a trade promotion expressing a dealer's expectations to swap a specific quantity of Steem/SBD for fiat or a particular Crypto (an example, "Kelly, needs a Crypto-Crypto/Crypto-fiat swap, the volume of trade").
- Step 2 : Creating an Order : When a trader search for a buy/sell order, he reads the terms and conditions applicable to each order. He responds by clicking the buy/sell button on an order, which he is willing to fulfill its terms and conditions.The buyer fills the buy order form with the amount of Steem/SBD he wants to purchase, and the amount of fiat/Crypto he's willing to trade with the seller. By filling and creating the buy order, the buyer's order form is sent to the seller for confirmation to initiate a trade. Once the seller accepts and confirms the buyer's vv terms he confirms the deal. Then a trade deal is initiated between both parties, and locked with Steemsmartcontract. Now, Kelly a nd Sean are locked in a SwapSteem trade with Steemsmartcontract.
- Step 3 : Placing Steem/SBD in escrow Immediately a trader clicks on the buy/sell button. A trade contract is initiated where the seller places the Steem/SBD in escrow. Placing of Steem/SBD into escrow is an automated process busing the Steemsmartcontract provided by SteemConnect (with one click). Once the funds are received by escrow, the order status is updated as "escrow_transfer”. Note: Orders cannot be manually canceled once escrow transfer is successful. It will, however, be automatically canceled if Escrow transfer and approval by buyer and agent remains unconfirmed within two hours of initiating the deal. Once the Steem/SBD deposit is confirmed by escrow, the buyer will receive the seller's Bank/Paypal/Crypto address details. When the Steem/SBD is recieved in escrow, a payment window commencement is initiated. The buyer is required to start and finish payment inside this three days window, or else the seller will be able to revert the escrow. To help keep the seller's assets from being bolted because of inert buyers.
- Step 4 : Payments happen outside SwapSteem Once the buyer realizes that the Steem/SBD is securely stored in escrow, the buyer can safely send fiat/Crypto to the Bank/Paypal/Crypto address provided by the seller in the sell order. Without a secured escrow, the seller could disappear upon receiving payments from the buyer. Once the buyer makes payment and clicks the "confirm button," the seller won't be able to cancel the escrow. Immediately the buyer has made full payments to the specified account/Paypal/Crypto address provided by the seller in the sell order, the seller needs to confirm payment by clicking the "confirm button" and patiently wait for the seller to confirm the receipt of payment which will automatically release the escrowed steem/SBD to the buyer's Steem account wallet. On the off chance that the seller/buyer doesn't fulfill their end of the deal, inside the three days window given to complete the trade. A dispute resolution process is initiated by the affected party.
- Step 5 : Confirmation of payment and escrow release Scenario A: The buyer confirm payment, and seller acknowledges receipt of payment by confirming payment and releases funds in escrow to the buyer. And trade is completed! The Steem/SBD is released to the buyer, and both traders are happy. Now, both traders can give written feedback on the transaction. And rate the trade with the rating system between a star and five stars.
- Step 6 : Raising a dispute in case of non payment/Fraud Scenario B: one or both traders raise a dispute Either party can raise a dispute if the opposite party has violated any term of trade in the order. A third party mediator (currently the SwapSteem agent) is introduced into the trade to resolve the dispute.
Our dispute resolution process
Dispute button is available as soon as the buyer confirms payment.
- Buyer/Seller raise a dispute from the trade, by clicking the dispute button.
- Dispute request is created and sent to the Mediator (currently SwapSteem agent) in charge of the trade.
- The Mediator sends a memo to both parties (Buyer and Seller), inviting both parties to a discord chat.
- The mediator asks for proof from both parties on discord.
- If everything seems fine to the mediator and sees a delay in inter-bank transfer. He requests for more patience from the seller while monitoring the transaction.
- After the expiration of the three days window, and no confirmation by the seller. The Mediator asks both parties for their bank's official statement of account. In case a Crypto transfer was made as payments for the exchange. The buyer is asked to submit the transaction hash ID used for payment. The mediator also asks for the seller's Cryptocurrency address provided to the buyer, for a proper review. It might take between minutes to weeks for the mediator to determine the rightful owner of the Steem/SBD in escrow, depending on the complexity of the dispute and response time frame from both parties.
- Once the mediator is satisfied with his review from both parties, he releases the Steem/SBD to the rightful owner. The Steemsmartcontract contract code doesn't allow the mediator to send Steem/SBD anywhere else. The Crypto involved can only be sent to any of the two parties locked in the Steemsmartcontract trade.
- The party responsible for attempted fraud will be blacklisted from the SwapSteem platform by the mediator.
Note: A valid statement of account must show transactions from the date the trade was initiated. The statement of account must be stamped from the bank and sent in clear quality pictures, to enable a proper assessment of the document by the Mediator. A time frame is given to both parties to provide these documents, to be reviewed by the mediator in charge.
Insta Swap
Insta Swap is a term that means exchange of assets between individuals and exchange that provide a service to convert a crypto currency to other based upon the current market price. Insta Swap is a convention to encourage a genuine shared biological community for exchanging steem based assets to other crypto assets securely and near instantly under moderation of a centralized exchange for quick automated withdrawals.
To swap your Crypto currencies instantly, you can use our Insta Swap feature powered by our partner @onepagex. The Insta Swap feature enables you swap largest number of crypto currencies provided by any instant exchange with more than 140 coins supported and counting. Best thing is that is the only instant exchange with such facility that supports STEEM as one of the main pair besides blocktrades.us that support cross-chain swap.
Please read the following post to know more about how to instantly buy or sell cryptocurrencies for the lowest fees online. SwapSteem - Swap Crypto Currencies Near Instantly!
The Swapsteem Forum
It requires some familarity with steem to be able to trade on swapsteem. Since a lot of users are not so comfortable with the technical details we get a lot of questions by the community in our discord and steemit blog.A forum is centralized platform for keeping track of such queries so that others can also see the questions previously asked without having to chase people for answers.
Tokenbb is a forum manager which enables steem users to create and manage community forums. Tokenbb incentivizes both forum owners and users with steem upvotes. You can access the swapsteem forum at swapsteem.tokenbb.io and create a new topic to talk about. This topic will be visible to others and can be curated and commented by other users.To use the Swapsteem Forum, you will have to log in to swapsteem.tokenbb.io with your steem/email account. Users can also choose to stay anonymous on the forum.
What will We offer in our Beta
In the Beta, users will be able to create a trade listing as per their preferred payment method, coin/fiat pair and margin over current market price. They can also directly Buy/Sell from other users listings if they agree on their price. The trade is securely monitored by escrow transactions from the UI itself. You can find tutorials on how to use swapsteem at below links :
- How to Post a Trade Listing On Swapsteem
- A 12 Step Guide on How to Buy STEEM/SBD for Fiat on Swapsteem
- A 12 Step Guide on How to Sell STEEM/SBD for Fiat on Swapsteem
Fees and Discounts
How much fees does swapsteem charge For Trades in all makets except fiat, we will charge 0.5% of the trade amount as fees. For trading in Fiat market, the fee will be 1% of the trading amount. The fees will be paid by the the person who has created the listing. The final payment amount is calculated after deduction of fees according to order type. Third party agents will be able to set their custom fee.
Discounts We will give upto 100% discount to SWEET holders on their weekly trades worth up to the worth of SWEET they held/staked for the week. When they exceed the discounted trade amount, the Normal fee is charged. Note: Discounts only valid on trades where you choose @swapsteem as the agent.
SwapSteem Escrow Agent The SwapSteem group/staff must expel/ban suspicious traders from our platform. Users can be suspended from the SwapSteem platform on the off chance that they're found harassing, spamming or endeavoring to defraud other users. Good users can report suspicious users to the SwapSteem staff via our discord channel. The SwapSteem team will likewise suspend a user who takes part in actions that is by all accounts of corrupt nature.
How to become an escrow agent at SwapSteem To become an agent of SwapSteem, you will need to fulfill all the criteria we have laid down. These criteria are meant to help safeguard traders funds on our platform.
- An aspiring agent must stake some SWEET with SwapSteem. The value of deposited SWEET, however, depends on each agent.
- The amount of staked SWEET is equivalent to the amount of trade the agent can escrow at a time. For instance: Aaron wants to become an agent, and he staked 1000 SWEET by making a deposit to SwapSteem, he will be able to escrow trades that sum up worth below 1000 SWEET at a time. Aaron can increase his deposits to increase the maximum volume of Trades he can escrow on the platform. The deposited Steem stands as collateral if Aaron decides to fraud the system and help one party to defraud the other.
SwapSteem Exchange’s (P2P) Features
Technological Architecture
The SwapSteem platform is built on the Steem blockchain, programmed with Angular 6, SteemConnect and Steem-keychain((Under active Integration) for the Web app front end, while the back end is developed with Node Js And our open souce project Steem-Automation which is a reliable application to stream the steem blockchain and automate stuff on the blockchain easily.
All transactions carried out on our platform will be posted as a custom JSON file, from creating a buy/sell listing order, confirmation of orders, escrow signing amongst others and tracked by our back end. Traders Bank/Paypal/Cryptocurrency addresses will be safely encrypted in JSON Memo for optimum privacy and security.
Features we provide on our platform
At SwapSteem we aim to provide a wide range of services to support the ever-growing Crypto population in peer-to-peer exchange. We have created a simplified user interface for all levels of traders, to understand and make use of our platform easily. The need for prior knowledge to trading is useful but not necessary in making use of SwapSteem for your Crypto exchange. SwapSteem main feature is the Steem/SBD (P2p) exchange, and we offer the following peer-to-peer market exchange to our traders:
- Fiat market.
- Crypto market.
- Ethereum ERC20 Market
- EOS EOS20 Market
- Tron TRC20 Market
- BitShares UIA Market
- 1. Fiat Market At SwapSteem we offer the fiat market for traders to exchange Cryptocurrency for local currency. We are aware of how some countr