@jalmonter/ccxt
Version:
1,442 lines (1,440 loc) • 55.1 kB
JSON
{
"ace": {
"skipMethods": {
"loadMarkets": {
"currencyIdAndCode": "temporary skip, because ids are numeric and we are in wip for numeric id tests",
"quoteId": "numeric",
"quote": "numeric",
"baseId": "numeric",
"base": "numeric",
"settleId": "numeric",
"settle": "numeric",
"active":"is undefined"
},
"fetchOrderBook": "needs reversion of amount/price",
"fetchL2OrderBook": "same"
}
},
"alpaca": {
"skip": "private endpoints",
"skipWs": true
},
"ascendex": {
"skipPhpAsync": true,
"skipMethods": {
"loadMarkets": {
"currencyIdAndCode": "broken currencies"
},
"fetchCurrencies": {
"withdraw": "not provided",
"deposit": "not provided"
},
"fetchTickers": {
"low":"16 Aug - happened weird negative 24hr low",
"bid":"messed bid-ask",
"ask":"messed bid-ask"
}
}
},
"bequant": {
"skipWs": true,
"skipMethods": {
"loadMarkets": {
"currencyIdAndCode": "https://app.travis-ci.com/github/ccxt/ccxt/builds/264802937#L2194"
},
"fetchTickers": {
"bid":"broken bid-ask",
"ask":"broken bid-ask"
}
}
},
"binance": {
"httpProxy": "http://5.75.153.75:8002",
"skipPhpAsync": true,
"skipWs": true,
"skipMethods": {
"loadMarkets": {
"currencyIdAndCode": "i.e. binance does not have currency code BCC",
"expiry": "expiry not set for future markets",
"expiryDatetime": "expiry not set for future markets"
},
"fetchCurrencies": {
"precision": "not provided in public api",
"networks": "not yet unified"
}
}
},
"binanceus": {
"skipMethods": {
"loadMarkets": {
"expiry": "expiry not set for future markets",
"expiryDatetime": "expiry not set for future markets"
},
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
},
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
},
"fetchStatus": "private endpoints"
}
},
"binancecoinm": {
"httpProxy": "http://5.75.153.75:8002",
"skipPhpAsync": true,
"skipWs": true,
"skipMethods": {
"loadMarkets": {
"expiry": "expiry not set for future markets",
"expiryDatetime": "expiry not set for future markets"
},
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
},
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
}
}
},
"binanceusdm": {
"httpProxy": "http://5.75.153.75:8002",
"skipPhpAsync": true,
"skipWs": true,
"skipMethods": {
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
},
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
},
"fetchPositions": "currently returns a lot of default/non open positions",
"fetchLedger": {
"account": "empty",
"status": "not provided",
"before": "not provided",
"after": "not provided",
"fee": "not provided",
"code": "not provided",
"referenceId": "not provided"
},
"fetchBalance": "tmp skip"
}
},
"bit2c": {
"skip": "temporary certificate issues",
"until": "2023-11-25",
"skipMethods": {
"loadMarkets": {
"precision": "not provided",
"active": "not provided",
"taker": "not provided",
"maker": "not provided",
"info":"null"
},
"fetchOrderBook": {
"bid":"sometimes equals to zero: https://app.travis-ci.com/github/ccxt/ccxt/builds/267809189#L2540",
"ask":"same"
}
}
},
"tokocrypto": {
"httpProxy": "http://5.75.153.75:8002",
"skipPhpAsync": true,
"skipWs": true
},
"bitbank": {
},
"bitbay": {
"skipMethods": {
"loadMarkets": {
"expiry": "expiry not set for future markets",
"expiryDatetime": "expiry not set for future markets"
}
}
},
"bitbns": {
"skipMethods": {
"loadMarkets": {
"limits": "only one market has min>max limit",
"active": "not provided",
"currencyIdAndCode": "broken"
},
"fetchTickers": "unknown symbol might be returned"
}
},
"bitcoincom": {
"skipWs": true
},
"bitfinex": {
"skipWs": true,
"skipMethods": {
"loadMarkets": "linear and inverse values are same",
"fetchTickers": {
"symbol": "something broken with symbol",
"ask": "https://app.travis-ci.com/github/ccxt/ccxt/builds/262965121#L3179",
"bid": "same"
}
}
},
"bitfinex2": {
"//skipWs": true,
"skipMethods": {
"loadMarkets": {
"currencyIdAndCode": "broken currencies"
},
"fetchCurrencies": {
"withdraw": "not provided",
"deposit": "not provided"
},
"fetchOrderBook": "multiple bids might have same value",
"fetchL2OrderBook": "same",
"fetchTickers": "negative values"
}
},
"bitflyer": {
"skipMethods": {
"loadMarkets": "contract is true, but contractSize is undefined",
"fetchTrades": {
"side": "side key has an null value, but is expected to have a value"
}
}
},
"bitget": {
"skipMethods": {
"loadMarkets": {
"precision": "broken precision",
"limits": "limit max value is zero, lwer than min",
"contractSize": "not defined when contract",
"currencyIdAndCode": "broken currencies"
},
"fetchCurrencies": {
"precision": "not provided",
"withdraw": "not provided",
"deposit": "not provided"
},
"fetchTickers": {
"bid":"broken bid-ask",
"ask":"broken bid-ask",
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
}
}
},
"bithumb": {
"skip": "fetchMarkets returning undefined",
"until": "2023-09-05",
"skipMethods": {
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
},
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
}
}
},
"bitmart": {
"skipWs": true,
"skipMethods": {
"loadMarkets": {
"expiry":"expiry is expected to be > 0",
"settle": "not defined when contract",
"settleId": "not defined when contract",
"currencyIdAndCode": "broken currencies"
},
"fetchCurrencies": {
"precision":"not provided",
"networks": "missing"
},
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "same"
},
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "same"
},
"fetchL2OrderBook": "bid==ask , https://app.travis-ci.com/github/ccxt/ccxt/builds/263304041#L2170",
"fetchLOrderBook": "same"
}
},
"bitmex": {
"skipWs": true,
"skipMethods": {
"loadMarkets": "some market types are out of expected market-types",
"fetchOHLCV": "open might be greater than high",
"fetchTickers": "negative values",
"fetchPositions": {
"stopLossPrice": "undefined",
"takeProfitPrice": "undefined",
"marginRatio": "undefined",
"lastPrice": "undefined",
"collateral": "undefined",
"hedged": "undefined",
"lastUpdateTimestamp": "undefined",
"entryPrice": "undefined",
"markPrice": "undefined",
"leverage": "undefined",
"initialMargin": "undefined",
"maintenanceMargin": "can be zero for default position",
"notional": "can be zero for default position",
"contracts": "contracts",
"unrealizedPnl": "undefined",
"realizedPnl": "undefined",
"liquidationPrice": "can be 0",
"percentage": "might be 0"
},
"fetchMyTrades": {
"side": "sometimes side is not available"
},
"fetchLedger": {
"referenceId": "undefined",
"amount": "undefined",
"before":"not provided",
"tag": "undefined",
"tagFrom": "undefined",
"tagTo": "undefined",
"type": "unmapped types",
"timestamp": "default value might be invalid"
},
"fetchDepositsWithdrawals": {
"currency": "undefined",
"currencyIdAndCode": "messes codes"
},
"fetchTransactions": "skip"
}
},
"bitopro": {
"skipWs": true,
"skipMethods": {
"fetchCurrencies": {
"precision": "not provided",
"networks": "missing"
},
"loadMarkets": {
"currencyIdAndCode": "broken currencies"
}
}
},
"bitpanda": {
"skipWs": true,
"skipMethods": {
"fetchOrderBook": "some bid might be lower than next bid",
"fetchL2OrderBook": "same",
"fetchCurrencies": {
"withdraw": "not provided",
"deposit": "not provided"
}
}
},
"bitrue": {
"skipMethods": {
"loadMarkets": {
"currencyIdAndCode": "broken currencies",
"limits": "max is below min"
},
"fetchCurrencies": {
"precision": "not provided",
"withdraw": "not provided",
"deposit": "not provided"
},
"fetchTrades": {
"side": "not set"
},
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing",
"bid": "bid ask crossed",
"ask": "bid ask crossed"
},
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
}
}
},
"bitso": {
"skipWs": true,
"skipMethods": {
"loadMarkets": {
"active": "not provided"
},
"fetchOHLCV": "randomly failing with 404 not found"
}
},
"bitstamp": {
"skipWs": true,
"skipMethods": {
"fetchOrderBook": "bid/ask might be 0",
"fetchL2OrderBook": "same",
"fetchCurrencies": {
"withdraw": "not provided",
"deposit": "not provided"
},
"fetchTicker": {
"bid": "greater than ask https://app.travis-ci.com/github/ccxt/ccxt/builds/264241638#L3027",
"baseVolume": "baseVolume * low = 8.43e-6 * 3692.59081464 = 0.03112854056 < 0.0311285405674152",
"quoteVolume": "quoteVolume >= baseVolume * low <<< bitstamp fetchTickers"
},
"fetchTickers": {
"bid": "same",
"baseVolume": "same",
"quoteVolume": "same"
}
}
},
"bitstamp1": {
"skipWs": true,
"skipMethods": {
"loadMarkets": {
"info": "null",
"precision":"not provided",
"active": "not provided"
},
"fetchOrderBook": "bid/ask might be 0",
"fetchL2OrderBook": "same",
"fetchTicker": {
"bid": "greater than ask https://app.travis-ci.com/github/ccxt/ccxt/builds/264241638#L3027"
},
"fetchTickers": {
"bid": "same"
}
}
},
"bl3p": {
"skipMethods": {
"loadMarkets": {
"precision":"not provided",
"active": "not provided",
"info": "null"
},
"fetchTrades": {
"side": "side is undefined"
}
}
},
"bitvavo": {
"httpsProxy": "http://51.83.140.52:11230",
"skipWs": true,
"skipMethods": {
"fetchCurrencies": {
"precision": "not provided",
"networks": "missing"
},
"loadMarkets": {
"currencyIdAndCode": "broken currencies",
"taker": "is undefined",
"maker": "is undefined"
},
"fetchTickers": {
"bid":"broken bid-ask",
"ask":"broken bid-ask",
"quoteVolume": "quoteVolume >= baseVolume * low is failing https://app.travis-ci.com/github/ccxt/ccxt/builds/266144312#L2220"
}
}
},
"blockchaincom": {
"skipWs": "https://app.travis-ci.com/github/ccxt/ccxt/builds/265225134#L2304",
"skipMethods": {
"loadMarkets": {
"taker":"not provided",
"maker":"not provided"
},
"fetchOrderBook": "bid should be greater than next bid",
"fetchL2OrderBook": "same"
}
},
"bkex": {
"skipMethods": {
"fetchOrderBook": "system busy",
"loadMarkets": {
"currencyIdAndCode": "broken currencies",
"contractSize": "broken for some markets"
},
"fetchCurrencies": {
"precision": "not provided",
"networks": "missing"
},
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
},
"fetchOHLCV": "open might be greater than high"
}
},
"btcbox": {
"skipMethods": {
"loadMarkets": {
"precision":"is undefined",
"active":"is undefined",
"info": "null"
},
"fetchOrderBook": "bids[0][0] (3787971.0) should be < than asks[0][0] (3787971.0) <<< btcbox ",
"fetchL2OrderBook": "bids[0][0] (3787971.0) should be < than asks[0][0] (3787971.0) <<< btcbox ",
"fetchTickers": {
"bid":"broken bid-ask",
"ask":"broken bid-ask"
},
"fetchTicker": {
"bid":"broken bid-ask",
"ask":"broken bid-ask"
}
}
},
"btcex": {
"skipWs": true,
"skipMethods": {
"loadMarkets": {
"active": "is undefined",
"limits": "sometimes 'max' value is zero, lower than 'min'"
},
"fetchCurrencies": {
"withdraw": "not provided",
"deposit": "not provided"
},
"fetchTickers": {
"bid": "messed bid-ask : https://app.travis-ci.com/github/ccxt/ccxt/builds/263319874#L2090",
"ask": "same as above"
},
"fetchTicker": {
"bid": "same as above",
"ask": "same as above"
}
}
},
"btcalpha": {
"skip": true,
"skipMethods": {
"fetchOrderBook": "bids[0][0] is not < asks[0][0]",
"fetchL2OrderBook": "same",
"fetchTickers": {
"symbol": "https://app.travis-ci.com/github/ccxt/ccxt/builds/265171549#L2518",
"percentage": "broken",
"bid": "messed bid-ask",
"ask": "messed bid-ask"
},
"fetchTicker": {
"percentage": "",
"symbol": "",
"bid": "",
"ask": ""
}
}
},
"btcmarkets": {
"skipMethods": {
"loadMarkets":{
"active":"is undefined"
},
"fetchOrderBook": "bid should be greater than next bid",
"fetchL2OrderBook": "same"
}
},
"btctradeua": {
"skipMethods": {
"loadMarkets": {
"precision":"is undefined",
"active":"is undefined",
"taker":"is undefined",
"maker":"is undefined",
"info":"null"
},
"fetchOrderBook": "bid should be greater than next bid",
"fetchL2OrderBook": "same"
}
},
"btcturk": {
"skipMethods": {
"fetchOrderBook": "https://app.travis-ci.com/github/ccxt/ccxt/builds/263287870#L2201"
}
},
"bybit": {
"skipWs": "temporarily skipped because of RL issues. after proxy merge, turn it back on",
"skipMethods": {
"fetchTickers": {
"symbol" :"returned symbol is not same as requested symbol. i.e. BTC/USDT:USDT vs BTC/USDT"
},
"fetchTicker": {
"symbol" :"same"
},
"fetchTrades": "endpoint return Internal System Error",
"fetchCurrencies": {
"currencyIdAndCode": "temp skip"
},
"loadMarkets": {
"currencyIdAndCode": "temp skip"
},
"fetchPositions": "currently returns a lot of default/non open positions",
"fetchLedger": {
"account": "account is not provided",
"status": "status is not provided",
"fee": "undefined"
},
"fetchOpenInterestHistory": {
"openInterestAmount": "openInterestAmount is not provided"
},
"fetchBorrowRate": "does not work with unified account"
}
},
"buda": {
"httpProxy": "http://5.75.153.75:8002"
},
"bigone": {
"skipMethods": {
"fetchCurrencies": {
"withdraw": "not provided",
"deposit": "not provided"
},
"fetchTickers": {
"bid": "broken bid-ask",
"ask": "broken bid-ask",
"baseVolume": "negative value"
}
}
},
"coincheck": {
"skipMethods": {
"loadMarkets":{
"info":"not provided",
"precision":"not provided",
"active":"is undefined",
"taker":"is undefined",
"maker":"is undefined"
}
}
},
"coinbase": {
"skip": "private endpoints",
"skipMethods": {
"fetchCurrencies": {
"precision": "not provided"
},
"fetchTrades": "datetime is not same as timestamp"
}
},
"coinbasepro": {
"skipPhpAsync": true,
"skipMethods": {
"fetchStatus": "request timeout",
"fetchCurrencies": {
"withdraw": "not provided",
"deposit": "not provided"
}
}
},
"coinbaseprime": {
"skipPhpAsync": true,
"skipMethods": {
"fetchStatus": "request timeout",
"fetchCurrencies": {
"withdraw": "not provided",
"deposit": "not provided"
}
}
},
"coinone": {
"skipMethods": {
"loadMarkets": {
"active":"is undefined"
}
}
},
"coinspot": {
"skipMethods": {
"loadMarkets": "precision key has an null value, but is expected to have a value| taker key missing from structure (markets are created from constructor .options, so needs to fill with default values in base)",
"fetchTickers": {
"ask": "broken bid-ask",
"bid": "broken bid-ask",
"quoteVolume": "quoteVolume >= baseVolume * low is failing"
}
}
},
"coinsph": {
"skipMethods": {
"loadMarkets": {
"taker":"messed",
"maker":"messed"
},
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
},
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
}
}
},
"cex": {
"skipWs": true,
"skipPhpAsync": true,
"skipMethods": {
"proxies": "probably they do not permit our proxy location",
"loadMarkets": {
"active":"is undefined"
},
"fetchOHLCV": "unexpected issue",
"fetchCurrencies": {
"limits": "min is negative",
"withdraw": "not provided",
"deposit": "not provided",
"networks": "missing"
}
}
},
"coinex": {
"skipWs": true,
"skipMethods": {
"loadMarkets": {
"currencyIdAndCode":"broken",
"active":"is undefined"
}
}
},
"coinmate": {
"skipMethods": {
"loadMarkets": {
"active":"is undefined"
},
"fetchOrderBook": "ask should be less than next ask",
"fetchL2OrderBook": "same"
}
},
"cryptocom": {
"skipWs": true,
"skipPhpAsync": true,
"skipMethods": {
"proxies": "probably they do not permit our proxy",
"loadMarkets": {
"limits":"max is below min",
"active":"is undefined",
"currencyIdAndCode": "from travis location (USA) these webapi endpoints cant be loaded"
},
"fetchTickers": {
"timestamp": "timestamp might be of 1970-01-01T00:00:00.000Z",
"quoteVolume": "can't be infered"
},
"fetchTicker": {
"timestamp": "timestamp might be of 1970-01-01T00:00:00.000Z",
"quoteVolume": "can't be infered"
},
"fetchPositions": {
"entryPrice": "entryPrice is not provided",
"markPrice": "undefined",
"notional": "undefined",
"leverage": "undefined",
"liquidationPrice": "undefined",
"marginMode": "undefined",
"percentage": "undefined",
"marginRatio": "undefined",
"stopLossPrice": "undefined",
"takeProfitPrice": "undefined",
"maintenanceMargin": "undefined",
"initialMarginPercentage": "undefined",
"maintenanceMarginPercentage": "undefined",
"hedged": "undefined",
"side": "undefined",
"contracts": "undefined"
},
"fetchAccounts": {
"type": "type is not provided",
"code": "not provided"
}
}
},
"currencycom": {
"skipWs": true,
"skipMethods": {
"loadMarkets": {
"type": "unexpected market type",
"contractSize": "not defined when contract",
"settle": "not defined when contract",
"settleId": "not defined when contract"
},
"fetchTickers": {
"ask": "not above bid https://app.travis-ci.com/github/ccxt/ccxt/builds/263871244#L2163",
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
},
"fetchTicker": {
"ask": "not above bid https://app.travis-ci.com/github/ccxt/ccxt/builds/263871244#L2163",
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
}
}
},
"delta": {
"skipMethods": {
"loadMarkets": "expiryDatetime must be equal to expiry in iso8601 format",
"fetchOrderBook": "ask crossing bids test failing",
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing",
"ask": "failing the test",
"bid": "failing the test"
},
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing",
"ask": "failing the test",
"bid": "failing the test"
}
}
},
"deribit": {
"skipWs": true,
"skipMethods": {
"fetchCurrencies": "deposit/withdraw not provided",
"loadMarkets": "strike is set when option is not true",
"fetchTickers": "something wrong",
"fetchBalance": "does not add up",
"fetchPositions": {
"percentage": "undefined",
"hedged": "undefined",
"stopLossPrice": "undefined",
"takeProfitPrice": "undefined",
"lastPrice": "undefined",
"collateral": "undefined",
"marginMode": "undefined",
"marginRatio": "undefined",
"contracts": "undefined",
"id": "undefined"
},
"fetchDeposits": {
"id": "undefined",
"network": "undefined",
"addressFrom": "undefined",
"tag": "undefined",
"tagTo": "undefined",
"tagFrom": "undefined",
"fee": "undefined"
}
}
},
"flowbtc": {
"skipMethods": {
"fetchTrades": "timestamp is more than current utc timestamp",
"fetchOHLCV": "same"
}
},
"fmfwio": {
"skipMethods": {
"fetchCurrencies": {
"fee": "not provided"
},
"fetchTickers": {
"bid":"messed bid-ask",
"ask":"messed bid-ask"
}
}
},
"gemini": {
"skipWs": true,
"skipMethods": {
"loadMarkets": {
"currencyIdAndCode": "messed codes",
"active": "not provided"
},
"fetchCurrencies":{
"withdraw": "not provided",
"deposit": "not provided"
}
}
},
"hitbtc": {
"skipMethods": {
"loadMarkets": {
"currencyIdAndCode": "messed codes"
},
"fetchCurrencies": {
"fee": "not provided"
},
"fetchTickers": {
"bid":"messed bid-ask",
"ask":"messed bid-ask"
}
}
},
"hitbtc3": {
"skipMethods": {
"loadMarkets": {
"limits": "messed min max",
"currencyIdAndCode": "messed codes"
},
"fetchCurrencies": {
"fee": "not provided"
},
"fetchTickers": {
"bid":"messed bid-ask",
"ask":"messed bid-ask"
}
}
},
"digifinex": {
"skipMethods": {
"loadMarkets": {
"currencyIdAndCode": "messed codes"
},
"fetchCurrencies": {
"precision": "messed"
},
"fetchTicker": "unexpected symbol is being returned | safeMarket() requires a fourth argument for BTC_USDT to disambiguate between different markets with the same market id",
"fetchTickers": "unexpected symbol is being returned | safeMarket() requires a fourth argument for BTC_USDT to disambiguate between different markets with the same market id",
"fetchLeverageTiers": {
"minNotional": "undefined",
"currencyIdAndCode": "messed codes",
"currency": "messed"
},
"fetchBorrowRates": {
"currencyIdAndCode": "messed codes",
"currency": "messed"
},
"fetchBorrowInterest": "symbol is messed",
"fetchPositions": {
"percentage": "undefined",
"stopLossPrice": "undefined",
"takeProfitPrice": "undefined",
"collateral": "undefined",
"initialMargin": "undefined",
"initialMarginPercentage": "undefined",
"hedged": "undefined",
"id": "undefined",
"notional":"undefined"
},
"fetchBalance": "tmp skip"
}
},
"gate": {
"skipMethods": {
"loadMarkets": {
"currencyIdAndCode": "messed codes",
"fetchCurrencies": {
"fee":"not provided"
},
"limits": "max should be above min",
"contractSize": "broken for some markets",
"strike": "incorrect number type"
},
"fetchTrades": {
"timestamp": "timestamp is in decimals"
},
"fetchTickers": {
"bid":"messed bid-ask",
"ask":"messed bid-ask",
"quoteVolume": "https://app.travis-ci.com/github/ccxt/ccxt/builds/262963390#L3138",
"baseVolume": "https://app.travis-ci.com/github/ccxt/ccxt/builds/262963390#L3138"
},
"fetchTicker": {
"bid":"same",
"ask":"same",
"quoteVolume": "same",
"baseVolume": "same"
},
"fetchPositions": "currently returns a lot of default/non open positions",
"fetchLedger": {
"currency": "undefined",
"status": "undefined",
"fee": "undefined",
"account": "undefined",
"referenceAccount": "undefined",
"referenceId": "undefined"
},
"fetchTradingFees": "sandbox does not have this endpoint",
"fetchDeposits": "sandbox does not have this endpoint",
"fetchWithdrawals": "sandbox does not have this endpoint"
}
},
"hollaex": {
"skipWs": true
},
"htx": {
"skipMethods": {
"loadMarkets": {
"limits":"messed",
"currencyIdAndCode": "messed codes"
},
"fetchCurrencies": {
"withdraw":"not provided",
"deposit":"not provided",
"precision":"is undefined",
"limits": "broken somewhere"
},
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing",
"bid":"messed bid-ask",
"ask":"messed bid-ask"
},
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing",
"bid":"messed bid-ask",
"ask":"messed bid-ask"
}
}
},
"huobijp": {
"skipWs": true,
"skipMethods": {
"loadMarkets": {
"limits": "messed"
},
"fetchCurrencies": {
"fee": "not defined",
"networks": "missing"
},
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
},
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
},
"fetchTrades": {
"fees": "missing"
}
}
},
"stex": {
"skipMethods": {
"fetchCurrencies":{
"withdraw":"not provided",
"deposit":"not provided"
},
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing",
"bid":"messed bid-ask",
"ask":"messed bid-ask"
},
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing",
"bid":"messed bid-ask",
"ask":"messed bid-ask"
}
}
},
"probit": {
"skipWs": true,
"skipMethods": {
"loadMarkets": "needs fixing",
"fetchCurrencies": {
"limits": "messed"
},
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
},
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
}
}
},
"idex": {
"skipWs": true,
"skipMethods": {
"fetchCurrencies": {
"withdraw":"not provided",
"deposit":"not provided",
"networks": "missing"
},
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing",
"ask":"messed bid-ask",
"bid":"messed bid-ask"
},
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing",
"ask":"messed bid-ask",
"bid":"messed bid-ask"
}
}
},
"independentreserve": {
"skipWs": true,
"skipMethods": {
"loadMarkets": {
"active":"is undefined"
},
"fetchTrades": {
"side":"side is undefined"
},
"fetchOrderBook": "bid should be greater than next bid",
"fetchL2OrderBook": "same"
}
},
"coinfalcon": {
"skipMethods": {
"fetchTickers": "negative values"
}
},
"kuna": {
"skip": "temporary glitches with this exchange: https://app.travis-ci.com/github/ccxt/ccxt/builds/267517440#L2304",
"httpProxy": "http://5.75.153.75:8002",
"skipPhpAsync": true,
"skipMethods": {
"loadMarkets": {
"active":"is undefined"
},
"fetchCurrencies": {
"deposit":"is undefined",
"withdraw":"is undefined",
"active":"is undefined",
"precision":"somewhat strange atm https://app.travis-ci.com/github/ccxt/ccxt/builds/267515280#L2337"
}
}
},
"kucoin": {
"skipWs": true,
"skipMethods":{
"fetchCurrencies": {
"depositForNonCrypto": "not provided",
"withdrawForNonCrypto": "not provided"
},
"loadMarkets": {
"currencyIdAndCode": "messed"
},
"fetchTickers": {
"bid":"messed bid-ask",
"ask":"messed bid-ask",
"quoteVolume": "quoteVolume <= baseVolume * high https://app.travis-ci.com/github/ccxt/ccxt/builds/263304041#L2190",
"baseVolume": "same"
}
}
},
"kucoinfutures": {
"skipWs": true,
"skipMethods":{
"loadMarkets": {
"currencyIdAndCode": "messed"
},
"fetchPositions": {
"percentage": "percentage is not provided"
}
}
},
"latoken": {
"skipMethods":{
"loadMarkets": {
"currencyIdAndCode": "messed"
},
"fetchCurrencies": {
"withdraw":"not provided",
"deposit":"not provided"
},
"fetchTickers": "negative values"
}
},
"luno": {
"skipMethods": {
"fetchOrderBook": "bid should be greater than next bid",
"fetchL2OrderBook": "same"
}
},
"lbank": {
"skipMethods": {
"loadMarkets": "settle must be defined when contract is true",
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
},
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
}
}
},
"lykke": {
"skipMethods": {
"loadMarkets": {
"currencyIdAndCode": "messed codes"
},
"fetchCurrencies": {
"fee":"not provided"
},
"fetchOrderBook": "bid should be greater than next bid",
"fetchL2OrderBook": "same",
"fetchTickers": "negative values",
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
}
}
},
"mercado": {
"skipMethods": {
"loadMarkets": "needs migration to v4, as raw info is not being used. granular can be used for skipping 'info'",
"fetchOrderBook": "bid > ask",
"fetchL2OrderBook": "bid > ask",
"fetchTickers": "bid > ask",
"fetchTicker": "bid > ask",
"fetchCurrencies": "info key is missing"
}
},
"novadax": {
"skipMethods": {
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing",
"ask": "https://app.travis-ci.com/github/ccxt/ccxt/builds/266029139",
"bid": "https://app.travis-ci.com/github/ccxt/ccxt/builds/266029139"
},
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
}
}
},
"ndax": {
"skipWs": true,
"skipMethods": {
"fetchCurrencies": {
"withdraw": "not provided",
"deposit": "not provided"
}
}
},
"mexc": {
"skipWs": true,
"skipMethods": {
"loadMarkets":{
"currencyIdAndCode": "messed"
},
"fetchCurrencies":{
"precision":"is undefined"
},
"fetchTrades": {
"side": "side is not buy/sell"
},
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing",
"bid":"messed bid-ask",
"ask":"messed bid-ask"
},
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing",
"bid":"messed bid-ask",
"ask":"messed bid-ask"
},
"fetchAccounts": {
"type": "type is not provided"
},
"fetchLeverageTiers": "swap only supported"
}
},
"oceanex": {
"skipMethods": {
"loadMarkets":{
"active":"is undefined"
},
"fetchOrderBooks": "fetchOrderBooks returned 0 length"
}
},
"p2b": {
"httpsProxy": "http://51.83.140.52:11230",
"skipMethods": {
"loadMarkets": "invalid URL",
"fetchTrades": "requires order id"
}
},
"paymium": {
"skip": "exchange is down",
"skipMethods": {
"loadMarkets": {
"precision": "not provided",
"active": "not provided",
"info": "null",
"taker":"is undefined",
"maker":"is undefined"
},
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
},
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
}
}
},
"phemex": {
"skipPhpAsync": true,
"skipMethods": {
"loadMarkets": {
"contractSize": "broken for some markets",
"active": "not provided",
"currencyIdAndCode": "messed",
"taker": "null",
"maker": "null"
},
"fetchCurrencies": {
"withdraw": "not provided",
"deposit": "not provided"
},
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing",
"ask": "messed bid-ask",
"bid": "messed bid-ask"
},
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing",
"ask": "messed bid-ask",
"bid": "messed bid-ask"
}
}
},
"okcoin": {
"skipWs": true,
"skipMethods": {
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
},
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
}
}
},
"exmo": {
"skipWs": true,
"skipMethods": {
"loadMarkets": {
"active":"is undefined"
},
"fetchCurrencies":{
"info":"null",
"withdraw":"not provided",
"deposit":"not provided"
},
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
},
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
}
}
},
"poloniex": {
"skipMethods": {
"loadMarkets": {
"currencyIdAndCode": "some currencies does not exist in currencies"
},
"fetchCurrencies": {
"withdraw": "undefined",
"deposit": "undefined",
"networks": "networks key is missing",
"precision": "not provided"
},
"fetchTrades": {
"side": "side is not buy/sell"
},
"fetchTicker": {
"quoteVolume": "quoteVolume <= baseVolume * high | https://app.travis-ci.com/github/ccxt/ccxt/builds/263884643#L2462",
"baseVolume": "same"
},
"fetchTickers": {
"quoteVolume": "same",
"baseVolume": "same"
}
}
},
"okx": {
"skipMethods": {
"loadMarkets": "linear & inverse must not be same",
"fetchCurrencies": {
"info": "null",
"currencyIdAndCode": "temp skip"
},
"fetchTickers": {
"quoteVolume": "quoteVolume <= baseVolume * high : https://app.travis-ci.com/github/ccxt/ccxt/builds/263319874#L2132",
"baseVolume": "same"
},
"fetchTicker": {
"quoteVolume": "quoteVolume <= baseVolume * high <<< okx fetchTicker"
},
"fetchBorrowRate": "some fields that we can't skip missing",
"fetchBorrowRates": "same"
}
},
"tidex": {
"skip": "exchange unavailable, probably api upgrade needed"
},
"kraken": {
"skipWs": true,
"skipPhpAsync": true,
"skipMethods": {
"loadMarkets": {
"currencyIdAndCode": "https://app.travis-ci.com/github/ccxt/ccxt/builds/267515280#L2314"
},
"fetchCurrencies": {
"withdraw": "undefined",
"deposit": "undefined",
"currencyIdAndCode": "same as in loadMarkets"
},
"fetchTickers": {
"quoteVolume": "quoteVolume <= baseVolume * high is failing",
"baseVolume": "quoteVolume <= baseVolume * high is failing"
}
}
},
"krakenfutures": {
"skip": "continious timeouts https://app.travis-ci.com/github/ccxt/ccxt/builds/265225134#L2431",
"skipWs": true,
"skipMethods": {
"loadMarkets": "skip loadMarkets",
"fetchCurrencies": {
"withdraw": "undefined",
"deposit": "undefined"
},
"fetchTickers": "timeouts this call specifically",
"fetchTicker": "timeouts this call specifically"
},
"timeout": 120000
},
"upbit": {
"skipWs": true,
"skipMethods": {
"fetchTickers": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
},
"fetchTicker": {
"quoteVolume": "quoteVolume >= baseVolume * low is failing",
"baseVolume": "quoteVolume >= baseVolume * low is failing"
}
}
},
"ripio": {
"httpProxy": "http://5.75.153.75:8002",
"skipWs": true
},
"timex": {
"skipMethods": {
"loadMarkets": {
"currencyIdAndCode": "messed"
},
"fetchCurrencies": {
"fee":"is undefined",
"networks": "key not present"
},
"fetchTrades": {
"fees": "missingn from struc