Critical bug in Futures Api. Exchange Information endpoint.

Field ‘pricePrecision’ for many symbols contains incorrect data. which leads to a trade error.
I found this error on the following symbols: ANKRUSDT, FTMUSDT, AXSUSDT, BELUSDT, ALPHAUSDT, CTKUSDT, TRBUSDT, KSMUSDT, DODOUSDT, SUSHIUSDT.

But the rest should be checked as well.

Guys, this bug still exists after 2 years of being published. Please vote it if you really consider it critical. Thank you!

2 Likes

Hi. If the incorrect part refers to the recent change, please also take a look at the tick size. Let us know if they still don’t match, thanks.

Hello sir.
Still don’t match for this pairs: ADAUSDT, BNBUSDT, VETUSDT, THETAUSDT, KNCUSDT, DOGEUSDT, WAVESUSDT, MKRUSDT, TRBUSDT, RUNEUSDT, SUSHIUSDT, SRMUSDT, SOLUSDT, UNIUSDT, AVAXUSDT, FTMUSDT, ENJUSDT, KSMUSDT, AAVEUSDT, BELUSDT, CTKUSDT, AXSUSDT, ALPHAUSDT, ANKRUSDT, LUNAUSDT

For example: BNBUSDT. API return pricePrecision: 3. But real pricePrecision = 2

Here is a sample output from exchangeInfo endpoint. Let me know if I miss anything.

{
            "symbol": "BNBUSDT",
            "pair": "BNBUSDT",
            "contractType": "PERPETUAL",
            "deliveryDate": 4133404800000,
            "onboardDate": 1569398400000,
            "status": "TRADING",
            "maintMarginPercent": "2.5000",
            "requiredMarginPercent": "5.0000",
            "baseAsset": "BNB",
            "quoteAsset": "USDT",
            "marginAsset": "USDT",
            "pricePrecision": 3,  <-- precision yet to be updated
            "quantityPrecision": 2,
            "baseAssetPrecision": 8,
            "quotePrecision": 8,
            "underlyingType": "COIN",
            "underlyingSubType": [ .. ],
            "settlePlan": 0,
            "triggerProtect": "0.0500",
            "filters": [
                {
                    "minPrice": "6.600",
                    "maxPrice": "100000",
                    "filterType": "PRICE_FILTER",
                    "tickSize": "0.010"   <-- Tick size is updated, it has the same effect as precision = 2
                },
               ..
            ],
            "orderTypes": [ .. ],
            "timeInForce": [ .. ]
        },

Yes sir. This pricePrecision must be updated. Because its 3, but real precision is 2.

Thank you for tickSize. I will add tickSize to my logic.

Hello,

Does anybody knows if the pricePrecision was updated?

Regards,

Orlando Gautier

The “tickSize” data is invalid as well. This bug is extremely dangerous, because we cannot calculate risks.

{
“symbol”: “SOLUSDT”,
“pricePrecision”: 4, ###real pricePrecision is 3!!
“filters”: [
{
“filterType”: “PRICE_FILTER”,
“tickSize”: “0.0100” ###real tickSize is 0.001!!
},
}