Intro
It is important to highlight that whenever you buy a Set, you will never get a different amount than what you submitted the transaction for. If you bought 0.1 of a Set, you will always get that amount, no more, no less. There are a few different cases in which you may get a better deal than what you thought, or you may perceive that you got less than what you thought you bought.
Getting A Better Deal
When you buy a Set, we use two different decentralized exchanges in order to execute the transaction: Kyber Network and 0x. When you input the amount that you want to buy, we automatically ping the two protocols to get the rates that they are offering and automatically give you the best one.
Specifically, Kyber network gives us two different rates: expected rate and worst (slippage) rate. The expected rate is the rate at which the transaction would occur given Kybers current reserve quantities, and the worst rate is the rate that may occur due to competing transactions at the same time. To minimize the chances of a transaction failing, we show a blended rate that is in between the two other rates.
When you submit a buy transaction, if the actual rate ends up being worse than the blended rate, then the transaction will automatically revert. Similarly, if the actual rate ends up being better than the blended rate, then the cost saved is returned back to you. In this way, you may see more tokens in your wallet than you originally expected.
Receiving Less Value Than Expected
There will never be a case where a transaction will cost more than what is displayed to you. However, a transaction can take some time to complete, and during that time the exchange rate between a pair of tokens may change in a direction that may make it seem like you lost money.
As an example, let's assume you are buying 1 Set for 1 ETH when ETH is worth $100 at the start of the trade. Once the transaction has been completed, ETH may be worth $102. On Etherscan, if you were to look at just the dollar amount, it will show that you actually paid $102 for the 1 Set, and thus got a worse deal than you originally expected. However, if you looked at just the ETH you spent, and not the dollar value, you will see that it is still only 1 ETH. Any discrepancy is a pure element of volatility.