Author

Topic: Could you please help me understand how Binance is calculating this? (Read 133 times)

member
Activity: 240
Merit: 54
1) If you buy BTC with... SNIP

Thank you so much for your input AdolfinWolf! You've been tremendous help!
legendary
Activity: 1946
Merit: 1427
1) If you buy BTC with USDT the fee will be subtracted from the BTC you bought i'm pretty sure. else they have to subtract it from outside of your original order, which I think would be much more messier than just subtracting it from the transacted amount.

not sure how it works when you enable the 25% deduction on fees for using BNB, whether they subtract the BNB instead of the coin you're buying to pay for tx fees.

2) pretty sure this is the case, yes.

3) no, multiple decimal numbers can be used it's just that every coin has a certain precision: for example BTCUSDT has 0.XXXXXX -> precision of 6(?) so 0.000001 is the minimum but I think every amount inbetween is acceptable (0.678351)
you can see more pairs here -> https://www.binance.com/en/trade-rule

4) pretty sure that's correct, yes. you need to subtract 0.1% over that amount (or whatever the feerate for a maker/taker order is for you) if you want to swap it for USDT again.
And when you want to withdraw it, you will pay an additional withdrawal fee of X $

5) I think it's probably to prevent people from putting too much strain on their APIs. you can select a three-month window though.
Or.. use an api though that's a bit more difficult.
member
Activity: 868
Merit: 63
Thanks for that explanation. Alright. What's up with the 999.86250 when I bought 1000 worth? And it's always like that.
I think that's how it works, it's much more expensive to buy the equivalent than to sell the same equivalent value in crypto. And the market is continuously changing and moving so there's fluctuations that you will experience, if it was automated, what you bought is what you're going to get because automation is much faster than a human reaction.
member
Activity: 240
Merit: 54
Pretty sure the buy order is with fees included...SNIP

Thanks for that explanation. Alright. What's up with the 999.86250 when I bought 1000 worth? And it's always like that.
It means you did not buy 1000$ worth - you bought 999.86250$ worth due to the number of decimals allowed in the order of the altcoin (precision) (682.5 instead of 682.5555)

Ahh OK! Alright, let's see if I got this right...

1) Taking an example of a BTC/USDT spot limit transaction with a fee of %0.1 for both maker and taker (level 0)... When I'm the maker (as in OP example), and I place an order (buying BTC using USDT)... the %0.1 fee will be deducted from the BTC I bought, not from the USDT..correct?

2) When I sell the BTC (through spot limit order also), there will be an additional %0.1 imposed, and this time, this fee will be deducted from the USDT...correct?

3) Only one decimal number is used. So what I can buy is always rounded down to an exact amount or with trialing or leading zeros decimal (e.g .#00000, .0#0000, .00#000, .000#00...etc.).

If that's the case, then how would it work out to buy 1,000 USDT worth of BTC if 1 BTC is 45,222 USDT? Because it would then be 0.022113130777 BTC. But if we round it down to 0.020000000000 BTC, then that would cost 904.44 USDT. A difference of 95.56 USDT.

4) This amount...

is not final.

The grand total would be that amount minus the fees (971.178584265) and it would show only after I sell...correct?

*5) Unrelated to the OP, but how come I can't see my trade history after a certain amount of time?

Thanks a mill again!

legendary
Activity: 1946
Merit: 1427
Pretty sure the buy order is with fees included...SNIP

Thanks for that explanation. Alright. What's up with the 999.86250 when I bought 1000 worth? And it's always like that.
It means you did not buy 1000$ worth - you bought 999.86250$ worth due to the number of decimals allowed in the order of the altcoin (precision) (682.5 instead of 682.5555)
member
Activity: 240
Merit: 54
Pretty sure the buy order is with fees included...SNIP

Thanks for that explanation. Alright. What's up with the 999.86250 when I bought 1000 worth? And it's always like that.
legendary
Activity: 1946
Merit: 1427
Pretty sure the buy order is with fees included (so after it is filled X will be subtracted) and it is rounded to the native unit of the currency you're buying (and not the stablecoin you're using) so 682.5 instead of 682.503434039 or something.

681.8175 should be the remainder after 0.1% taker fees, however, if you use BNB you get an additional 25% off, and the fees are taken in BNB and not the coin you're buying? Not sure how that works given that I haven't used binance in a while.


Did you buy this coin before? Maybe you had some left that you couldn't sell?

Quote
Also, if I'm selling 681.95400000 for 1.42565, shouldn't it be 972.2277201 (681.95400000×1.42565=972.2277201)? Why is it showing 972.150735?
I think the precision is always N amount of decimals (depending on the coin) so you can't sell all of it, seems it's maxed to one decimal so .9 so (681.9 *1.42565) is correct.

All that can't be sold anymore (too low amount) needs to be converted to BNB - https://www.binance.com/en/my/wallet/account/main/dust

After you sell a maker fee is deducted over the amount sold before you get your stablecoin back.


Check the order here https://www.binance.com/en/my/orders/exchange/tradeorder and see what fees you paid, you can easily calculate x percentage of Y with the info given there
so / 682.5  = 0.00100000NNNNN
member
Activity: 240
Merit: 54
So I place a spot limit order for a crypto coin for 1000 stable coin. But once the order is filled, it shows this...



999.86250? I'm assuming that's because the fees was deducted, right? But at Level 0, the fees are %0.1000. And if that's how much the fees are, then it should be exactly 999.00000. Not 999.86250. Why is it 999.86250?

Then when I want to sell, it shows this...



681.95400000? But notice above in the first screenshot, it was 682.5. Is this another fee for selling that is being taken from the coin? If so, it's also %0.1000. And thus it should be between 681.82749 to 681.90741.
681.82749 if it's 682.51 and 681.90741 if it's 682.59.
What gives?

Also, if I'm selling 681.95400000 for 1.42565, shouldn't it be 972.2277201 (681.95400000×1.42565=972.2277201)? Why is it showing 972.150735?

Really appreciate insight!
Jump to: