ccxt: Exmo exchange not available

Hello.

I have a code that i had run last time in 21/01/2019 and today I had updated to ccxt 1.18.152 but it won’t work and I’m not sure why…

  • OS: Win 10
  • Programming Language version: Python
  • CCXT version: 1.18.152
  • Exchange: Exmo (also run on kraken but no problems there)
  • Method: loadMarkets()

This is my code:

def init_exchange(exchange_id, enableRateLimit=True):
    ## intiate the api class to send to the function
    exchange_class = getattr(ccxt, exchange_id)
    exchange = exchange_class({'enableRateLimit': enableRateLimit, })
    return exchange

exchange2_id = 'exmo'
exchange2 = init_exchange(exchange2_id, enableRateLimit=False)
loop2 = asyncio.get_event_loop()
markets2 = loop2.run_until_complete(exchange2.loadMarkets())

This is the Error:

Traceback (most recent call last): File “C:\Program Files\Python37\lib\site-packages\aiohttp\connector.py”, line 924, in _wrap_create_connection await self._loop.create_connection(*args, **kwargs)) File “C:\Program Files\Python37\lib\asyncio\base_events.py”, line 959, in create_connection raise exceptions[0] File “C:\Program Files\Python37\lib\asyncio\base_events.py”, line 946, in create_connection await self.sock_connect(sock, address) File “C:\Program Files\Python37\lib\asyncio\selector_events.py”, line 464, in sock_connect return await fut File “C:\Program Files\Python37\lib\asyncio\selector_events.py”, line 494, in _sock_connect_cb raise OSError(err, f’Connect call failed {address}') TimeoutError: [Errno 10060] Connect call failed (‘185.104.211.27’, 443) The above exception was the direct cause of the following exception: Traceback (most recent call last): File “C:\Program Files\Python37\lib\site-packages\ccxt\async_support\base\exchange.py”, line 138, in fetch proxy=self.aiohttp_proxy) as response: File “C:\Program Files\Python37\lib\site-packages\aiohttp\client.py”, line 1005, in aenter self._resp = await self._coro File “C:\Program Files\Python37\lib\site-packages\aiohttp\client.py”, line 476, in _request timeout=real_timeout File “C:\Program Files\Python37\lib\site-packages\aiohttp\connector.py”, line 522, in connect proto = await self._create_connection(req, traces, timeout) File “C:\Program Files\Python37\lib\site-packages\aiohttp\connector.py”, line 854, in _create_connection req, traces, timeout) File “C:\Program Files\Python37\lib\site-packages\aiohttp\connector.py”, line 992, in _create_direct_connection raise last_exc File “C:\Program Files\Python37\lib\site-packages\aiohttp\connector.py”, line 974, in _create_direct_connection req=req, client_error=client_error) File “C:\Program Files\Python37\lib\site-packages\aiohttp\connector.py”, line 931, in _wrap_create_connection raise client_error(req.connection_key, exc) from exc aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host exmo.me:443 ssl:None [Connect call failed (‘185.104.211.27’, 443)] During handling of the above exception, another exception occurred: Traceback (most recent call last): File “”, line 1, in <module> File “C:\Program Files\Python37\lib\asyncio\base_events.py”, line 584, in run_until_complete return future.result() File “C:\Program Files\Python37\lib\site-packages\ccxt\async_support\base\exchange.py”, line 176, in load_markets markets = await self.fetch_markets(params) File “C:\Program Files\Python37\lib\site-packages\ccxt\async_support\exmo.py”, line 329, in fetch_markets fees = await self.fetch_trading_fees() File “C:\Program Files\Python37\lib\site-packages\ccxt\async_support\exmo.py”, line 129, in fetch_trading_fees response = await self.webGetEnDocsFees(params) File “C:\Program Files\Python37\lib\site-packages\ccxt\async_support\base\exchange.py”, line 116, in fetch2 return await self.fetch(request[‘url’], request[‘method’], request[‘headers’], request[‘body’]) File “C:\Program Files\Python37\lib\site-packages\ccxt\async_support\base\exchange.py”, line 159, in fetch self.raise_error(ExchangeNotAvailable, url, method, e, None) File “C:\Program Files\Python37\lib\site-packages\ccxt\base\exchange.py”, line 383, in raise_error raise exception_type(output) ccxt.base.errors.ExchangeNotAvailable: exmo https://exmo.me/en/docs/fees GET Cannot connect to host exmo.me:443 ssl:None [Connect call failed (‘185.104.211.27’, 443)]

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 19 (9 by maintainers)

Most upvoted comments

The fix is coming. Had to hard-code the fees until we figure how to fetch https://exmo.me/en/docs/fees programmatically. Their web front end seems to ban our requests, and it is not clear yet why exactly (I tried setting various browser-ish headers, but no luck).

I am working from the USA. From here access to exmo also closed. There is one more observation about exmo: During 2-3 last months, time of response of fetch2OrderBook() have been VERY VERY unstable.

Hey! I think I run before version 1.18.144

I tried what you asked and got this error:

Traceback (most recent call last): File “”, line 7, in <module> File “C:\Program Files\Python37\lib\site-packages\ccxt\async_support\base\exchange.py”, line 56, in init super(Exchange, self).init(config) File “C:\Program Files\Python37\lib\site-packages\ccxt\base\exchange.py”, line 285, in init self.define_rest_api(self.api, ‘request’) File “C:\Program Files\Python37\lib\site-packages\ccxt\base\exchange.py”, line 339, in define_rest_api for http_method, urls in methods.items(): AttributeError: ‘str’ object has no attribute ‘items’