Skip to content

Whitepaper

Ilya Solovyanov edited this page May 10, 2019 · 50 revisions

What is Excalibur_?

The Excalibur_ project consists of the following parts:

  1. Framework for creating decentralized exchange products.
  2. A decentralized community (DAO), that supports the maker motivation system.

The main goal of the project is to solve the liquidity problem in decentralized trading.

Who is Excalibur_ made for?

This protocol is intended for projects aiming to launch their own exchange products without dealing with the creation of smart contracts and deploying them within a complex backend infrastructure.

Excalibur_ provides methods for creating, executing, and storing orders inside a fully decentralized space, allowing developers to deal only with the front-end part of their product.

Why do you need to use Excalibur_?

You need Excalibur_ to build your own decentralized exchange and to provide it with initial liquidity, which is not an easy thing to accomplish at one's start. Using Excalibur_ solutions, each newly launched product will be able to make use of the liquidity being offered by other exchange products that were previously launched on Excalibur_

The above-mentioned functionality of the protocol is possible due to the global liquidity pool (Decentralized Liquidity Layer), that is controlled by a special smart-contract. This smart contract is to keep track of all products that are connected with the pool and saves the statistics of executed orders.

The global pool (DLL) has its own commission that is appointed by the decentralized community. All of the global pool's commission is collected in the special smart-contract - Storage_.

In the Excalibur_ system the maker’s commission is always taken by the exchange that has created the order, and the taker’s commission is only taken by the exchange that has executed this order. This makes it profitable for projects to share their orders.

The larger volume of executed orders by a given project, the less project pays in commissions to the pool.

The commission that the global pool charges with DEX is calculated by using the following formula:



, where:

  • poolMakerFee – a commission rate applied by the global pool for makers operations;
  • poolTakerFee - the commission rate applied by the global pool for takers operations;
  • dexAMakerVolume – liquidity maker type operations done by dexA during the estimated period;
  • dexATakerVolume – liquidity taker type operations done by dexA during the estimated period;
  • poolMakerVolume – total amount of operations of liquidity maker type processed by global pool;
  • poolTakerVolume – total amount of operations of liquidity taker type processed by global pool;
  • dexATotalVolume – total amount of all transactions done by the dexA during the estimated period;
  • poolTotalVolume – total amount of all transactions processed by global pool during the estimated period;

The proposed algorithm provides the opportunity to take into consideration all key attributes of applications connected to the general pool of liquidity DEX: total contribution of each particular source of liquidity formation to the general exchange pool, and specificity of its participation as creator or user offered by liquidity pool. Below is a sample schematic of determining current value of commissions for an DEX connected to the liquidity pool:

Global Pool (DLL) general FEE total including 0,1% of exchange Volume
poolMakerFee 0,01%
poolTakerFee 0,09%

DEX connected to the protocol and the characteristics of their operational work:

dex makerVolume takerVolume totalVolume dexMaker Volume / poolMakerVolume dexTakerVolume / poolTakerVolume
dexA 10 75 85 0,05 0,375
dexB 20 5 25 0,1 0,025
dexC 70 20 90 0,35 0,1
dexD 50 100 150 0,25 0,5
dexE 50 0 50 0,25 0
totalVolume 200 200 400 1,00 1,00

Fee estimation approach based on pool commission formula:

dex makerFee takerFee dexMakerVolume / poolMakerVolume dexTakerVolume / poolTakerVolume dex fee total based upon formula
dexA 0,01% 0,09% 0,05 0,375 0,161176% = (0,01% х 0,05 + 0,09% х 0,375 ) / (85 /400)
dexB 0,01% 0,09% 0,1 0,025 0,052000% = (0,01% х 0,1 + 0,09% х 0,025 ) / (25 /400)
dexC 0,01% 0,09% 0,35 0,1 0,055556% = (0,01% х 0,35 + 0,09% х 0,1 ) / (90 /400)
dexD 0,01% 0,09% 0,25 0,5 0,126667% = (0,01% х 0,25 + 0,09% х 0,5 ) / (150 /400)
dexE 0,01% 0,09% 0,25 0 0,020000% = (0,01% х 0,25 + 0,09% х 0 ) / (50 /400)

According to submitted data, we see that the aggregate fee set by the pool in the amount of 0.1% of the exchange volume for the period is going to be distributed between its individual DEX according to their contribution and role into the formation and use of total pool liquidity in the following sequence:



STN Token Model

Users are required to have STN tokens to take full advantage of Excalibur_. With those tokens, developers can pay for connection to the global liquidity pool.

Each exchange product that is connected to the global pool (DLL) is rewarded with the STN token, proportionally to the volume of the executed orders of the exchange for the current period of time (the time between STN token emissions). Only products that are connected to the pool are eligible to receive STN tokens.

Every STN token holder has access to assets collected via fees of the global pool. This means that every owner of the STN token may exchange its tokens through the special smart-contract Storage_ that accumulates all commissions from the global pool (DLL). The moment the owner cashes his tokens, these tokens are burnt and are gone from circulation. In this case, other tokens are not dropping in price according to the price of the common Storage_ volume. The number of assets to which the holder of the STN token has access proportionally to the share of tokens of this holder. Tokens can be exchanged only if the decentralized community of STN holders give approval.

The Decentralized community (DAO)

All network administration is managed by token holder votings. The Decentralized Community (DAO) of the STN tokens are able to:

  • Determine the volume and the time for the emission of STN tokens;
  • Set the commission amount of the global pool;
  • Assign the price for connection to the pool (in STN tokens) for each new product (project) that is willing to be connected to the global pool (DLL);
  • Remove products (projects) out of the global pool (DLL);
  • Accept/Decline smart contracts code updates;

References:

Clone this wiki locally
You can’t perform that action at this time.