The Everbloom Exchange Is Live!

The Everbloom Exchange is now live supporting Ethereum and ERC20 tokens! This post will introduce the exchange, explain how it works, and show you where to find help.

Let’s touch on the high level points and links before we go further:

Quick Tour of the Everbloom Exchange

By way of screenshots, let’s take a quick tour of the Everbloom Exchange. Major elements on the exchange are called out with number bubbles and explanations which follow the screenshots.

Screenshot of Everbloom on a 1900+ pixel wide screen with all of its page elements labeled. Click to enlarge.

Major elements are numbered going left to right, top to bottom. They are as follows:

  1. This is where you will find the token list dropdown (the token list is pictured in our docs here). Select the pair you want to trade. Favorite pairs by clicking the star next to the pair. Favorited pairs will show in the watchlist tab inside the dropdown.
  2. Various settings, informational, and help dropdowns appear in the top right. Check blockchain information like gas averages and block height. Change language and decimal settings.
  3. Manage your exchange balance here. Use the deposit and withdraw buttons to send funds to and from the smart contract and your wallet (explained more below in the technical overview).
  4. This is the pricing chart. We use charts by TradingView. There are lots of buttons and dropdowns to change the chart (these buttons may disappear on smaller form factors).
  5. The order book column including asks and bids. The top half of the column contains the ask orders in red. “Ask orders” are people selling the currently selected token (KIN in this case), asking for ETH. The bottom half of the column contains the bid orders in green. “Bid orders” are people buying KIN, bidding with ETH. Hover over orders and click the Take button to make a trade on top of existing orders.
  6. Market trade history. These are all transactions that have posted to the blockchain for the selected pair.
  7. Limit order panel (i.e., maker order panel). Use this panel to place new buy and sell limit orders onto the order book. This causes a new order to show in the order book (item 5).
  8. Depth chart. Checkout this blog post that explains depth charts.
  9. Your open orders. This contains orders that you have placed on the order book using the limit order panel (item 7). It will show fill status of the order.
  10. Your trade transactions. This will show information on completed trades on top of your orders.

On smaller screens, certain elements will combine with tabs. The following screenshot demonstrates this:

A demonstration of page elements collapsing to save space on smaller screens.

The screenshot highlights panels which have combined. Click the tabs to switch between them.

Technical Overview of Everbloom Exchange

The Everbloom Exchange works generally as described in our previous blog post, What Are Decentralized Exchanges?, but let’s dig a little deeper on Everbloom specifically.

The Everbloom Exchange is comprised of the following pieces which come together to form a working exchange:

  1. Everbloom Exchange Web App: located at app.everbloom.co, this is the main user interface for placing trades using your web browser and wallet software.
  2. Everbloom API: interact with the exchange programmatically by writing code. Our web app uses the same API. Here’s a link to API docs.
  3. Everbloom Off-Chain Order Book: a database of open orders. The Web App and API are both windows into the order book.
  4. Ethereum Nodes: gateways to the Ethereum blockchain, connecting users to the broader Ethereum network.
  5. Smart Contracts: used for trade settlement and deposits. We currently use the latest version of the EtherDelta smart contract as of the date of this post. We plan to support other protocols such as the 0x Protocol. Since we are built directly on the EtherDelta smart contract (for now), you will see your EtherDelta deposits and trades in our interface.
  6. Wallet software: 3rd party wallet software is necessary for signing orders and sending trades to the blockchain. We currently support Metamask and are working on support for hardware wallets.

In order for a trade to actually happen, a user first “makes” an order by creating and signing an order and placing it on the order book. Another user can then “take” that order from the order book and post it to the blockchain using their wallet software. In doing so, they act as the counterparty to the order and execute a complete trade.

This diagram illustrates a trade from end to end from the perspectives of the maker and taker:

The diagram above moves clockwise starting from the top left. Here we see a maker put an order on the order book. The taker sees the order and wants to execute. The taker submits the order as a signed transaction to the blockchain node. Eventually it gets mined and the maker sees the fill on their order.

Deposits in our system are very different from deposits in centralized exchanges such as Coinbase. When you deposit cryptocurrency on Coinbase, you send your cryptocurrency to Coinbase, giving them full custody over your cryptocurrency. When you deposit cryptocurrency in Everbloom, you actually do not send any cryptocurrency to Everbloom.

Instead, you are sending your cryptocurrency to a smart contract. From there, only two operations are allowed:

  1. You and only you can withdraw your cryptocurrency, telling the contract to send it back to your address. With the click of a button you can send it back. In fact, even if Everbloom is completely wiped from the face of the earth, our datacenters burst into flames, and the whole company gets hit by a bus, you can still withdraw your funds by sending a withdraw transaction to the blockchain manually.
  2. You and only you can create a signed order and place it on the order book. Each signed order has a specific price and amount, meaning a trade can only happen on your funds on your terms.

In some sense, the word “deposit” in the Everbloom Exchange is a misnomer as compared to the full-blown deposits in centralized exchanges. This is a key concept for understanding the advantages of decentralized exchanges.

Please feel free to join us on Telegram if you have more questions. Asking questions will help us refine our documentation.

User and API Documentation

Jump into Everbloom’s Getting Started Guide if you need a hand getting started with trading Ethereum and ERC20 tokens. This guide goes from zero to trading on Everbloom, walking you through buying your very first cryptocurrency, installing a wallet, trading, and converting back to a fiat currency.

Want to browse the full set of documentation? The user documentation and FAQs can be found at docs.everbloom.co.

Want to write programs that interact with the Everbloom Exchange? The API docs can be found at docs.api.everbloom.co.

Coming Soon

Here is a preview of what we’re working on next:

  • More wallets integrations. We are interested in supporting hardware wallets such as Ledger and Trezor as well as new software wallets. If you are developing a wallet, please reach out to us on Telegram.
  • Mobile support. Right now the exchange is meant to be used on desktop Chrome with the Metamask plugin, but we want to make the exchange look great and be usable on mobile.
  • 0x Protocol support. Bridging the 0x and EtherDelta protocols will provide a comprehensive set of Ethereum and ERC20 token liquidity.
  • More portfolio and market views. We’d like to give you, the users, more ways to explore your portfolio and market data.

We want to hear from you!

Thanks for reading. Have questions? Something we should explain further? Looking for specific features? Ask by tweeting EverbloomHQ on Twitter or chatting in our Telegram group.

--

--