Table of Contents
How is the buy/sell rate calculated?
Why is the Set price on the Set page different from the rate when I buy or sell?
The gas price is high. What can I do?
What is the fee on TokenSets?
What goes on under the hood when I buy and sell a Set?
How is the buy/sell rate calculated?
Presented Rates - The presented rate is determined by scanning the market for multiple quotes for your order size. We then choose the best available rates from among the sources. We are currently integrated with Kyber, as well as the broader market through 0x.
Kyber Rates - Kyber's reserves provide liquidity for buys and sells and can be requested any time. Rates will vary based on the inputs of your order such as the types of tokens that you're exchanging and the size of your order.
0x Rates - 0x provides an open order book which anyone can participate in. Depending on liquidity in the order books, rates may also apply to the tokens that are in your buy or sell order.
Depositing Payment Token - Some buy/sell orders may not require trades which removes the buy/sell rate complexity and reduces gas costs. For example, if you are buying the ETH20SMACO Set with ETH while the Set is weighted all in ETH, you will simply be depositing your ETH into the Set vault and minting an ETH20SMACO Set token which shows up in your wallet.
Hybrid Deposit and Exchange - Buy/sell orders that consist of both your payment token and a token that you need to source take a hybrid deposit and exchange approach. For example, when using ETH to buy an ETHMINVOL Set which is made up of WETH and DAI, you'd be depositing half the amount of ETH you're paying with, and using the other half to source the DAI collateral from Kyber/0x in order to issue the Set.
All of these details factor into how your buy/sell rate are calculated. Further explanation on how rates are calculated using Kyber/0x buy/sell rates, slippage, and more are covered in an article here.
Why is the Set price on the Set page different from the rate when I buy or sell?
The price you see on the Set page and the price you see when you buy and sell are gathered from two different sources.
Set Page - The price you see on each Set page is data pulled in from CryptoCompare in order to display a live price that's an average of the fair market value for the Set and its underlying component tokens across a multitude of exchanges.
Buy/Sell View - On the other hand, the prices you see when you buy or sell a Set is the rate from Kyber or 0x that's calculated using the methods described above in the "How is the buy/sell rate calculated?" section which will naturally be different than the rate you see provided from CryptoCompare.
Why is the gas price is high?
Why this is happening - During times of high network congestion, the gas price for buys and sells can spike to large amounts, sometimes even costing a few dollars if network usage is very high. On the protocol level, buy and sell orders utilize multiple transfers along with its integration with Kyber/0x, making the process of buying and selling Sets cost higher than your normal smart contract interaction e.g. transfers.
What can I do?
Wait until the network usage is low - If the gas price is too high for you at the moment, the price will most likely decrease as network usage decreases, going back down to the order of a few cents if you are willing to wait.
Change the gas price - You can also tweak the gas values for your transaction if your wallet provider allows you to, just keep in mind that this decreases the likelihood that your transaction will be confirmed on the Ethereum blockchain.
Is there a fee on TokenSets?
At the time of writing, July 23rd, 2019, we currently don't have a built in fee anywhere in the Set Protocol or TokenSets the app. This will most likely be updated at some point in the future when when we plan on transitioning Set Labs into a self sustaining business.
Rebalancing Slippage: It's important to note that even if there is no fee, users may incur a small amount of slippage during a rebalance under certain circumstances. Rebalancing slippage is a side effect of a dutch auction mechanism used in a Set's rebalance. In a simplified explanation, the more collateral there is to rebalance in a dutch auction system, the more time it will take to rebalance all the collateral. As more time passes in a Set dutch auction, less under-collateralized tokens are needed in exchange for over-collateralized tokens in order for a Set to rebalance to its target weight. During this process, the changing ratio for under-collateralized tokens in exchange for over-collateralized tokens naturally changes the net asset value of the Set as some of the value is either taken out or added in by the rebalancing liquidity provider. This change in net asset value is the rebalancing slippage. This is by design, and built for future use to incentivize open market participants if they want to help with rebalances once rebalance sizes become larger. For more info on rebalancing, take a look at this article here.
I still have questions
For more information about buying and selling on TokenSets, check out these articles below or message us directly on Intercom or Telegram: