ccxt 4.4.95__py2.py3-none-any.whl → 4.4.97__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ccxt/__init__.py +3 -1
- ccxt/abstract/binance.py +3 -0
- ccxt/abstract/binancecoinm.py +3 -0
- ccxt/abstract/binanceus.py +3 -0
- ccxt/abstract/binanceusdm.py +3 -0
- ccxt/abstract/foxbit.py +26 -0
- ccxt/abstract/hyperliquid.py +1 -1
- ccxt/abstract/phemex.py +1 -0
- ccxt/apex.py +3 -3
- ccxt/ascendex.py +2 -2
- ccxt/async_support/__init__.py +3 -1
- ccxt/async_support/apex.py +3 -3
- ccxt/async_support/ascendex.py +2 -2
- ccxt/async_support/base/exchange.py +10 -5
- ccxt/async_support/base/ws/future.py +5 -3
- ccxt/async_support/binance.py +90 -34
- ccxt/async_support/binancecoinm.py +5 -1
- ccxt/async_support/binanceus.py +3 -1
- ccxt/async_support/binanceusdm.py +3 -1
- ccxt/async_support/bingx.py +1 -1
- ccxt/async_support/bitget.py +30 -143
- ccxt/async_support/bitmart.py +2 -2
- ccxt/async_support/bitrue.py +13 -8
- ccxt/async_support/bybit.py +14 -5
- ccxt/async_support/coinbaseexchange.py +4 -2
- ccxt/async_support/coinbaseinternational.py +2 -2
- ccxt/async_support/coinspot.py +36 -1
- ccxt/async_support/cryptocom.py +78 -3
- ccxt/async_support/cryptomus.py +41 -1
- ccxt/async_support/defx.py +1 -1
- ccxt/async_support/derive.py +1 -1
- ccxt/async_support/ellipx.py +40 -0
- ccxt/async_support/exmo.py +1 -1
- ccxt/async_support/foxbit.py +1935 -0
- ccxt/async_support/gate.py +1 -2
- ccxt/async_support/hashkey.py +39 -0
- ccxt/async_support/hyperliquid.py +42 -27
- ccxt/async_support/independentreserve.py +35 -0
- ccxt/async_support/indodax.py +34 -0
- ccxt/async_support/kucoin.py +3 -2
- ccxt/async_support/kucoinfutures.py +3 -2
- ccxt/async_support/latoken.py +42 -0
- ccxt/async_support/luno.py +36 -0
- ccxt/async_support/mercado.py +34 -0
- ccxt/async_support/mexc.py +31 -32
- ccxt/async_support/modetrade.py +3 -3
- ccxt/async_support/okcoin.py +1 -1
- ccxt/async_support/okx.py +10 -3
- ccxt/async_support/onetrading.py +1 -1
- ccxt/async_support/oxfun.py +2 -1
- ccxt/async_support/paradex.py +2 -2
- ccxt/async_support/phemex.py +36 -31
- ccxt/async_support/vertex.py +3 -2
- ccxt/async_support/woo.py +6 -2
- ccxt/async_support/woofipro.py +2 -2
- ccxt/base/decimal_to_precision.py +16 -10
- ccxt/base/errors.py +6 -0
- ccxt/base/exchange.py +60 -17
- ccxt/binance.py +90 -34
- ccxt/binancecoinm.py +5 -1
- ccxt/binanceus.py +3 -1
- ccxt/binanceusdm.py +3 -1
- ccxt/bingx.py +1 -1
- ccxt/bitget.py +30 -143
- ccxt/bitmart.py +2 -2
- ccxt/bitrue.py +13 -8
- ccxt/bybit.py +14 -5
- ccxt/coinbaseexchange.py +4 -2
- ccxt/coinbaseinternational.py +2 -2
- ccxt/coinspot.py +36 -1
- ccxt/cryptocom.py +78 -3
- ccxt/cryptomus.py +41 -1
- ccxt/defx.py +1 -1
- ccxt/derive.py +1 -1
- ccxt/ellipx.py +40 -0
- ccxt/exmo.py +1 -1
- ccxt/foxbit.py +1935 -0
- ccxt/gate.py +1 -2
- ccxt/hashkey.py +39 -0
- ccxt/hyperliquid.py +42 -27
- ccxt/independentreserve.py +35 -0
- ccxt/indodax.py +34 -0
- ccxt/kucoin.py +3 -2
- ccxt/kucoinfutures.py +3 -2
- ccxt/latoken.py +42 -0
- ccxt/luno.py +36 -0
- ccxt/mercado.py +34 -0
- ccxt/mexc.py +31 -32
- ccxt/modetrade.py +3 -3
- ccxt/okcoin.py +1 -1
- ccxt/okx.py +10 -3
- ccxt/onetrading.py +1 -1
- ccxt/oxfun.py +2 -1
- ccxt/paradex.py +2 -2
- ccxt/phemex.py +36 -31
- ccxt/pro/__init__.py +1 -1
- ccxt/pro/binancecoinm.py +3 -1
- ccxt/pro/binanceus.py +3 -1
- ccxt/pro/binanceusdm.py +3 -1
- ccxt/pro/bybit.py +33 -1
- ccxt/test/tests_async.py +15 -0
- ccxt/test/tests_sync.py +15 -0
- ccxt/vertex.py +3 -2
- ccxt/woo.py +6 -2
- ccxt/woofipro.py +2 -2
- {ccxt-4.4.95.dist-info → ccxt-4.4.97.dist-info}/METADATA +19 -19
- {ccxt-4.4.95.dist-info → ccxt-4.4.97.dist-info}/RECORD +110 -107
- {ccxt-4.4.95.dist-info → ccxt-4.4.97.dist-info}/LICENSE.txt +0 -0
- {ccxt-4.4.95.dist-info → ccxt-4.4.97.dist-info}/WHEEL +0 -0
- {ccxt-4.4.95.dist-info → ccxt-4.4.97.dist-info}/top_level.txt +0 -0
ccxt/pro/binanceusdm.py
CHANGED
@@ -19,7 +19,9 @@ class binanceusdm(binance):
|
|
19
19
|
'doc': 'https://developers.binance.com/en',
|
20
20
|
},
|
21
21
|
'options': {
|
22
|
-
'fetchMarkets':
|
22
|
+
'fetchMarkets': {
|
23
|
+
'types': ['linear'],
|
24
|
+
},
|
23
25
|
'defaultSubType': 'linear',
|
24
26
|
},
|
25
27
|
# https://binance-docs.github.io/apidocs/futures/en/#error-codes
|
ccxt/pro/bybit.py
CHANGED
@@ -49,6 +49,17 @@ class bybit(ccxt.async_support.bybit):
|
|
49
49
|
'watchTrades': True,
|
50
50
|
'watchPositions': True,
|
51
51
|
'watchTradesForSymbols': True,
|
52
|
+
'unWatchTicker': True,
|
53
|
+
'unWatchTickers': True,
|
54
|
+
'unWatchOHLCV': True,
|
55
|
+
'unWatchOHLCVForSymbols': True,
|
56
|
+
'unWatchOrderBook': True,
|
57
|
+
'unWatchOrderBookForSymbols': True,
|
58
|
+
'unWatchTrades': True,
|
59
|
+
'unWatchTradesForSymbols': True,
|
60
|
+
'unWatchMyTrades': True,
|
61
|
+
'unWatchOrders': True,
|
62
|
+
'unWatchPositions': True,
|
52
63
|
},
|
53
64
|
'urls': {
|
54
65
|
'api': {
|
@@ -1484,6 +1495,27 @@ class bybit(ccxt.async_support.bybit):
|
|
1484
1495
|
client.resolve(positions, messageHash)
|
1485
1496
|
client.resolve(newPositions, 'positions')
|
1486
1497
|
|
1498
|
+
async def un_watch_positions(self, symbols: Strings = None, params={}) -> Any:
|
1499
|
+
"""
|
1500
|
+
unWatches all open positions
|
1501
|
+
|
1502
|
+
https://bybit-exchange.github.io/docs/v5/websocket/private/position
|
1503
|
+
|
1504
|
+
:param str[] [symbols]: list of unified market symbols
|
1505
|
+
:param dict [params]: extra parameters specific to the exchange API endpoint
|
1506
|
+
:returns dict: status of the unwatch request
|
1507
|
+
"""
|
1508
|
+
await self.load_markets()
|
1509
|
+
method = 'watchPositions'
|
1510
|
+
messageHash = 'unsubscribe:positions'
|
1511
|
+
subHash = 'positions'
|
1512
|
+
if not self.is_empty(symbols):
|
1513
|
+
raise NotSupported(self.id + ' unWatchPositions() does not support a symbol parameter, you must unwatch all orders')
|
1514
|
+
url = await self.get_url_by_market_type(None, True, method, params)
|
1515
|
+
await self.authenticate(url)
|
1516
|
+
topics = ['position']
|
1517
|
+
return await self.un_watch_topics(url, 'positions', symbols, [messageHash], [subHash], topics, params)
|
1518
|
+
|
1487
1519
|
async def watch_liquidations(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Liquidation]:
|
1488
1520
|
"""
|
1489
1521
|
watch the public liquidations of a trading pair
|
@@ -2083,7 +2115,7 @@ class bybit(ccxt.async_support.bybit):
|
|
2083
2115
|
message = self.extend(request, params)
|
2084
2116
|
return await self.watch_multiple(url, messageHashes, message, messageHashes)
|
2085
2117
|
|
2086
|
-
async def un_watch_topics(self, url: str, topic: str, symbols:
|
2118
|
+
async def un_watch_topics(self, url: str, topic: str, symbols: Strings, messageHashes: List[str], subMessageHashes: List[str], topics, params={}, subExtension={}):
|
2087
2119
|
reqId = self.request_id()
|
2088
2120
|
request: dict = {
|
2089
2121
|
'op': 'unsubscribe',
|
ccxt/test/tests_async.py
CHANGED
@@ -629,11 +629,26 @@ class testMainClass:
|
|
629
629
|
assert exchange.hostname == 'binance.us', 'binance.us hostname does not match ' + exchange.hostname
|
630
630
|
assert exchange.urls['api']['public'] == 'https://api.binance.us/api/v3', 'https://api.binance.us/api/v3 does not match: ' + exchange.urls['api']['public']
|
631
631
|
|
632
|
+
async def test_return_response_headers(self, exchange):
|
633
|
+
if exchange.id != 'binance':
|
634
|
+
return False # this test is only for binance exchange for now
|
635
|
+
exchange.return_response_headers = True
|
636
|
+
ticker = await exchange.fetch_ticker('BTC/USDT')
|
637
|
+
info = ticker['info']
|
638
|
+
headers = info['responseHeaders']
|
639
|
+
headers_keys = list(headers.keys())
|
640
|
+
assert len(headers_keys) > 0, 'Response headers should not be empty'
|
641
|
+
header_values = list(headers.values())
|
642
|
+
assert len(header_values) > 0, 'Response headers values should not be empty'
|
643
|
+
exchange.return_response_headers = False
|
644
|
+
return True
|
645
|
+
|
632
646
|
async def start_test(self, exchange, symbol):
|
633
647
|
# we do not need to test aliases
|
634
648
|
if exchange.alias:
|
635
649
|
return True
|
636
650
|
self.check_constructor(exchange)
|
651
|
+
# await this.testReturnResponseHeaders (exchange);
|
637
652
|
if self.sandbox or get_exchange_prop(exchange, 'sandbox'):
|
638
653
|
exchange.set_sandbox_mode(True)
|
639
654
|
try:
|
ccxt/test/tests_sync.py
CHANGED
@@ -626,11 +626,26 @@ class testMainClass:
|
|
626
626
|
assert exchange.hostname == 'binance.us', 'binance.us hostname does not match ' + exchange.hostname
|
627
627
|
assert exchange.urls['api']['public'] == 'https://api.binance.us/api/v3', 'https://api.binance.us/api/v3 does not match: ' + exchange.urls['api']['public']
|
628
628
|
|
629
|
+
def test_return_response_headers(self, exchange):
|
630
|
+
if exchange.id != 'binance':
|
631
|
+
return False # this test is only for binance exchange for now
|
632
|
+
exchange.return_response_headers = True
|
633
|
+
ticker = exchange.fetch_ticker('BTC/USDT')
|
634
|
+
info = ticker['info']
|
635
|
+
headers = info['responseHeaders']
|
636
|
+
headers_keys = list(headers.keys())
|
637
|
+
assert len(headers_keys) > 0, 'Response headers should not be empty'
|
638
|
+
header_values = list(headers.values())
|
639
|
+
assert len(header_values) > 0, 'Response headers values should not be empty'
|
640
|
+
exchange.return_response_headers = False
|
641
|
+
return True
|
642
|
+
|
629
643
|
def start_test(self, exchange, symbol):
|
630
644
|
# we do not need to test aliases
|
631
645
|
if exchange.alias:
|
632
646
|
return True
|
633
647
|
self.check_constructor(exchange)
|
648
|
+
# this.testReturnResponseHeaders (exchange);
|
634
649
|
if self.sandbox or get_exchange_prop(exchange, 'sandbox'):
|
635
650
|
exchange.set_sandbox_mode(True)
|
636
651
|
try:
|
ccxt/vertex.py
CHANGED
@@ -2351,7 +2351,7 @@ class vertex(Exchange, ImplicitAPI):
|
|
2351
2351
|
# "request_type": "execute_cancel_product_orders"
|
2352
2352
|
# }
|
2353
2353
|
#
|
2354
|
-
return response
|
2354
|
+
return [self.safe_order({'info': response})]
|
2355
2355
|
|
2356
2356
|
def cancel_order(self, id: str, symbol: Str = None, params={}):
|
2357
2357
|
"""
|
@@ -2365,7 +2365,8 @@ class vertex(Exchange, ImplicitAPI):
|
|
2365
2365
|
:param dict [params]: extra parameters specific to the exchange API endpoint
|
2366
2366
|
:returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
|
2367
2367
|
"""
|
2368
|
-
|
2368
|
+
order = self.cancel_orders([id], symbol, params)
|
2369
|
+
return self.safe_order({'info': order})
|
2369
2370
|
|
2370
2371
|
def cancel_orders(self, ids: List[str], symbol: Str = None, params={}):
|
2371
2372
|
"""
|
ccxt/woo.py
CHANGED
@@ -1502,8 +1502,11 @@ class woo(Exchange, ImplicitAPI):
|
|
1502
1502
|
if symbol is not None:
|
1503
1503
|
market = self.market(symbol)
|
1504
1504
|
request['symbol'] = market['id']
|
1505
|
+
response = None
|
1505
1506
|
if trigger:
|
1506
|
-
|
1507
|
+
response = self.v3PrivateDeleteTradeAlgoOrders(params)
|
1508
|
+
else:
|
1509
|
+
response = self.v3PrivateDeleteTradeOrders(self.extend(request, params))
|
1507
1510
|
#
|
1508
1511
|
# {
|
1509
1512
|
# "success": True,
|
@@ -1513,7 +1516,8 @@ class woo(Exchange, ImplicitAPI):
|
|
1513
1516
|
# "timestamp": 1751941988134
|
1514
1517
|
# }
|
1515
1518
|
#
|
1516
|
-
|
1519
|
+
data = self.safe_dict(response, 'data', {})
|
1520
|
+
return [self.safe_order({'info': data})]
|
1517
1521
|
|
1518
1522
|
def cancel_all_orders_after(self, timeout: Int, params={}):
|
1519
1523
|
"""
|
ccxt/woofipro.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ccxt
|
3
|
-
Version: 4.4.
|
3
|
+
Version: 4.4.97
|
4
4
|
Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges
|
5
5
|
Home-page: https://ccxt.com
|
6
6
|
Author: Igor Kroitor
|
@@ -49,7 +49,7 @@ Requires-Dist: mypy==1.6.1; extra == "type"
|
|
49
49
|
|
50
50
|
# CCXT – CryptoCurrency eXchange Trading Library
|
51
51
|
|
52
|
-
[](https://www.npmjs.com/package/ccxt) [](https://npmjs.com/package/ccxt) [](https://pypi.python.org/pypi/ccxt) [](https://www.nuget.org/packages/ccxt) [](https://godoc.org/github.com/ccxt/ccxt/go/v4) [](https://discord.gg/ccxt) [](https://www.npmjs.com/package/ccxt) [](https://npmjs.com/package/ccxt) [](https://pypi.python.org/pypi/ccxt) [](https://www.nuget.org/packages/ccxt) [](https://godoc.org/github.com/ccxt/ccxt/go/v4) [](https://discord.gg/ccxt) [](https://github.com/ccxt/ccxt/wiki/Exchange-Markets) [](https://x.com/ccxt_official)
|
53
53
|
|
54
54
|
A `JavaScript` / `Python` / `PHP` / `C#` / `Go` library for cryptocurrency trading and e-commerce with support for many bitcoin/ether/altcoin exchange markets and merchant APIs.
|
55
55
|
|
@@ -80,29 +80,28 @@ Current feature list:
|
|
80
80
|
|logo |id |name |ver |type |certified |pro |discount |
|
81
81
|
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|-----------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------:|--------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------:|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
82
82
|
| [](https://accounts.binance.com/en/register?ref=D7YA7CLY) | binance | [Binance](https://accounts.binance.com/en/register?ref=D7YA7CLY) | [](https://developers.binance.com/en) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://accounts.binance.com/en/register?ref=D7YA7CLY) |
|
83
|
-
| [](https://accounts.binance.com/en/register?ref=D7YA7CLY) | binancecoinm | [Binance COIN-M](https://accounts.binance.com/en/register?ref=D7YA7CLY) | [](https://binance-docs.github.io/apidocs/delivery/en/) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://accounts.binance.com/en/register?ref=D7YA7CLY) |
|
84
83
|
| [](https://accounts.binance.com/en/register?ref=D7YA7CLY) | binanceusdm | [Binance USDⓈ-M](https://accounts.binance.com/en/register?ref=D7YA7CLY) | [](https://binance-docs.github.io/apidocs/futures/en/) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://accounts.binance.com/en/register?ref=D7YA7CLY) |
|
85
|
-
| [](https://www.bitget.com/expressly?languageType=0&channelCode=ccxt&vipCode=tg9j) | bitget | [Bitget](https://www.bitget.com/expressly?languageType=0&channelCode=ccxt&vipCode=tg9j) | [](https://www.bitget.com/api-doc/common/intro) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | |
|
87
|
-
| [](http://www.bitmart.com/?r=rQCFLh) | bitmart | [BitMart](http://www.bitmart.com/?r=rQCFLh) | [](https://developer-pro.bitmart.com/) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](http://www.bitmart.com/?r=rQCFLh) |
|
88
|
-
| [](https://www.bitmex.com/app/register/NZTR1q) | bitmex | [BitMEX](https://www.bitmex.com/app/register/NZTR1q) | [](https://www.bitmex.com/app/apiOverview) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://www.bitmex.com/app/register/NZTR1q) |
|
84
|
+
| [](https://accounts.binance.com/en/register?ref=D7YA7CLY) | binancecoinm | [Binance COIN-M](https://accounts.binance.com/en/register?ref=D7YA7CLY) | [](https://binance-docs.github.io/apidocs/delivery/en/) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://accounts.binance.com/en/register?ref=D7YA7CLY) |
|
89
85
|
| [](https://www.bybit.com/register?affiliate_id=35953) | bybit | [Bybit](https://www.bybit.com/register?affiliate_id=35953) | [](https://bybit-exchange.github.io/docs/inverse/) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | |
|
90
|
-
| [](https://crypto.com/exch/kdacthrnxt) | cryptocom | [Crypto.com](https://crypto.com/exch/kdacthrnxt) | [](https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://crypto.com/exch/kdacthrnxt) |
|
86
|
+
| [](https://www.okx.com/join/CCXT2023) | okx | [OKX](https://www.okx.com/join/CCXT2023) | [](https://www.okx.com/docs-v5/en/) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://www.okx.com/join/CCXT2023) |
|
92
87
|
| [](https://www.gate.io/signup/2436035) | gate | [Gate.io](https://www.gate.io/signup/2436035) | [](https://www.gate.io/docs/developers/apiv4/en/) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://www.gate.io/signup/2436035) |
|
93
|
-
| [](https://global.hashkey.com/en-US/register/invite?invite_code=82FQUN) | hashkey | [HashKey Global](https://global.hashkey.com/en-US/register/invite?invite_code=82FQUN) | [](https://hashkeyglobal-apidoc.readme.io/) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | |
|
94
|
-
| [](https://www.htx.com.vc/invite/en-us/1h?invite_code=6rmm2223) | htx | [HTX](https://www.htx.com.vc/invite/en-us/1h?invite_code=6rmm2223) | [](https://huobiapi.github.io/docs/spot/v1/en/) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://www.htx.com.vc/invite/en-us/1h?invite_code=6rmm2223) |
|
95
|
-
| [](https://app.hyperliquid.xyz/) | hyperliquid | [Hyperliquid](https://app.hyperliquid.xyz/) | [](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | |
|
96
88
|
| [](https://www.kucoin.com/ucenter/signup?rcode=E5wkqe) | kucoin | [KuCoin](https://www.kucoin.com/ucenter/signup?rcode=E5wkqe) | [](https://docs.kucoin.com) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | |
|
97
89
|
| [](https://futures.kucoin.com/?rcode=E5wkqe) | kucoinfutures | [KuCoin Futures](https://futures.kucoin.com/?rcode=E5wkqe) | [](https://docs.kucoin.com/futures) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | |
|
90
|
+
| [](https://www.bitget.com/expressly?languageType=0&channelCode=ccxt&vipCode=tg9j) | bitget | [Bitget](https://www.bitget.com/expressly?languageType=0&channelCode=ccxt&vipCode=tg9j) | [](https://www.bitget.com/api-doc/common/intro) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | |
|
91
|
+
| [](https://app.hyperliquid.xyz/) | hyperliquid | [Hyperliquid](https://app.hyperliquid.xyz/) | [](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | |
|
92
|
+
| [](https://www.bitmex.com/app/register/NZTR1q) | bitmex | [BitMEX](https://www.bitmex.com/app/register/NZTR1q) | [](https://www.bitmex.com/app/apiOverview) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://www.bitmex.com/app/register/NZTR1q) |
|
93
|
+
| [](https://bingx.com/invite/OHETOM) | bingx | [BingX](https://bingx.com/invite/OHETOM) | [](https://bingx-api.github.io/docs/) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | |
|
94
|
+
| [](https://www.htx.com.vc/invite/en-us/1h?invite_code=6rmm2223) | htx | [HTX](https://www.htx.com.vc/invite/en-us/1h?invite_code=6rmm2223) | [](https://huobiapi.github.io/docs/spot/v1/en/) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://www.htx.com.vc/invite/en-us/1h?invite_code=6rmm2223) |
|
98
95
|
| [](https://www.mexc.com/register?inviteCode=mexc-1FQ1GNu1) | mexc | [MEXC Global](https://www.mexc.com/register?inviteCode=mexc-1FQ1GNu1) | [](https://mexcdevelop.github.io/apidocs/) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | |
|
99
|
-
| [](http://www.bitmart.com/?r=rQCFLh) | bitmart | [BitMart](http://www.bitmart.com/?r=rQCFLh) | [](https://developer-pro.bitmart.com/) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](http://www.bitmart.com/?r=rQCFLh) |
|
97
|
+
| [](https://crypto.com/exch/kdacthrnxt) | cryptocom | [Crypto.com](https://crypto.com/exch/kdacthrnxt) | [](https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://crypto.com/exch/kdacthrnxt) |
|
98
|
+
| [](https://www.coinex.com/register?refer_code=yw5fz) | coinex | [CoinEx](https://www.coinex.com/register?refer_code=yw5fz) | [](https://docs.coinex.com/api/v2) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | |
|
99
|
+
| [](https://global.hashkey.com/en-US/register/invite?invite_code=82FQUN) | hashkey | [HashKey Global](https://global.hashkey.com/en-US/register/invite?invite_code=82FQUN) | [](https://hashkeyglobal-apidoc.readme.io/) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | |
|
101
100
|
| [](https://woox.io/register?ref=DIJT0CNL) | woo | [WOO X](https://woox.io/register?ref=DIJT0CNL) | [](https://docs.woox.io/) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://woox.io/register?ref=DIJT0CNL) |
|
102
101
|
| [](https://dex.woo.org/en/trade?ref=CCXT) | woofipro | [WOOFI PRO](https://dex.woo.org/en/trade?ref=CCXT) | [](https://orderly.network/docs/build-on-evm/building-on-evm) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) | [](https://dex.woo.org/en/trade?ref=CCXT) |
|
103
102
|
|
104
103
|
## Supported Cryptocurrency Exchanges
|
105
|
-
<!--- init list -->The CCXT library currently supports the following
|
104
|
+
<!--- init list -->The CCXT library currently supports the following 103 cryptocurrency exchange markets and trading APIs:
|
106
105
|
|
107
106
|
|logo |id |name |ver |type |certified |pro |
|
108
107
|
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------|----------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------:|--------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------|
|
@@ -161,6 +160,7 @@ Current feature list:
|
|
161
160
|
| [](https://www.ellipx.com) | ellipx | [Ellipx](https://www.ellipx.com) | [](https://docs.google.com/document/d/1ZXzTQYffKE_EglTaKptxGQERRnunuLHEMmar7VC9syM) |  | | |
|
162
161
|
| [](https://exmo.me/?ref=131685) | exmo | [EXMO](https://exmo.me/?ref=131685) | [](https://exmo.me/en/api_doc?ref=131685) |  | | |
|
163
162
|
| [](https://fmfw.io/referral/da948b21d6c92d69) | fmfwio | [FMFW.io](https://fmfw.io/referral/da948b21d6c92d69) | [](https://api.fmfw.io/) |  | | |
|
163
|
+
| [](https://app.foxbit.com.br) | foxbit | [Foxbit](https://app.foxbit.com.br) | [](https://docs.foxbit.com.br) |  | | |
|
164
164
|
| [](https://www.gate.io/signup/2436035) | gate | [Gate.io](https://www.gate.io/signup/2436035) | [](https://www.gate.io/docs/developers/apiv4/en/) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) |
|
165
165
|
| [](https://gemini.com/) | gemini | [Gemini](https://gemini.com/) | [](https://docs.gemini.com/rest-api) |  | | [](https://ccxt.pro) |
|
166
166
|
| [](https://global.hashkey.com/en-US/register/invite?invite_code=82FQUN) | hashkey | [HashKey Global](https://global.hashkey.com/en-US/register/invite?invite_code=82FQUN) | [](https://hashkeyglobal-apidoc.readme.io/) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) |
|
@@ -179,7 +179,7 @@ Current feature list:
|
|
179
179
|
| [](https://www.luno.com/invite/44893A) | luno | [luno](https://www.luno.com/invite/44893A) | [](https://www.luno.com/en/api) |  | | [](https://ccxt.pro) |
|
180
180
|
| [](https://www.mercadobitcoin.com.br) | mercado | [Mercado Bitcoin](https://www.mercadobitcoin.com.br) | [](https://www.mercadobitcoin.com.br/api-doc) |  | | |
|
181
181
|
| [](https://www.mexc.com/register?inviteCode=mexc-1FQ1GNu1) | mexc | [MEXC Global](https://www.mexc.com/register?inviteCode=mexc-1FQ1GNu1) | [](https://mexcdevelop.github.io/apidocs/) |  | [](https://github.com/ccxt/ccxt/wiki/Certification) | [](https://ccxt.pro) |
|
182
|
-
| [](https://trade.mode.network?ref=MODETRADE) | modetrade | [Mode Trade](https://trade.mode.network?ref=MODETRADE) | [](undefined) |  |
|
182
|
+
| [](https://trade.mode.network?ref=MODETRADE) | modetrade | [Mode Trade](https://trade.mode.network?ref=MODETRADE) | [](undefined) |  | | [](https://ccxt.pro) |
|
183
183
|
| [](https://www.my.okx.com/join/CCXT2023) | myokx | [MyOKX (EEA)](https://www.my.okx.com/join/CCXT2023) | [](https://my.okx.com/docs-v5/en/#overview) |  | | [](https://ccxt.pro) |
|
184
184
|
| [](https://one.ndax.io/bfQiSL) | ndax | [NDAX](https://one.ndax.io/bfQiSL) | [](https://apidoc.ndax.io/) |  | | [](https://ccxt.pro) |
|
185
185
|
| [](https://www.novadax.com.br/?s=ccxt) | novadax | [NovaDAX](https://www.novadax.com.br/?s=ccxt) | [](https://doc.novadax.com/pt-BR/) |  | | |
|
@@ -269,13 +269,13 @@ console.log(version, Object.keys(exchanges));
|
|
269
269
|
|
270
270
|
All-in-one browser bundle (dependencies included), served from a CDN of your choice:
|
271
271
|
|
272
|
-
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.
|
273
|
-
* unpkg: https://unpkg.com/ccxt@4.4.
|
272
|
+
* jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.97/dist/ccxt.browser.min.js
|
273
|
+
* unpkg: https://unpkg.com/ccxt@4.4.97/dist/ccxt.browser.min.js
|
274
274
|
|
275
275
|
CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
|
276
276
|
|
277
277
|
```HTML
|
278
|
-
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.
|
278
|
+
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.97/dist/ccxt.browser.min.js"></script>
|
279
279
|
```
|
280
280
|
|
281
281
|
Creates a global `ccxt` object:
|