From 834c6c4d332c17999f1356c28ac5780eb0158774 Mon Sep 17 00:00:00 2001 From: Avel Docquin Date: Fri, 10 Sep 2021 00:39:52 +0200 Subject: [PATCH 1/5] Fixed typo in README.md. For future multiple pairs management: Updated configuration with a dictionary list of pairs to DCA, updated Config to handle the new configuration, created KrakenDCA object for better code lisibility and future optimization. Unit tests not yet updated. --- README.md | 2 +- __main__.py | 24 ++++++--------- config.yaml | 19 ++++++++---- krakendca/__init__.py | 1 + krakendca/config.py | 68 +++++++++++++++++++++++++++--------------- krakendca/krakendca.py | 38 +++++++++++++++++++++++ 6 files changed, 107 insertions(+), 45 deletions(-) create mode 100644 krakendca/krakendca.py diff --git a/README.md b/README.md index da77934..cb053e4 100644 --- a/README.md +++ b/README.md @@ -127,7 +127,7 @@ python __main__.py ``` ### Automate DCA through cron You can automate the execution by using cron on unix systems. -To execute the program every hour (it will only buy if no DCA air order was done the current day) run in a shell: +To execute the program every hour (it will only buy if no DCA pair order was done the current day) run in a shell: ```sh crontab -e ``` diff --git a/__main__.py b/__main__.py index 97b6da2..4ce04a2 100644 --- a/__main__.py +++ b/__main__.py @@ -1,19 +1,13 @@ -from krakendca import Config, Pair, DCA +from krakendca import Config, KrakenDCA from krakenapi import KrakenApi if __name__ == "__main__": - try: - # Get parameters form configuration file. - config = Config("config.yaml") - # Initialize the KrakenAPI object. - ka = KrakenApi(config.api_public_key, config.api_private_key) - # Initialize the Pair object from pair specified in - # configuration file and data from Kraken. - pair = Pair.get_pair_from_kraken(ka, config.pair) - # Initialize the DCA object. - dca = DCA(ka, config.delay, pair, config.amount) - # Execute DCA logic. - dca.handle_dca_logic() - except Exception as e: - print(e) + # Get parameters from configuration file. + config = Config("config.yaml") + # Initialize the KrakenAPI object. + ka = KrakenApi(config.api_public_key, config.api_private_key) + # Initialize the KrakenDCA object and handle the DCA based on configuration. + kdca = KrakenDCA(config, ka) + kdca.handle_dca() + diff --git a/config.yaml b/config.yaml index f120979..1d595a7 100644 --- a/config.yaml +++ b/config.yaml @@ -3,8 +3,17 @@ api: public_key: "KRAKEN_API_PUBLIC_KEY" private_key: "KRAKEN_API_PRIVATE_KEY" -# DCA days delay, pair to DCA and corresponding amount to buy. -dca: - delay: 1 - pair: "XETHZEUR" - amount: 20 \ No newline at end of file +# DCA pairs configuration. +# pair: Name of the pair (list of available pairs: https://api.kraken.com/0/public/AssetPairs) +# delay: Delay in days between each buy limit order. +# amount: Amount of the order in quote asset. +dca_pairs: + - pair: "XETHZEUR" + delay: 1 + amount: 10 + - pair: "XBTUSDT" + delay: 3 + amount: 10 + - pair: "LINKXBT" + delay: 7 + amount: 0.001 diff --git a/krakendca/__init__.py b/krakendca/__init__.py index 8d123d6..9959380 100644 --- a/krakendca/__init__.py +++ b/krakendca/__init__.py @@ -1,5 +1,6 @@ from .config import Config from .dca import DCA +from .krakendca import KrakenDCA from .order import Order from .pair import Pair from .utils import ( diff --git a/krakendca/config.py b/krakendca/config.py index cdc13e7..0bb4295 100644 --- a/krakendca/config.py +++ b/krakendca/config.py @@ -8,9 +8,7 @@ class Config: api_public_key: str api_private_key: str - delay: int - pair: str - amount: float + dca_pairs: list def __init__(self, config_file: str) -> None: """ @@ -20,26 +18,48 @@ def __init__(self, config_file: str) -> None: """ try: with open(config_file, "r") as stream: - try: - config = yaml.load(stream, Loader=yaml.SafeLoader) - self.api_public_key = config.get("api").get("public_key") - self.api_private_key = config.get("api").get("private_key") - self.delay = config.get("dca").get("delay") - self.pair = config.get("dca").get("pair") - self.amount = float(config.get("dca").get("amount")) - except (ValueError, TypeError, AttributeError, yaml.YAMLError) as e: - raise ValueError(f"Configuration file incorrectly formatted: {e}") + config = yaml.load(stream, Loader=yaml.SafeLoader) + self.api_public_key = config.get("api").get("public_key") + self.api_private_key = config.get("api").get("private_key") + self.dca_pairs = config.get("dca_pairs") + self.__check_configuration() + for dca_pair in self.dca_pairs: + self.__check_dca_pair_configuration(dca_pair) except EnvironmentError: raise FileNotFoundError("Configuration file not found.") - if not self.api_public_key: - raise TypeError("Please provide your Kraken API public key.") - elif not self.api_private_key: - raise TypeError("Please provide your Kraken API private key.") - elif not self.delay or type(self.delay) is not int or self.delay <= 0: - raise TypeError("Please set the DCA days delay as a number > 0.") - elif not self.pair: - raise TypeError("Please provide the pair to dollar cost average.") - elif not self.amount or type(self.amount) is not float or self.amount <= 0: - raise TypeError( - "Please provide an amount > 0 to daily dollar cost average." - ) + + def __check_configuration(self): + """ + Check Config attributes and raise an error in case of missing + parameters in configuration file. + """ + try: + if not self.api_public_key: + raise ValueError("Please provide your Kraken API public key.") + if not self.api_private_key: + raise ValueError("Please provide your Kraken API private key.") + if not self.dca_pairs: + raise ValueError("No DCA pairs specified.") + except (ValueError, AttributeError, yaml.YAMLError) as e: + raise ValueError(f"Configuration file incorrectly formatted: {e}") + + @staticmethod + def __check_dca_pair_configuration(dca_pair: dict): + """ + Check DCA pair configuration parameters are currently specified. + + :param dca_pair: Dictionary with pair to DCA, delay in days as integer and + amount of quote asset to make the limit buy order with. + """ + if not dca_pair.get("pair"): + raise ValueError("Please provide the pair to dollar cost average.") + delay = dca_pair.get("delay") + if not delay or type(delay) is not int or delay <= 0: + raise ValueError("Please set the DCA days delay as a number > 0.") + try: + dca_pair["amount"] = float(dca_pair.get("amount")) + except ValueError: + print("Please provide an amount > 0 to DCA.") + amount = dca_pair.get("amount") + if not amount or type(amount) is not float or amount <= 0: + raise ValueError("Please provide an amount > 0 to DCA.") diff --git a/krakendca/krakendca.py b/krakendca/krakendca.py new file mode 100644 index 0000000..a285965 --- /dev/null +++ b/krakendca/krakendca.py @@ -0,0 +1,38 @@ +from .config import Config +from.dca import DCA +from .pair import Pair +from krakenapi import KrakenApi + + +class KrakenDCA(): + """ + KrakenDCA main loop encapsulation. + """ + config: Config + ka: KrakenApi + + def __init__(self, config: Config, ka: KrakenApi): + """ + Instantiate the KrakenDCA object. + + :param config: Config object. + :param ka: KrakenAPI object. + """ + self.config = config + self.ka = ka + + def handle_dca(self): + """ + Handle pairs Dollar Cost Averaging. + """ + for dca_pair in self.config.dca_pairs: + # Initialize the Pair object from pair specified in configuration + # file and data from Kraken. + pair = Pair.get_pair_from_kraken(self.ka, dca_pair.get("pair")) + # Initialize the DCA object. + dca = DCA(self.ka, dca_pair.get("delay"), pair, dca_pair.get("amount")) + # Execute DCA logic. + # dca.handle_dca_logic() + + + From cae9683fc057bedc0cf3b9469bf2eabad7bfa7fd Mon Sep 17 00:00:00 2001 From: Avel Docquin Date: Fri, 10 Sep 2021 22:14:50 +0200 Subject: [PATCH 2/5] Updated KrakenAPI requirement to 1.0.0.a7. --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 44d5781..adb18ec 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ attrs==20.3.0 freezegun==1.1.0 idna==3.1 iniconfig==1.1.1 -krakenapi==1.0.0a6 +krakenapi==1.0.0a7 multidict==5.1.0 numpy==1.20.2 packaging==20.9 From b1c50b4a922aab8cd560586be3546d9f19c53d59 Mon Sep 17 00:00:00 2001 From: Avel Docquin Date: Fri, 10 Sep 2021 22:33:53 +0200 Subject: [PATCH 3/5] KrakenDCA: Added initialize_dca method to check if pairs exist on Kraken add create DCA objects. Few fixes and improvement. --- __main__.py | 1 + krakendca/dca.py | 22 +++++++++++++--------- krakendca/krakendca.py | 32 ++++++++++++++++++++++---------- 3 files changed, 36 insertions(+), 19 deletions(-) diff --git a/__main__.py b/__main__.py index 4ce04a2..602623a 100644 --- a/__main__.py +++ b/__main__.py @@ -9,5 +9,6 @@ ka = KrakenApi(config.api_public_key, config.api_private_key) # Initialize the KrakenDCA object and handle the DCA based on configuration. kdca = KrakenDCA(config, ka) + kdca.initialize_dca() kdca.handle_dca() diff --git a/krakendca/dca.py b/krakendca/dca.py index fc9c8ad..a9311fc 100644 --- a/krakendca/dca.py +++ b/krakendca/dca.py @@ -42,9 +42,7 @@ def __init__( self.pair = pair self.amount = float(amount) self.orders_filepath = orders_filepath - print( - f"Hi, current configuration: DCA pair: {self.pair.name}, DCA amount: {self.amount}." - ) + print(f"Pair: {self.pair.name}, delay: {self.delay}, amount: {self.amount}.") def handle_dca_logic(self) -> None: """ @@ -95,7 +93,8 @@ def get_system_time(self) -> datetime: lag = (current_date - kraken_date).seconds if lag > 1: raise OSError( - "Too much lag -> Check your internet connection speed or synchronize your system time." + "Too much lag -> Check your internet connection speed " + "or synchronize your system time." ) return current_date @@ -119,11 +118,13 @@ def check_account_balance(self) -> None: except TypeError: # When there is no pair quote balance on Kraken account. pair_quote_balance = 0 print( - f"Pair balances: {pair_quote_balance} {self.pair.quote}, {pair_base_balance} {self.pair.base}." + f"Pair balances: {pair_quote_balance} {self.pair.quote}, " + f"{pair_base_balance} {self.pair.base}." ) if pair_quote_balance < self.amount: raise ValueError( - f"Insufficient funds to buy {self.amount} {self.pair.quote} of {self.pair.base}" + f"Insufficient funds to buy {self.amount} " + f"{self.pair.quote} of {self.pair.base}" ) def count_pair_daily_orders(self) -> int: @@ -178,14 +179,17 @@ def send_buy_limit_order(self, order: Order) -> None: """ if order.volume < self.pair.order_min: raise ValueError( - f"Too low volume to buy {self.pair.base}: current {order.volume}, minimum {self.pair.order_min}." + f"Too low volume to buy {self.pair.base}: current {order.volume}, " + f"minimum {self.pair.order_min}." ) print( - f"Create a {order.price}{self.pair.quote} buy limit order of {order.volume}{self.pair.base} at {order.pair_price}{self.pair.quote}." + f"Create a {order.price}{self.pair.quote} buy limit order of " + f"{order.volume}{self.pair.base} at {order.pair_price}{self.pair.quote}." ) print(f"Fee expected: {order.fee}{self.pair.quote} (0.26% taker fee).") print( - f"Total price expected: {order.volume}{self.pair.base} for {order.total_price}{self.pair.quote}." + f"Total price expected: {order.volume}{self.pair.base} for " + f"{order.total_price}{self.pair.quote}." ) order.send_order(self.ka) print(f"Order successfully created.") diff --git a/krakendca/krakendca.py b/krakendca/krakendca.py index a285965..73bab6b 100644 --- a/krakendca/krakendca.py +++ b/krakendca/krakendca.py @@ -1,15 +1,19 @@ +from typing import List + from .config import Config -from.dca import DCA +from .dca import DCA from .pair import Pair from krakenapi import KrakenApi -class KrakenDCA(): +class KrakenDCA: """ KrakenDCA main loop encapsulation. """ + config: Config ka: KrakenApi + dcas_list: List[DCA] def __init__(self, config: Config, ka: KrakenApi): """ @@ -20,19 +24,27 @@ def __init__(self, config: Config, ka: KrakenApi): """ self.config = config self.ka = ka + self.dcas_list = [] - def handle_dca(self): + def initialize_dca(self): """ - Handle pairs Dollar Cost Averaging. + Check if pairs exist and initialize DCA objects List """ + print("Hi, current DCA configuration:") for dca_pair in self.config.dca_pairs: # Initialize the Pair object from pair specified in configuration # file and data from Kraken. pair = Pair.get_pair_from_kraken(self.ka, dca_pair.get("pair")) - # Initialize the DCA object. - dca = DCA(self.ka, dca_pair.get("delay"), pair, dca_pair.get("amount")) - # Execute DCA logic. - # dca.handle_dca_logic() - - + # Initialize the DCA objects. + self.dcas_list.append(DCA( + self.ka, dca_pair.get("delay"), pair, dca_pair.get("amount") + )) + def handle_dca(self): + """ + Handle pairs Dollar Cost Averaging. + """ + # Iterate though DCA objects list and launch DCA logic. + for dca in self.dcas_list: + # Execute DCA logic. + dca.handle_dca_logic() From b8f7c77144a20bbbeb5129b294903d472ae0d892 Mon Sep 17 00:00:00 2001 From: Avel Docquin Date: Sun, 12 Sep 2021 20:41:48 +0200 Subject: [PATCH 4/5] KrakenDCA object: Methods name and inline documentation update. Unit tests updated for Config and DCA objects. --- __main__.py | 4 +-- config.yaml | 10 +++---- krakendca/krakendca.py | 13 ++++----- tests/fixtures/config.yaml | 17 +++++++---- tests/test_config.py | 59 ++++++++++++++++++++++---------------- tests/test_dca.py | 6 ++-- 6 files changed, 60 insertions(+), 49 deletions(-) diff --git a/__main__.py b/__main__.py index 602623a..a5b89aa 100644 --- a/__main__.py +++ b/__main__.py @@ -9,6 +9,6 @@ ka = KrakenApi(config.api_public_key, config.api_private_key) # Initialize the KrakenDCA object and handle the DCA based on configuration. kdca = KrakenDCA(config, ka) - kdca.initialize_dca() - kdca.handle_dca() + kdca.initialize_pairs_dca() + kdca.handle_pairs_dca() diff --git a/config.yaml b/config.yaml index 1d595a7..8465ef5 100644 --- a/config.yaml +++ b/config.yaml @@ -3,17 +3,15 @@ api: public_key: "KRAKEN_API_PUBLIC_KEY" private_key: "KRAKEN_API_PRIVATE_KEY" -# DCA pairs configuration. +# DCA pairs configuration. You can add as many pairs as you want. # pair: Name of the pair (list of available pairs: https://api.kraken.com/0/public/AssetPairs) # delay: Delay in days between each buy limit order. # amount: Amount of the order in quote asset. dca_pairs: - pair: "XETHZEUR" delay: 1 - amount: 10 + amount: 20 - pair: "XBTUSDT" delay: 3 - amount: 10 - - pair: "LINKXBT" - delay: 7 - amount: 0.001 + amount: 20 + diff --git a/krakendca/krakendca.py b/krakendca/krakendca.py index 73bab6b..cc94016 100644 --- a/krakendca/krakendca.py +++ b/krakendca/krakendca.py @@ -26,25 +26,22 @@ def __init__(self, config: Config, ka: KrakenApi): self.ka = ka self.dcas_list = [] - def initialize_dca(self): + def initialize_pairs_dca(self): """ - Check if pairs exist and initialize DCA objects List + Instantiate Pair and DCA objects from pairs specified in configuration file + and data from Kraken. """ print("Hi, current DCA configuration:") for dca_pair in self.config.dca_pairs: - # Initialize the Pair object from pair specified in configuration - # file and data from Kraken. pair = Pair.get_pair_from_kraken(self.ka, dca_pair.get("pair")) - # Initialize the DCA objects. self.dcas_list.append(DCA( self.ka, dca_pair.get("delay"), pair, dca_pair.get("amount") )) - def handle_dca(self): + def handle_pairs_dca(self): """ + Iterate though DCA objects list and execute DCA logic.. Handle pairs Dollar Cost Averaging. """ - # Iterate though DCA objects list and launch DCA logic. for dca in self.dcas_list: - # Execute DCA logic. dca.handle_dca_logic() diff --git a/tests/fixtures/config.yaml b/tests/fixtures/config.yaml index f120979..8465ef5 100644 --- a/tests/fixtures/config.yaml +++ b/tests/fixtures/config.yaml @@ -3,8 +3,15 @@ api: public_key: "KRAKEN_API_PUBLIC_KEY" private_key: "KRAKEN_API_PRIVATE_KEY" -# DCA days delay, pair to DCA and corresponding amount to buy. -dca: - delay: 1 - pair: "XETHZEUR" - amount: 20 \ No newline at end of file +# DCA pairs configuration. You can add as many pairs as you want. +# pair: Name of the pair (list of available pairs: https://api.kraken.com/0/public/AssetPairs) +# delay: Delay in days between each buy limit order. +# amount: Amount of the order in quote asset. +dca_pairs: + - pair: "XETHZEUR" + delay: 1 + amount: 20 + - pair: "XBTUSDT" + delay: 3 + amount: 20 + diff --git a/tests/test_config.py b/tests/test_config.py index d2600fe..eabde23 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -22,6 +22,15 @@ def test_default_config_file_is_correct(): assert config == correct_config +def assert_dca_pair(dca_pair: dict, pair: str, delay: int, amount: float): + assert type(dca_pair.get("pair")) == str + assert dca_pair.get("pair") == pair + assert type(dca_pair.get("delay")) == int + assert dca_pair.get("delay") == delay + assert type(dca_pair.get("amount")) == float + assert dca_pair.get("amount") == amount + + def test_config_properties(): # Test object properties are correctly assigned. config = Config("config.yaml") @@ -29,10 +38,10 @@ def test_config_properties(): assert config.api_public_key == "KRAKEN_API_PUBLIC_KEY" assert type(config.api_private_key) == str assert config.api_private_key == "KRAKEN_API_PRIVATE_KEY" - assert type(config.pair) == str - assert config.pair == "XETHZEUR" - assert type(config.amount) == float - assert config.amount > 0 + assert type(config.dca_pairs) == list + assert len(config.dca_pairs) == 2 + assert_dca_pair(config.dca_pairs[0], "XETHZEUR", 1, 20) + assert_dca_pair(config.dca_pairs[1], "XBTUSDT", 3, 20) def mock_config_error(config: str, error_type: type) -> str: @@ -65,32 +74,32 @@ def test_config_errors(): config_empty_api_public_key = correct_config.replace( 'public_key: "KRAKEN_API_PUBLIC_KEY"', "" ) - e_info_value = mock_config_error(config_empty_api_public_key, TypeError) + e_info_value = mock_config_error(config_empty_api_public_key, ValueError) assert "Please provide your Kraken API public key." in e_info_value # Test missing private key. config_empty_api_private_key = correct_config.replace( 'private_key: "KRAKEN_API_PRIVATE_KEY"', "" ) - e_info_value = mock_config_error(config_empty_api_private_key, TypeError) + e_info_value = mock_config_error(config_empty_api_private_key, ValueError) assert "Please provide your Kraken API private key." in e_info_value - # Test missing pair. - config_empty_pair = correct_config.replace('pair: "XETHZEUR"', "") - e_info_value = mock_config_error(config_empty_pair, TypeError) - assert "Please provide the pair to dollar cost average." in e_info_value - - # Test missing amount. - config_missing_amount = correct_config.replace("amount: 20", "") - e_info_value = mock_config_error(config_missing_amount, ValueError) - assert "Configuration file incorrectly formatted:" in e_info_value - - # Test amount = 0. - config_zero_amount = correct_config.replace("amount: 20", "amount: 0") - e_info_value = mock_config_error(config_zero_amount, TypeError) - assert "Please provide an amount > 0 to daily dollar cost average." in e_info_value - - # Test amount < 0. - config_below_zero_amount = correct_config.replace("amount: 20", "amount: -100") - e_info_value = mock_config_error(config_below_zero_amount, TypeError) - assert "Please provide an amount > 0 to daily dollar cost average." in e_info_value + # # Test missing pair. + # config_empty_pair = correct_config.replace('pair: "XETHZEUR"', "") + # e_info_value = mock_config_error(config_empty_pair, ValueError) + # assert "Please provide the pair to dollar cost average." in e_info_value + # + # # Test missing amount. + # config_missing_amount = correct_config.replace("amount: 20", "") + # e_info_value = mock_config_error(config_missing_amount, ValueError) + # assert "Configuration file incorrectly formatted:" in e_info_value + # + # # Test amount = 0. + # config_zero_amount = correct_config.replace("amount: 20", "amount: 0") + # e_info_value = mock_config_error(config_zero_amount, ValueError) + # assert "Please provide an amount > 0 to daily dollar cost average." in e_info_value + # + # # Test amount < 0. + # config_below_zero_amount = correct_config.replace("amount: 20", "amount: -100") + # e_info_value = mock_config_error(config_below_zero_amount, ValueError) + # assert "Please provide an amount > 0 to daily dollar cost average." in e_info_value diff --git a/tests/test_dca.py b/tests/test_dca.py index b7408b5..7d0d3f3 100644 --- a/tests/test_dca.py +++ b/tests/test_dca.py @@ -41,7 +41,7 @@ def test_handle_dca_logic(self, capfd): self.dca.handle_dca_logic() captured = capfd.readouterr() test_output = ( - "Hi, current configuration: DCA pair: XETHZEUR, DCA amount: 20.0.\nIt's 2021-04-15 21:33:28 on " + "Pair: XETHZEUR, delay: 1, amount: 20.0.\nIt's 2021-04-15 21:33:28 on " "Kraken, 2021-04-15 21:33:28 on system.\nCurrent trade balance: 1650.3006 ZUSD.\nPair balances: " "39.728 ZEUR, 0.109598362 XETH.\nDidn't DCA already today.\nCurrent XETHZEUR ask price: " "2083.16.\nCreate a 19.9481ZEUR buy limit order of 0.00957589XETH at 2083.16ZEUR.\nFee " @@ -62,7 +62,7 @@ def test_handle_dca_logic_error(self, capfd): self.dca.handle_dca_logic() captured = capfd.readouterr() test_output = ( - "Hi, current configuration: DCA pair: XETHZEUR, DCA amount: 20.0.\nIt's 2021-04-16 18:54:53 on " + "Pair: XETHZEUR, delay: 1, amount: 20.0.\nIt's 2021-04-16 18:54:53 on " "Kraken, 2021-04-16 18:54:53 on system.\nCurrent trade balance: 16524.7595 ZUSD.\nPair " "balances: 359.728 ZEUR, 0.128994332 XETH.\nAlready DCA.\n" ) @@ -188,7 +188,7 @@ def test_send_buy_limit_order(self, capfd): self.dca.send_buy_limit_order(order) captured = capfd.readouterr() test_output = ( - "Hi, current configuration: DCA pair: XETHZEUR, DCA amount: 20.0.\nCreate a 19.9481ZEUR buy " + "Pair: XETHZEUR, delay: 1, amount: 20.0.\nCreate a 19.9481ZEUR buy " "limit order of 0.01029256XETH at 1938.11ZEUR.\nFee expected: 0.0519ZEUR (0.26% taker " "fee).\nTotal price expected: 0.01029256XETH for 20.0ZEUR.\nOrder successfully created.\nTXID: " "OUHXFN-RTP6W-ART4VP\nDescription: buy 0.01029256 ETHEUR @ limit 1938.11\n" From ca0e8701210e04ea1ae064504514ca6d7455b9ff Mon Sep 17 00:00:00 2001 From: Avel Docquin Date: Sun, 12 Sep 2021 23:58:27 +0200 Subject: [PATCH 5/5] Added multiple pairs support. Added unit tests for KrakenDCA object and updated other classes tests. Configuration file example and README updated. --- README.md | 39 +- config.yaml | 4 +- krakendca/config.py | 36 +- krakendca/krakendca.py | 3 +- krakendca/pair.py | 10 +- tests/fixtures/config.yaml | 4 +- .../vcr_cassettes/test_handle_dca_pairs.yaml | 655 ++++++++++++++++++ .../vcr_cassettes/test_krakendca_setup.yaml | 146 ++++ tests/test_config.py | 53 +- tests/test_dca.py | 3 +- tests/test_krakendca.py | 98 +++ tests/test_pair.py | 11 +- 12 files changed, 997 insertions(+), 65 deletions(-) create mode 100644 tests/fixtures/vcr_cassettes/test_handle_dca_pairs.yaml create mode 100644 tests/fixtures/vcr_cassettes/test_krakendca_setup.yaml create mode 100644 tests/test_krakendca.py diff --git a/README.md b/README.md index cb053e4..7310027 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # Kraken-DCA -Kraken-DCA is a python program to automate -[Dollar Cost Averaging](https://www.investopedia.com/terms/d/dollarcostaveraging.asp) on -[Kraken](https://kraken.com) exchange.
-At every launch, if no DCA pair order was already passed for the pair and delay in configuration -file, it will create a buy limit order at current pair ask price for the specified amount. +Kraken-DCA is a python program to automate pairs +[Dollar Cost Averaging](https://www.investopedia.com/terms/d/dollarcostaveraging.asp) +on as many pairs as you want on [Kraken](https://kraken.com) exchange.
+At every launch, if no DCA pair order was already passed for each pair and delay in +configuration file, it will create a buy limit order at current pair ask price for the specified amount. Order history is saved in CSV format @@ -61,7 +61,7 @@ Order history is saved in CSV format with following information per order: Order history is by default saved in *orders.csv* in Kraken-DCA base directory, the output file can be changed through docker image execution as described below. -# Usage +# How to run it ## Configuration file If you don't use docker you must edit the default *config.yaml* file. @@ -71,15 +71,23 @@ api: public_key: "KRAKEN_API_PUBLIC_KEY" private_key: "KRAKEN_API_PRIVATE_KEY" -# DCA days delay, pair to DCA and corresponding amount to buy. -dca: - delay: 2 - pair: "XETHZEUR" - amount: 20 +# DCA pairs configuration. You can add as many pairs as you want. +# pair: Name of the pair (list of available pairs: https://api.kraken.com/0/public/AssetPairs) +# delay: Delay in days between each buy limit order. +# amount: Amount of the order in quote asset. +dca_pairs: + - pair: "XETHZEUR" + delay: 1 + amount: 15 + - pair: "XXBTZEUR" + delay: 3 + amount: 20 ``` +- In api, public_key and private_key correspond to your Kraken API key information. - Delay is the number of days between buy orders. Set to 1 to DCA each day, 7 once per week. - Available pairs for pair field can be found [here](https://api.kraken.com/0/public/AssetPairs) on *altname*. -- Amount of quote asset to sell to buy base asset. +- Amount is the amount of quote asset to sell to buy base asset. +- You can specify as many pairs as you want in the dca_pairs list. More information on [Kraken API official documentation](https://support.kraken.com/hc/en-us/articles/360000920306-Ticker-pairs). @@ -151,9 +159,10 @@ More crontab execution frequency options: https://crontab.guru/ [GPL-3.0](https://github.com/FuturBroke/kraken-dca/blob/main/README.md) # How to contribute -Thanks for your interest in contributing to the project. You can contribute freely by creating an issue, fork or create -a pull request. Before issuing a pull request, make sure the changes did not break any existing functionality by -running unit tests in the base directory: +Thanks for your interest in contributing to the project. You can contribute freely by +creating an issue, fork or create a pull request. Before issuing a pull request, make +sure the changes did not break any existing functionality by running unit tests in the +base directory: ```sh pytest ``` diff --git a/config.yaml b/config.yaml index 8465ef5..869ce6a 100644 --- a/config.yaml +++ b/config.yaml @@ -10,8 +10,8 @@ api: dca_pairs: - pair: "XETHZEUR" delay: 1 - amount: 20 - - pair: "XBTUSDT" + amount: 15 + - pair: "XXBTZEUR" delay: 3 amount: 20 diff --git a/krakendca/config.py b/krakendca/config.py index 0bb4295..cb091cf 100644 --- a/krakendca/config.py +++ b/krakendca/config.py @@ -1,4 +1,7 @@ import yaml +from yaml.scanner import ScannerError + +CONFIG_ERROR_MSG: str = "Configuration file incorrectly formatted" class Config: @@ -27,6 +30,8 @@ def __init__(self, config_file: str) -> None: self.__check_dca_pair_configuration(dca_pair) except EnvironmentError: raise FileNotFoundError("Configuration file not found.") + except ScannerError as e: + raise ScannerError(CONFIG_ERROR_MSG + f": {e}") def __check_configuration(self): """ @@ -38,10 +43,10 @@ def __check_configuration(self): raise ValueError("Please provide your Kraken API public key.") if not self.api_private_key: raise ValueError("Please provide your Kraken API private key.") - if not self.dca_pairs: + if not self.dca_pairs or type(self.dca_pairs) is not list: raise ValueError("No DCA pairs specified.") - except (ValueError, AttributeError, yaml.YAMLError) as e: - raise ValueError(f"Configuration file incorrectly formatted: {e}") + except ValueError as e: + raise ValueError(CONFIG_ERROR_MSG + f": {e}") @staticmethod def __check_dca_pair_configuration(dca_pair: dict): @@ -51,15 +56,18 @@ def __check_dca_pair_configuration(dca_pair: dict): :param dca_pair: Dictionary with pair to DCA, delay in days as integer and amount of quote asset to make the limit buy order with. """ - if not dca_pair.get("pair"): - raise ValueError("Please provide the pair to dollar cost average.") - delay = dca_pair.get("delay") - if not delay or type(delay) is not int or delay <= 0: - raise ValueError("Please set the DCA days delay as a number > 0.") try: - dca_pair["amount"] = float(dca_pair.get("amount")) - except ValueError: - print("Please provide an amount > 0 to DCA.") - amount = dca_pair.get("amount") - if not amount or type(amount) is not float or amount <= 0: - raise ValueError("Please provide an amount > 0 to DCA.") + if not dca_pair.get("pair"): + raise ValueError("Please provide the pair to dollar cost average.") + delay = dca_pair.get("delay") + if not delay or type(delay) is not int or delay <= 0: + raise ValueError("Please set the DCA days delay as a number > 0.") + try: + dca_pair["amount"] = float(dca_pair.get("amount")) + except TypeError: + raise ValueError("Please provide an amount > 0 to DCA.") + amount = dca_pair.get("amount") + if not amount or type(amount) is not float or amount <= 0: + raise ValueError("Please provide an amount > 0 to DCA.") + except ValueError as e: + raise ValueError(CONFIG_ERROR_MSG + f": {e}") diff --git a/krakendca/krakendca.py b/krakendca/krakendca.py index cc94016..370f941 100644 --- a/krakendca/krakendca.py +++ b/krakendca/krakendca.py @@ -32,8 +32,9 @@ def initialize_pairs_dca(self): and data from Kraken. """ print("Hi, current DCA configuration:") + asset_pairs = self.ka.get_asset_pairs() for dca_pair in self.config.dca_pairs: - pair = Pair.get_pair_from_kraken(self.ka, dca_pair.get("pair")) + pair = Pair.get_pair_from_kraken(self.ka, asset_pairs, dca_pair.get("pair")) self.dcas_list.append(DCA( self.ka, dca_pair.get("delay"), pair, dca_pair.get("amount") )) diff --git a/krakendca/pair.py b/krakendca/pair.py index d4897ff..0e0519c 100644 --- a/krakendca/pair.py +++ b/krakendca/pair.py @@ -52,15 +52,16 @@ def __init__( self.order_min = order_min @classmethod - def get_pair_from_kraken(cls, ka: KrakenApi, pair: str) -> T: + def get_pair_from_kraken(cls, ka: KrakenApi, asset_pairs: dict, pair: str) -> T: """ Initialize the Pair object using KrakenAPI and provided pair. :param ka: KrakenApi object. + :param asset_pairs: Dictionary of available pairs on Kraken got through the API. :param pair: Pair to dollar cost average as string. :return: Instanced Pair object. """ - pair_information = cls.get_pair_information(ka, pair) + pair_information = cls.get_pair_information(asset_pairs, pair) alt_name = pair_information.get("altname") base = pair_information.get("base") quote = pair_information.get("quote") @@ -81,15 +82,14 @@ def get_pair_from_kraken(cls, ka: KrakenApi, pair: str) -> T: ) @staticmethod - def get_pair_information(ka: KrakenApi, pair: str) -> dict: + def get_pair_information(asset_pairs: dict, pair: str) -> dict: """ Return pair information from Kraken API. - :param ka: KrakenAPI object. + :param asset_pairs: Dictionary of available pairs on Kraken got through the API. :param pair: Pair to find. :return: Dict of pair information. """ - asset_pairs = ka.get_asset_pairs() pair_information = find_nested_dictionary(asset_pairs, pair) if not pair_information: available_pairs = [pair for pair in asset_pairs] diff --git a/tests/fixtures/config.yaml b/tests/fixtures/config.yaml index 8465ef5..869ce6a 100644 --- a/tests/fixtures/config.yaml +++ b/tests/fixtures/config.yaml @@ -10,8 +10,8 @@ api: dca_pairs: - pair: "XETHZEUR" delay: 1 - amount: 20 - - pair: "XBTUSDT" + amount: 15 + - pair: "XXBTZEUR" delay: 3 amount: 20 diff --git a/tests/fixtures/vcr_cassettes/test_handle_dca_pairs.yaml b/tests/fixtures/vcr_cassettes/test_handle_dca_pairs.yaml new file mode 100644 index 0000000..41fd915 --- /dev/null +++ b/tests/fixtures/vcr_cassettes/test_handle_dca_pairs.yaml @@ -0,0 +1,655 @@ +interactions: +- request: + body: null + headers: + Connection: + - close + Host: + - api.kraken.com + User-Agent: + - Python-urllib/3.8 + method: GET + uri: https://api.kraken.com/0/public/Time + response: + body: + string: '{"error":[],"result":{"unixtime":1631476207,"rfc1123":"Sun, 12 Sep + 21 19:50:07 +0000"}}' + headers: + CF-Cache-Status: + - MISS + CF-RAY: + - 68dba9b9bfe232ab-CDG + Connection: + - close + Content-Type: + - application/json; charset=utf-8 + Date: + - Sun, 12 Sep 2021 19:50:07 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + Server: + - cloudflare + Set-Cookie: + - __cf_bm=xMJi3cu0RIXLxr.dVim4._0VO23KqSZdXLucCwK90PE-1631476207-0-AbenrqeMDImBwazhx4ahYfS0pQ6+LDgvXo5I5M9DxAW9tiszaq5PuYu85qcJcCAj2A9fwPoiapvgGUO4MQDq2vU=; + path=/; expires=Sun, 12-Sep-21 20:20:07 GMT; domain=.kraken.com; HttpOnly; + Secure; SameSite=None + Transfer-Encoding: + - chunked + Vary: + - Accept-Encoding + cache-control: + - no-cache, max-age=0 + referrer-policy: + - no-referrer-when-downgrade + strict-transport-security: + - max-age=15768000 + status: + code: 200 + message: OK +- request: + body: nonce=1631476207843 + headers: + Connection: + - close + Content-Length: + - '19' + Content-Type: + - application/x-www-form-urlencoded + Host: + - api.kraken.com + User-Agent: + - Python-urllib/3.8 + method: POST + uri: https://api.kraken.com/0/private/TradeBalance + response: + body: + string: '{"error":[],"result":{"eb":"233.2977","tb":"42.3654","m":"0.0000","n":"0.0000","c":"0.0000","v":"0.0000","e":"42.3654","mf":"42.3654"}}' + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 68dba9bb6f7d331d-CDG + Connection: + - close + Content-Type: + - application/json; charset=utf-8 + Date: + - Sun, 12 Sep 2021 19:50:08 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + Server: + - cloudflare + Set-Cookie: + - __cf_bm=c8b3d144816d0bd04620500f82554fe764c0f2bd-1631476208-0-Ad6N1n+uTPVYMRSk/GTdFscjDAz728w6Uebv51TJlO9J5gBZTIxjXgdJXdrqrx7CMau0GciY6UwnL8c7SaiWaw4=; + path=/; expires=Sun, 12-Sep-21 20:20:08 GMT; domain=.kraken.com; HttpOnly; + Secure; SameSite=None + Transfer-Encoding: + - chunked + referrer-policy: + - no-referrer-when-downgrade + strict-transport-security: + - max-age=15768000 + status: + code: 200 + message: OK +- request: + body: nonce=1631476208323 + headers: + Connection: + - close + Content-Length: + - '19' + Content-Type: + - application/x-www-form-urlencoded + Host: + - api.kraken.com + User-Agent: + - Python-urllib/3.8 + method: POST + uri: https://api.kraken.com/0/private/Balance + response: + body: + string: '{"error":[],"result":{"ZEUR":"35.0012","XXBT":"0.0000002600","XETH":"0.0000006020","ADA":"0.00000001","XTZ":"0.00000080","LINK":"0.0000000000","KEEP":"0.0000000000","YFI":"0.0000000100","UNI":"0.0000000000","AAVE":"0.0000000400","ETH2.S":"6.9611000000","ETH2":"0.2022962110","GRT":"0.0000000000"}}' + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 68dba9be49303b2b-CDG + Connection: + - close + Content-Type: + - application/json; charset=utf-8 + Date: + - Sun, 12 Sep 2021 19:50:08 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + Server: + - cloudflare + Set-Cookie: + - __cf_bm=1e75f5877d66a32791ca1322002de7040174cc57-1631476208-0-AQOTb3Bovr3xB21c08ZwxhuP/txcXtpeHIyI5SYOiMkH0hQfD86IimzWtFfZLG/la4xsUQT1Drkvm3S2jdgRXlY=; + path=/; expires=Sun, 12-Sep-21 20:20:08 GMT; domain=.kraken.com; HttpOnly; + Secure; SameSite=None + Transfer-Encoding: + - chunked + referrer-policy: + - no-referrer-when-downgrade + strict-transport-security: + - max-age=15768000 + status: + code: 200 + message: OK +- request: + body: nonce=1631476208542 + headers: + Connection: + - close + Content-Length: + - '19' + Content-Type: + - application/x-www-form-urlencoded + Host: + - api.kraken.com + User-Agent: + - Python-urllib/3.8 + method: POST + uri: https://api.kraken.com/0/private/OpenOrders + response: + body: + string: '{"error":[],"result":{"open":{}}}' + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 68dba9bf9f33cdcf-CDG + Connection: + - close + Content-Type: + - application/json; charset=utf-8 + Date: + - Sun, 12 Sep 2021 19:50:08 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + Server: + - cloudflare + Set-Cookie: + - __cf_bm=bbb4d3ca7dc8a96ebcf2c3e47d902a8a13f4db33-1631476208-0-AZJ56L7S91KW2m/+WxgKkpxRbijk+PQqi9VdDa2bNyQeRCOfO9gBc3ryOpNPHGPwJgkBzXKd638ah2rEuCLLMw8=; + path=/; expires=Sun, 12-Sep-21 20:20:08 GMT; domain=.kraken.com; HttpOnly; + Secure; SameSite=None + Transfer-Encoding: + - chunked + referrer-policy: + - no-referrer-when-downgrade + strict-transport-security: + - max-age=15768000 + status: + code: 200 + message: OK +- request: + body: start=1631404800&closetime=open&nonce=1631476208769 + headers: + Connection: + - close + Content-Length: + - '51' + Content-Type: + - application/x-www-form-urlencoded + Host: + - api.kraken.com + User-Agent: + - Python-urllib/3.8 + method: POST + uri: https://api.kraken.com/0/private/ClosedOrders + response: + body: + string: '{"error":[],"result":{"closed":{},"count":0}}' + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 68dba9c10df93a05-CDG + Connection: + - close + Content-Type: + - application/json; charset=utf-8 + Date: + - Sun, 12 Sep 2021 19:50:08 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + Server: + - cloudflare + Set-Cookie: + - __cf_bm=752d1118f7ea399ff95419a02012c341080ec7dc-1631476208-0-AdcMe6K7zed7bkUD5knbL7xUldZXUlIUBlEWohhfl1hW4nDDskiDg9PTJquJ8NkXTvKEP+/5k/qGcHLsa5Atd6M=; + path=/; expires=Sun, 12-Sep-21 20:20:08 GMT; domain=.kraken.com; HttpOnly; + Secure; SameSite=None + Transfer-Encoding: + - chunked + referrer-policy: + - no-referrer-when-downgrade + strict-transport-security: + - max-age=15768000 + status: + code: 200 + message: OK +- request: + body: pair=XETHZEUR + headers: + Connection: + - close + Content-Length: + - '13' + Content-Type: + - application/x-www-form-urlencoded + Host: + - api.kraken.com + User-Agent: + - Python-urllib/3.8 + method: POST + uri: https://api.kraken.com/0/public/Ticker + response: + body: + string: '{"error":[],"result":{"XETHZEUR":{"a":["2882.44000","14","14.000"],"b":["2882.08000","1","1.000"],"c":["2882.45000","0.01609677"],"v":["5927.63021073","6554.64223185"],"p":["2871.93608","2863.24748"],"t":[8306,9758],"l":["2742.33000","2742.33000"],"h":["2943.26000","2943.26000"],"o":"2768.51000"}}}' + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 68dba9c27dd03a6f-CDG + Connection: + - close + Content-Type: + - application/json; charset=utf-8 + Date: + - Sun, 12 Sep 2021 19:50:09 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + Server: + - cloudflare + Set-Cookie: + - __cf_bm=OuZ7zS2WmxeBtR1TlvdQCjNXJIHij5IyGwj76OxQIH8-1631476209-0-ARBFXqvEB2+cd0HXcTKh/s/6ZRdSBaMVJnmlMlwfvtXEVWNfq9C4Z18LKsjZtkI2VVR7qAy/h9ZRPxofbpH19Ho=; + path=/; expires=Sun, 12-Sep-21 20:20:09 GMT; domain=.kraken.com; HttpOnly; + Secure; SameSite=None + Transfer-Encoding: + - chunked + cache-control: + - no-cache,max-age=0 + referrer-policy: + - no-referrer-when-downgrade + strict-transport-security: + - max-age=15768000 + status: + code: 200 + message: OK +- request: + body: pair=XETHZEUR&type=buy&ordertype=limit&price=2882.44&volume=0.00519042&oflags=fciq&nonce=1631476209219 + headers: + Connection: + - close + Content-Length: + - '102' + Content-Type: + - application/x-www-form-urlencoded + Host: + - api.kraken.com + User-Agent: + - Python-urllib/3.8 + method: POST + uri: https://api.kraken.com/0/private/AddOrder + response: + body: + string: '{"error":[],"result":{"txid":["O4OHPN-MU47M-3FUXEV"],"descr":{"order":"buy + 0.00519042 ETHEUR @ limit 2882.44"}}}' + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 68dba9c3e9020828-CDG + Connection: + - close + Content-Type: + - application/json + Date: + - Sun, 12 Sep 2021 19:50:09 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + Server: + - cloudflare + Set-Cookie: + - __cf_bm=efc98efc0a26628c5626ec333fb7cfa8a59124d7-1631476209-0-ATLIMykJY/SPno6q7XZ9k8W2toLShE+K+NTHhAvYm5u4GwTG0MZdNAPvAmozM3nwXm6ih+FJK8Lg0U+uE1mnVTU=; + path=/; expires=Sun, 12-Sep-21 20:20:09 GMT; domain=.kraken.com; HttpOnly; + Secure; SameSite=None + Transfer-Encoding: + - chunked + referrer-policy: + - no-referrer-when-downgrade + strict-transport-security: + - max-age=15768000 + status: + code: 200 + message: OK +- request: + body: null + headers: + Connection: + - close + Host: + - api.kraken.com + User-Agent: + - Python-urllib/3.8 + method: GET + uri: https://api.kraken.com/0/public/Time + response: + body: + string: '{"error":[],"result":{"unixtime":1631476208,"rfc1123":"Sun, 12 Sep + 21 19:50:09 +0000"}}' + headers: + CF-Cache-Status: + - MISS + CF-RAY: + - 68dba9c54acb331f-CDG + Connection: + - close + Content-Type: + - application/json; charset=utf-8 + Date: + - Sun, 12 Sep 2021 19:50:09 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + Server: + - cloudflare + Set-Cookie: + - __cf_bm=IyRLsQtT9GQ1wF8cX10qCm4b6nAY5HKmoG87kQEG3Wc-1631476209-0-AX0GnSEpq6WvveIuQSx4V+r2Hq1DmMiN0zLfph66OqDPadTMqYE6Wvn0q3nUVpqBgH6bCgPNf1rNivEMCmMill0=; + path=/; expires=Sun, 12-Sep-21 20:20:09 GMT; domain=.kraken.com; HttpOnly; + Secure; SameSite=None + Transfer-Encoding: + - chunked + Vary: + - Accept-Encoding + cache-control: + - no-cache, max-age=0 + referrer-policy: + - no-referrer-when-downgrade + strict-transport-security: + - max-age=15768000 + status: + code: 200 + message: OK +- request: + body: nonce=1631476209675 + headers: + Connection: + - close + Content-Length: + - '19' + Content-Type: + - application/x-www-form-urlencoded + Host: + - api.kraken.com + User-Agent: + - Python-urllib/3.8 + method: POST + uri: https://api.kraken.com/0/private/TradeBalance + response: + body: + string: '{"error":[],"result":{"eb":"23542.8264","tb":"41.8941","m":"0.0000","n":"0.0000","c":"0.0000","v":"0.0000","e":"41.8941","mf":"41.8941"}}' + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 68dba9c6bae9eddb-CDG + Connection: + - close + Content-Type: + - application/json; charset=utf-8 + Date: + - Sun, 12 Sep 2021 19:50:10 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + Server: + - cloudflare + Set-Cookie: + - __cf_bm=0652ae21a85faefbcdf9860f2ef95a00f88d932f-1631476210-0-AcWY+oVK3lRqTc1HCRvdqEDS4hS4YeL4zJ9tX7Pi+bF4p3yuxyfhZwaebelIK54uyszhqgP37iQiYyPGfs51t4I=; + path=/; expires=Sun, 12-Sep-21 20:20:10 GMT; domain=.kraken.com; HttpOnly; + Secure; SameSite=None + Transfer-Encoding: + - chunked + referrer-policy: + - no-referrer-when-downgrade + strict-transport-security: + - max-age=15768000 + status: + code: 200 + message: OK +- request: + body: nonce=1631476210129 + headers: + Connection: + - close + Content-Length: + - '19' + Content-Type: + - application/x-www-form-urlencoded + Host: + - api.kraken.com + User-Agent: + - Python-urllib/3.8 + method: POST + uri: https://api.kraken.com/0/private/Balance + response: + body: + string: '{"error":[],"result":{"ZEUR":"20.0012","XXBT":"0.0000002600","XETH":"0.0051910220","ADA":"0.00000001","XTZ":"0.00000080","LINK":"0.0000000000","KEEP":"0.0000000000","YFI":"0.0000000100","UNI":"0.0000000000","AAVE":"0.0000000400","ETH2.S":"6.9611000000","ETH2":"0.2022962110","GRT":"0.0000000000"}}' + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 68dba9c98bd63b19-CDG + Connection: + - close + Content-Type: + - application/json; charset=utf-8 + Date: + - Sun, 12 Sep 2021 19:50:10 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + Server: + - cloudflare + Set-Cookie: + - __cf_bm=fefc9d186d6001505a1bb3e19b428335a8af29ad-1631476210-0-ATpmnZTdE1ym1vXZug1zgkQmknxJaJYDvbcwi8YYf2Wno6EumQLgRbiSZ1XtBap5mWWoe9/Fy+F4HXpnEEDSR3A=; + path=/; expires=Sun, 12-Sep-21 20:20:10 GMT; domain=.kraken.com; HttpOnly; + Secure; SameSite=None + Transfer-Encoding: + - chunked + referrer-policy: + - no-referrer-when-downgrade + strict-transport-security: + - max-age=15768000 + status: + code: 200 + message: OK +- request: + body: nonce=1631476210350 + headers: + Connection: + - close + Content-Length: + - '19' + Content-Type: + - application/x-www-form-urlencoded + Host: + - api.kraken.com + User-Agent: + - Python-urllib/3.8 + method: POST + uri: https://api.kraken.com/0/private/OpenOrders + response: + body: + string: '{"error":[],"result":{"open":{}}}' + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 68dba9cae93332c3-CDG + Connection: + - close + Content-Type: + - application/json; charset=utf-8 + Date: + - Sun, 12 Sep 2021 19:50:10 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + Server: + - cloudflare + Set-Cookie: + - __cf_bm=ec1f9ceab910960acfed1a792414da3fca0bbb50-1631476210-0-AeLmjqVST8SvymLh53yNFV2IZbrhUcqiVYt2e5uYYY1lE0rb7Angobfwm33hD0HDmhvCA4IzeCqdRFQChYfMHcQ=; + path=/; expires=Sun, 12-Sep-21 20:20:10 GMT; domain=.kraken.com; HttpOnly; + Secure; SameSite=None + Transfer-Encoding: + - chunked + referrer-policy: + - no-referrer-when-downgrade + strict-transport-security: + - max-age=15768000 + status: + code: 200 + message: OK +- request: + body: start=1631232000&closetime=open&nonce=1631476210567 + headers: + Connection: + - close + Content-Length: + - '51' + Content-Type: + - application/x-www-form-urlencoded + Host: + - api.kraken.com + User-Agent: + - Python-urllib/3.8 + method: POST + uri: https://api.kraken.com/0/private/ClosedOrders + response: + body: + string: '{"error":[],"result":{"closed":{"O4OHPN-MU47M-3FUXEV":{"refid":null,"userref":0,"status":"closed","reason":null,"opentm":1631476209.3574,"closetm":1631476209.3582,"starttm":0,"expiretm":0,"descr":{"pair":"ETHEUR","type":"buy","ordertype":"limit","price":"2882.44","price2":"0","leverage":"none","order":"buy + 0.00519042 ETHEUR @ limit 2882.44","close":""},"vol":"0.00519042","vol_exec":"0.00519042","cost":"14.96","fee":"0.03","price":"2882.43","stopprice":"0.00000","limitprice":"0.00000","misc":"","oflags":"fciq"}},"count":1}}' + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 68dba9cc4fb23ab7-CDG + Connection: + - close + Content-Type: + - application/json; charset=utf-8 + Date: + - Sun, 12 Sep 2021 19:50:10 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + Server: + - cloudflare + Set-Cookie: + - __cf_bm=91f12229d5fbc51fd4a02a5265751095909aa8f1-1631476210-0-AeD+AnJNPqo2S4cViC1r0cLWACll8akJo8+BLLm2MEHgZ3RP+6zfunu/GIT/IsvJAX9bF+jalRRLo6P6qstvRfo=; + path=/; expires=Sun, 12-Sep-21 20:20:10 GMT; domain=.kraken.com; HttpOnly; + Secure; SameSite=None + Transfer-Encoding: + - chunked + referrer-policy: + - no-referrer-when-downgrade + strict-transport-security: + - max-age=15768000 + status: + code: 200 + message: OK +- request: + body: pair=XXBTZEUR + headers: + Connection: + - close + Content-Length: + - '13' + Content-Type: + - application/x-www-form-urlencoded + Host: + - api.kraken.com + User-Agent: + - Python-urllib/3.8 + method: POST + uri: https://api.kraken.com/0/public/Ticker + response: + body: + string: '{"error":[],"result":{"XXBTZEUR":{"a":["38857.20000","3","3.000"],"b":["38857.10000","2","2.000"],"c":["38857.20000","0.00010000"],"v":["667.33803782","977.73454799"],"p":["38651.47637","38568.28134"],"t":[13709,16927],"l":["37982.60000","37982.60000"],"h":["39208.90000","39208.90000"],"o":"38265.90000"}}}' + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 68dba9cdbf193ae3-CDG + Connection: + - close + Content-Type: + - application/json; charset=utf-8 + Date: + - Sun, 12 Sep 2021 19:50:11 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + Server: + - cloudflare + Set-Cookie: + - __cf_bm=3zqGB6l5BEvjvO_xaxnLtEC9_Z54mfVBwJFd_zycgPU-1631476211-0-AfkQd+vyv4beERzoTLfPdVA7duQSivqikbGHLmDVi/feodn9gkmmDkJZnmtPZZ0XolCkVyl32X4UReYL38qgj30=; + path=/; expires=Sun, 12-Sep-21 20:20:11 GMT; domain=.kraken.com; HttpOnly; + Secure; SameSite=None + Transfer-Encoding: + - chunked + cache-control: + - no-cache,max-age=0 + referrer-policy: + - no-referrer-when-downgrade + strict-transport-security: + - max-age=15768000 + status: + code: 200 + message: OK +- request: + body: pair=XXBTZEUR&type=buy&ordertype=limit&price=38857.2&volume=0.00051336&oflags=fciq&nonce=1631476211020 + headers: + Connection: + - close + Content-Length: + - '102' + Content-Type: + - application/x-www-form-urlencoded + Host: + - api.kraken.com + User-Agent: + - Python-urllib/3.8 + method: POST + uri: https://api.kraken.com/0/private/AddOrder + response: + body: + string: '{"error":[],"result":{"txid":["OMHP5J-W3RDC-C7LHOO"],"descr":{"order":"buy + 0.00051336 XBTEUR @ limit 38857.2"}}}' + headers: + CF-Cache-Status: + - DYNAMIC + CF-RAY: + - 68dba9cf2ce83318-CDG + Connection: + - close + Content-Type: + - application/json + Date: + - Sun, 12 Sep 2021 19:50:11 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + Server: + - cloudflare + Set-Cookie: + - __cf_bm=fe6992984dd2338885800d141354311c89a76f8e-1631476211-0-AR+TkoFaFuwa1Cdq4GDapsKsLY8TBpicise0RRQwCkT+YTVTwm2DbpsxKOqSFLmcp/YHMsoazLMprAh7KQe769U=; + path=/; expires=Sun, 12-Sep-21 20:20:11 GMT; domain=.kraken.com; HttpOnly; + Secure; SameSite=None + Transfer-Encoding: + - chunked + referrer-policy: + - no-referrer-when-downgrade + strict-transport-security: + - max-age=15768000 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/fixtures/vcr_cassettes/test_krakendca_setup.yaml b/tests/fixtures/vcr_cassettes/test_krakendca_setup.yaml new file mode 100644 index 0000000..490a7a1 --- /dev/null +++ b/tests/fixtures/vcr_cassettes/test_krakendca_setup.yaml @@ -0,0 +1,146 @@ +interactions: +- request: + body: null + headers: + Connection: + - close + Host: + - api.kraken.com + User-Agent: + - Python-urllib/3.8 + method: GET + uri: https://api.kraken.com/0/public/AssetPairs + response: + body: + string: '{"error":[],"result":{"1INCHEUR":{"altname":"1INCHEUR","wsname":"1INCH\/EUR","aclass_base":"currency","base":"1INCH","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"2"},"1INCHUSD":{"altname":"1INCHUSD","wsname":"1INCH\/USD","aclass_base":"currency","base":"1INCH","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"2"},"AAVEAUD":{"altname":"AAVEAUD","wsname":"AAVE\/AUD","aclass_base":"currency","base":"AAVE","aclass_quote":"currency","quote":"ZAUD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.02"},"AAVEETH":{"altname":"AAVEETH","wsname":"AAVE\/ETH","aclass_base":"currency","base":"AAVE","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.02"},"AAVEEUR":{"altname":"AAVEEUR","wsname":"AAVE\/EUR","aclass_base":"currency","base":"AAVE","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.02"},"AAVEGBP":{"altname":"AAVEGBP","wsname":"AAVE\/GBP","aclass_base":"currency","base":"AAVE","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.02"},"AAVEUSD":{"altname":"AAVEUSD","wsname":"AAVE\/USD","aclass_base":"currency","base":"AAVE","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.02"},"AAVEXBT":{"altname":"AAVEXBT","wsname":"AAVE\/XBT","aclass_base":"currency","base":"AAVE","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.02"},"ADAAUD":{"altname":"ADAAUD","wsname":"ADA\/AUD","aclass_base":"currency","base":"ADA","aclass_quote":"currency","quote":"ZAUD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"ADAETH":{"altname":"ADAETH","wsname":"ADA\/ETH","aclass_base":"currency","base":"ADA","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"ADAEUR":{"altname":"ADAEUR","wsname":"ADA\/EUR","aclass_base":"currency","base":"ADA","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"ADAGBP":{"altname":"ADAGBP","wsname":"ADA\/GBP","aclass_base":"currency","base":"ADA","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"ADAUSD":{"altname":"ADAUSD","wsname":"ADA\/USD","aclass_base":"currency","base":"ADA","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"ADAUSDT":{"altname":"ADAUSDT","wsname":"ADA\/USDT","aclass_base":"currency","base":"ADA","aclass_quote":"currency","quote":"USDT","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"ADAXBT":{"altname":"ADAXBT","wsname":"ADA\/XBT","aclass_base":"currency","base":"ADA","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"ALGOETH":{"altname":"ALGOETH","wsname":"ALGO\/ETH","aclass_base":"currency","base":"ALGO","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"ALGOEUR":{"altname":"ALGOEUR","wsname":"ALGO\/EUR","aclass_base":"currency","base":"ALGO","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"ALGOGBP":{"altname":"ALGOGBP","wsname":"ALGO\/GBP","aclass_base":"currency","base":"ALGO","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"ALGOUSD":{"altname":"ALGOUSD","wsname":"ALGO\/USD","aclass_base":"currency","base":"ALGO","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"ALGOXBT":{"altname":"ALGOXBT","wsname":"ALGO\/XBT","aclass_base":"currency","base":"ALGO","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"ANKREUR":{"altname":"ANKREUR","wsname":"ANKR\/EUR","aclass_base":"currency","base":"ANKR","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"50"},"ANKRGBP":{"altname":"ANKRGBP","wsname":"ANKR\/GBP","aclass_base":"currency","base":"ANKR","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"50"},"ANKRUSD":{"altname":"ANKRUSD","wsname":"ANKR\/USD","aclass_base":"currency","base":"ANKR","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"50"},"ANKRXBT":{"altname":"ANKRXBT","wsname":"ANKR\/XBT","aclass_base":"currency","base":"ANKR","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"50"},"ANTETH":{"altname":"ANTETH","wsname":"ANT\/ETH","aclass_base":"currency","base":"ANT","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"ANTEUR":{"altname":"ANTEUR","wsname":"ANT\/EUR","aclass_base":"currency","base":"ANT","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"ANTUSD":{"altname":"ANTUSD","wsname":"ANT\/USD","aclass_base":"currency","base":"ANT","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"ANTXBT":{"altname":"ANTXBT","wsname":"ANT\/XBT","aclass_base":"currency","base":"ANT","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"ATOMAUD":{"altname":"ATOMAUD","wsname":"ATOM\/AUD","aclass_base":"currency","base":"ATOM","aclass_quote":"currency","quote":"ZAUD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.3"},"ATOMETH":{"altname":"ATOMETH","wsname":"ATOM\/ETH","aclass_base":"currency","base":"ATOM","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.3"},"ATOMEUR":{"altname":"ATOMEUR","wsname":"ATOM\/EUR","aclass_base":"currency","base":"ATOM","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.3"},"ATOMGBP":{"altname":"ATOMGBP","wsname":"ATOM\/GBP","aclass_base":"currency","base":"ATOM","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.3"},"ATOMUSD":{"altname":"ATOMUSD","wsname":"ATOM\/USD","aclass_base":"currency","base":"ATOM","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.3"},"ATOMXBT":{"altname":"ATOMXBT","wsname":"ATOM\/XBT","aclass_base":"currency","base":"ATOM","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.3"},"AUDJPY":{"altname":"AUDJPY","wsname":"AUD\/JPY","aclass_base":"currency","base":"ZAUD","aclass_quote":"currency","quote":"ZJPY","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"AUDUSD":{"altname":"AUDUSD","wsname":"AUD\/USD","aclass_base":"currency","base":"ZAUD","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"AXSEUR":{"altname":"AXSEUR","wsname":"AXS\/EUR","aclass_base":"currency","base":"AXS","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"2"},"AXSUSD":{"altname":"AXSUSD","wsname":"AXS\/USD","aclass_base":"currency","base":"AXS","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"2"},"BADGEREUR":{"altname":"BADGEREUR","wsname":"BADGER\/EUR","aclass_base":"currency","base":"BADGER","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"BADGERUSD":{"altname":"BADGERUSD","wsname":"BADGER\/USD","aclass_base":"currency","base":"BADGER","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"BALETH":{"altname":"BALETH","wsname":"BAL\/ETH","aclass_base":"currency","base":"BAL","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.15"},"BALEUR":{"altname":"BALEUR","wsname":"BAL\/EUR","aclass_base":"currency","base":"BAL","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.15"},"BALUSD":{"altname":"BALUSD","wsname":"BAL\/USD","aclass_base":"currency","base":"BAL","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.15"},"BALXBT":{"altname":"BALXBT","wsname":"BAL\/XBT","aclass_base":"currency","base":"BAL","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.15"},"BANDEUR":{"altname":"BANDEUR","wsname":"BAND\/EUR","aclass_base":"currency","base":"BAND","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"BANDUSD":{"altname":"BANDUSD","wsname":"BAND\/USD","aclass_base":"currency","base":"BAND","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"BATETH":{"altname":"BATETH","wsname":"BAT\/ETH","aclass_base":"currency","base":"BAT","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"BATEUR":{"altname":"BATEUR","wsname":"BAT\/EUR","aclass_base":"currency","base":"BAT","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"BATUSD":{"altname":"BATUSD","wsname":"BAT\/USD","aclass_base":"currency","base":"BAT","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"BATXBT":{"altname":"BATXBT","wsname":"BAT\/XBT","aclass_base":"currency","base":"BAT","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"BCHAUD":{"altname":"BCHAUD","wsname":"BCH\/AUD","aclass_base":"currency","base":"BCH","aclass_quote":"currency","quote":"ZAUD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.01"},"BCHETH":{"altname":"BCHETH","wsname":"BCH\/ETH","aclass_base":"currency","base":"BCH","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.01"},"BCHEUR":{"altname":"BCHEUR","wsname":"BCH\/EUR","aclass_base":"currency","base":"BCH","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.01"},"BCHGBP":{"altname":"BCHGBP","wsname":"BCH\/GBP","aclass_base":"currency","base":"BCH","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.01"},"BCHJPY":{"altname":"BCHJPY","wsname":"BCH\/JPY","aclass_base":"currency","base":"BCH","aclass_quote":"currency","quote":"ZJPY","lot":"unit","pair_decimals":0,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.01"},"BCHUSD":{"altname":"BCHUSD","wsname":"BCH\/USD","aclass_base":"currency","base":"BCH","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.01"},"BCHUSDT":{"altname":"BCHUSDT","wsname":"BCH\/USDT","aclass_base":"currency","base":"BCH","aclass_quote":"currency","quote":"USDT","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.01"},"BCHXBT":{"altname":"BCHXBT","wsname":"BCH\/XBT","aclass_base":"currency","base":"BCH","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.01"},"BNTEUR":{"altname":"BNTEUR","wsname":"BNT\/EUR","aclass_base":"currency","base":"BNT","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"BNTGBP":{"altname":"BNTGBP","wsname":"BNT\/GBP","aclass_base":"currency","base":"BNT","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"BNTUSD":{"altname":"BNTUSD","wsname":"BNT\/USD","aclass_base":"currency","base":"BNT","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"BNTXBT":{"altname":"BNTXBT","wsname":"BNT\/XBT","aclass_base":"currency","base":"BNT","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"CHZEUR":{"altname":"CHZEUR","wsname":"CHZ\/EUR","aclass_base":"currency","base":"CHZ","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"20"},"CHZUSD":{"altname":"CHZUSD","wsname":"CHZ\/USD","aclass_base":"currency","base":"CHZ","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"20"},"COMPETH":{"altname":"COMPETH","wsname":"COMP\/ETH","aclass_base":"currency","base":"COMP","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.01"},"COMPEUR":{"altname":"COMPEUR","wsname":"COMP\/EUR","aclass_base":"currency","base":"COMP","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.01"},"COMPUSD":{"altname":"COMPUSD","wsname":"COMP\/USD","aclass_base":"currency","base":"COMP","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.01"},"COMPXBT":{"altname":"COMPXBT","wsname":"COMP\/XBT","aclass_base":"currency","base":"COMP","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.01"},"CQTEUR":{"altname":"CQTEUR","wsname":"CQT\/EUR","aclass_base":"currency","base":"CQT","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"CQTUSD":{"altname":"CQTUSD","wsname":"CQT\/USD","aclass_base":"currency","base":"CQT","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"CRVETH":{"altname":"CRVETH","wsname":"CRV\/ETH","aclass_base":"currency","base":"CRV","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"2.5"},"CRVEUR":{"altname":"CRVEUR","wsname":"CRV\/EUR","aclass_base":"currency","base":"CRV","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"2.5"},"CRVUSD":{"altname":"CRVUSD","wsname":"CRV\/USD","aclass_base":"currency","base":"CRV","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"2.5"},"CRVXBT":{"altname":"CRVXBT","wsname":"CRV\/XBT","aclass_base":"currency","base":"CRV","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"2.5"},"CTSIEUR":{"altname":"CTSIEUR","wsname":"CTSI\/EUR","aclass_base":"currency","base":"CTSI","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"CTSIUSD":{"altname":"CTSIUSD","wsname":"CTSI\/USD","aclass_base":"currency","base":"CTSI","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"DAIEUR":{"altname":"DAIEUR","wsname":"DAI\/EUR","aclass_base":"currency","base":"DAI","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"DAIUSD":{"altname":"DAIUSD","wsname":"DAI\/USD","aclass_base":"currency","base":"DAI","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"DAIUSDT":{"altname":"DAIUSDT","wsname":"DAI\/USDT","aclass_base":"currency","base":"DAI","aclass_quote":"currency","quote":"USDT","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"DASHEUR":{"altname":"DASHEUR","wsname":"DASH\/EUR","aclass_base":"currency","base":"DASH","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.03"},"DASHUSD":{"altname":"DASHUSD","wsname":"DASH\/USD","aclass_base":"currency","base":"DASH","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.03"},"DASHXBT":{"altname":"DASHXBT","wsname":"DASH\/XBT","aclass_base":"currency","base":"DASH","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.03"},"DOTAUD":{"altname":"DOTAUD","wsname":"DOT\/AUD","aclass_base":"currency","base":"DOT","aclass_quote":"currency","quote":"ZAUD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"DOTETH":{"altname":"DOTETH","wsname":"DOT\/ETH","aclass_base":"currency","base":"DOT","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"DOTEUR":{"altname":"DOTEUR","wsname":"DOT\/EUR","aclass_base":"currency","base":"DOT","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"DOTGBP":{"altname":"DOTGBP","wsname":"DOT\/GBP","aclass_base":"currency","base":"DOT","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"DOTUSD":{"altname":"DOTUSD","wsname":"DOT\/USD","aclass_base":"currency","base":"DOT","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"DOTUSDT":{"altname":"DOTUSDT","wsname":"DOT\/USDT","aclass_base":"currency","base":"DOT","aclass_quote":"currency","quote":"USDT","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"DOTXBT":{"altname":"DOTXBT","wsname":"DOT\/XBT","aclass_base":"currency","base":"DOT","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"ENJEUR":{"altname":"ENJEUR","wsname":"ENJ\/EUR","aclass_base":"currency","base":"ENJ","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"2"},"ENJGBP":{"altname":"ENJGBP","wsname":"ENJ\/GBP","aclass_base":"currency","base":"ENJ","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"2"},"ENJUSD":{"altname":"ENJUSD","wsname":"ENJ\/USD","aclass_base":"currency","base":"ENJ","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"2"},"ENJXBT":{"altname":"ENJXBT","wsname":"ENJ\/XBT","aclass_base":"currency","base":"ENJ","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"2"},"EOSETH":{"altname":"EOSETH","wsname":"EOS\/ETH","aclass_base":"currency","base":"EOS","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"EOSEUR":{"altname":"EOSEUR","wsname":"EOS\/EUR","aclass_base":"currency","base":"EOS","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"EOSUSD":{"altname":"EOSUSD","wsname":"EOS\/USD","aclass_base":"currency","base":"EOS","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"EOSUSDT":{"altname":"EOSUSDT","wsname":"EOS\/USDT","aclass_base":"currency","base":"EOS","aclass_quote":"currency","quote":"USDT","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"EOSXBT":{"altname":"EOSXBT","wsname":"EOS\/XBT","aclass_base":"currency","base":"EOS","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"ETH2.SETH":{"altname":"ETH2.SETH","wsname":"ETH2.S\/ETH","aclass_base":"currency","base":"ETH2.S","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.004"},"ETHAUD":{"altname":"ETHAUD","wsname":"ETH\/AUD","aclass_base":"currency","base":"XETH","aclass_quote":"currency","quote":"ZAUD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.004"},"ETHCHF":{"altname":"ETHCHF","wsname":"ETH\/CHF","aclass_base":"currency","base":"XETH","aclass_quote":"currency","quote":"CHF","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.004"},"ETHDAI":{"altname":"ETHDAI","wsname":"ETH\/DAI","aclass_base":"currency","base":"XETH","aclass_quote":"currency","quote":"DAI","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.004"},"ETHUSDC":{"altname":"ETHUSDC","wsname":"ETH\/USDC","aclass_base":"currency","base":"XETH","aclass_quote":"currency","quote":"USDC","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.004"},"ETHUSDT":{"altname":"ETHUSDT","wsname":"ETH\/USDT","aclass_base":"currency","base":"XETH","aclass_quote":"currency","quote":"USDT","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.004"},"EURAUD":{"altname":"EURAUD","wsname":"EUR\/AUD","aclass_base":"currency","base":"ZEUR","aclass_quote":"currency","quote":"ZAUD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"EURCAD":{"altname":"EURCAD","wsname":"EUR\/CAD","aclass_base":"currency","base":"ZEUR","aclass_quote":"currency","quote":"ZCAD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"EURCHF":{"altname":"EURCHF","wsname":"EUR\/CHF","aclass_base":"currency","base":"ZEUR","aclass_quote":"currency","quote":"CHF","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"EURGBP":{"altname":"EURGBP","wsname":"EUR\/GBP","aclass_base":"currency","base":"ZEUR","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"EURJPY":{"altname":"EURJPY","wsname":"EUR\/JPY","aclass_base":"currency","base":"ZEUR","aclass_quote":"currency","quote":"ZJPY","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"EWTEUR":{"altname":"EWTEUR","wsname":"EWT\/EUR","aclass_base":"currency","base":"EWT","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"EWTGBP":{"altname":"EWTGBP","wsname":"EWT\/GBP","aclass_base":"currency","base":"EWT","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"EWTUSD":{"altname":"EWTUSD","wsname":"EWT\/USD","aclass_base":"currency","base":"EWT","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"EWTXBT":{"altname":"EWTXBT","wsname":"EWT\/XBT","aclass_base":"currency","base":"EWT","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"FILAUD":{"altname":"FILAUD","wsname":"FIL\/AUD","aclass_base":"currency","base":"FIL","aclass_quote":"currency","quote":"ZAUD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.05"},"FILETH":{"altname":"FILETH","wsname":"FIL\/ETH","aclass_base":"currency","base":"FIL","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.05"},"FILEUR":{"altname":"FILEUR","wsname":"FIL\/EUR","aclass_base":"currency","base":"FIL","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.05"},"FILGBP":{"altname":"FILGBP","wsname":"FIL\/GBP","aclass_base":"currency","base":"FIL","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.05"},"FILUSD":{"altname":"FILUSD","wsname":"FIL\/USD","aclass_base":"currency","base":"FIL","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.05"},"FILXBT":{"altname":"FILXBT","wsname":"FIL\/XBT","aclass_base":"currency","base":"FIL","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.05"},"FLOWETH":{"altname":"FLOWETH","wsname":"FLOW\/ETH","aclass_base":"currency","base":"FLOW","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"FLOWEUR":{"altname":"FLOWEUR","wsname":"FLOW\/EUR","aclass_base":"currency","base":"FLOW","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"FLOWGBP":{"altname":"FLOWGBP","wsname":"FLOW\/GBP","aclass_base":"currency","base":"FLOW","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"FLOWUSD":{"altname":"FLOWUSD","wsname":"FLOW\/USD","aclass_base":"currency","base":"FLOW","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"FLOWXBT":{"altname":"FLOWXBT","wsname":"FLOW\/XBT","aclass_base":"currency","base":"FLOW","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"GHSTEUR":{"altname":"GHSTEUR","wsname":"GHST\/EUR","aclass_base":"currency","base":"GHST","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"GHSTGBP":{"altname":"GHSTGBP","wsname":"GHST\/GBP","aclass_base":"currency","base":"GHST","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"GHSTUSD":{"altname":"GHSTUSD","wsname":"GHST\/USD","aclass_base":"currency","base":"GHST","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"GHSTXBT":{"altname":"GHSTXBT","wsname":"GHST\/XBT","aclass_base":"currency","base":"GHST","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"GNOETH":{"altname":"GNOETH","wsname":"GNO\/ETH","aclass_base":"currency","base":"GNO","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.05"},"GNOEUR":{"altname":"GNOEUR","wsname":"GNO\/EUR","aclass_base":"currency","base":"GNO","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.05"},"GNOUSD":{"altname":"GNOUSD","wsname":"GNO\/USD","aclass_base":"currency","base":"GNO","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.05"},"GNOXBT":{"altname":"GNOXBT","wsname":"GNO\/XBT","aclass_base":"currency","base":"GNO","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.05"},"GRTAUD":{"altname":"GRTAUD","wsname":"GRT\/AUD","aclass_base":"currency","base":"GRT","aclass_quote":"currency","quote":"ZAUD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"3.5"},"GRTETH":{"altname":"GRTETH","wsname":"GRT\/ETH","aclass_base":"currency","base":"GRT","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"3.5"},"GRTEUR":{"altname":"GRTEUR","wsname":"GRT\/EUR","aclass_base":"currency","base":"GRT","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"3.5"},"GRTGBP":{"altname":"GRTGBP","wsname":"GRT\/GBP","aclass_base":"currency","base":"GRT","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"3.5"},"GRTUSD":{"altname":"GRTUSD","wsname":"GRT\/USD","aclass_base":"currency","base":"GRT","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"3.5"},"GRTXBT":{"altname":"GRTXBT","wsname":"GRT\/XBT","aclass_base":"currency","base":"GRT","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"3.5"},"ICXETH":{"altname":"ICXETH","wsname":"ICX\/ETH","aclass_base":"currency","base":"ICX","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"3"},"ICXEUR":{"altname":"ICXEUR","wsname":"ICX\/EUR","aclass_base":"currency","base":"ICX","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"3"},"ICXUSD":{"altname":"ICXUSD","wsname":"ICX\/USD","aclass_base":"currency","base":"ICX","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"3"},"ICXXBT":{"altname":"ICXXBT","wsname":"ICX\/XBT","aclass_base":"currency","base":"ICX","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"3"},"INJEUR":{"altname":"INJEUR","wsname":"INJ\/EUR","aclass_base":"currency","base":"INJ","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"INJUSD":{"altname":"INJUSD","wsname":"INJ\/USD","aclass_base":"currency","base":"INJ","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"KAREUR":{"altname":"KAREUR","wsname":"KAR\/EUR","aclass_base":"currency","base":"KAR","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"KARUSD":{"altname":"KARUSD","wsname":"KAR\/USD","aclass_base":"currency","base":"KAR","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"KAVAETH":{"altname":"KAVAETH","wsname":"KAVA\/ETH","aclass_base":"currency","base":"KAVA","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"KAVAEUR":{"altname":"KAVAEUR","wsname":"KAVA\/EUR","aclass_base":"currency","base":"KAVA","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"KAVAUSD":{"altname":"KAVAUSD","wsname":"KAVA\/USD","aclass_base":"currency","base":"KAVA","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"KAVAXBT":{"altname":"KAVAXBT","wsname":"KAVA\/XBT","aclass_base":"currency","base":"KAVA","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"KEEPETH":{"altname":"KEEPETH","wsname":"KEEP\/ETH","aclass_base":"currency","base":"KEEP","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"KEEPEUR":{"altname":"KEEPEUR","wsname":"KEEP\/EUR","aclass_base":"currency","base":"KEEP","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"KEEPUSD":{"altname":"KEEPUSD","wsname":"KEEP\/USD","aclass_base":"currency","base":"KEEP","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"KEEPXBT":{"altname":"KEEPXBT","wsname":"KEEP\/XBT","aclass_base":"currency","base":"KEEP","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"KNCETH":{"altname":"KNCETH","wsname":"KNC\/ETH","aclass_base":"currency","base":"KNC","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"2"},"KNCEUR":{"altname":"KNCEUR","wsname":"KNC\/EUR","aclass_base":"currency","base":"KNC","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"2"},"KNCUSD":{"altname":"KNCUSD","wsname":"KNC\/USD","aclass_base":"currency","base":"KNC","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"2"},"KNCXBT":{"altname":"KNCXBT","wsname":"KNC\/XBT","aclass_base":"currency","base":"KNC","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"2"},"KSMAUD":{"altname":"KSMAUD","wsname":"KSM\/AUD","aclass_base":"currency","base":"KSM","aclass_quote":"currency","quote":"ZAUD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.02"},"KSMDOT":{"altname":"KSMDOT","wsname":"KSM\/DOT","aclass_base":"currency","base":"KSM","aclass_quote":"currency","quote":"DOT","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.02"},"KSMETH":{"altname":"KSMETH","wsname":"KSM\/ETH","aclass_base":"currency","base":"KSM","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.02"},"KSMEUR":{"altname":"KSMEUR","wsname":"KSM\/EUR","aclass_base":"currency","base":"KSM","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.02"},"KSMGBP":{"altname":"KSMGBP","wsname":"KSM\/GBP","aclass_base":"currency","base":"KSM","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.02"},"KSMUSD":{"altname":"KSMUSD","wsname":"KSM\/USD","aclass_base":"currency","base":"KSM","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.02"},"KSMXBT":{"altname":"KSMXBT","wsname":"KSM\/XBT","aclass_base":"currency","base":"KSM","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.02"},"LINKAUD":{"altname":"LINKAUD","wsname":"LINK\/AUD","aclass_base":"currency","base":"LINK","aclass_quote":"currency","quote":"ZAUD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"LINKETH":{"altname":"LINKETH","wsname":"LINK\/ETH","aclass_base":"currency","base":"LINK","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"LINKEUR":{"altname":"LINKEUR","wsname":"LINK\/EUR","aclass_base":"currency","base":"LINK","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"LINKGBP":{"altname":"LINKGBP","wsname":"LINK\/GBP","aclass_base":"currency","base":"LINK","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"LINKUSD":{"altname":"LINKUSD","wsname":"LINK\/USD","aclass_base":"currency","base":"LINK","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"LINKUSDT":{"altname":"LINKUSDT","wsname":"LINK\/USDT","aclass_base":"currency","base":"LINK","aclass_quote":"currency","quote":"USDT","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"LINKXBT":{"altname":"LINKXBT","wsname":"LINK\/XBT","aclass_base":"currency","base":"LINK","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"LPTEUR":{"altname":"LPTEUR","wsname":"LPT\/EUR","aclass_base":"currency","base":"LPT","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"LPTGBP":{"altname":"LPTGBP","wsname":"LPT\/GBP","aclass_base":"currency","base":"LPT","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"LPTUSD":{"altname":"LPTUSD","wsname":"LPT\/USD","aclass_base":"currency","base":"LPT","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"LPTXBT":{"altname":"LPTXBT","wsname":"LPT\/XBT","aclass_base":"currency","base":"LPT","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"LRCEUR":{"altname":"LRCEUR","wsname":"LRC\/EUR","aclass_base":"currency","base":"LRC","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"15"},"LRCUSD":{"altname":"LRCUSD","wsname":"LRC\/USD","aclass_base":"currency","base":"LRC","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"15"},"LSKETH":{"altname":"LSKETH","wsname":"LSK\/ETH","aclass_base":"currency","base":"LSK","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"LSKEUR":{"altname":"LSKEUR","wsname":"LSK\/EUR","aclass_base":"currency","base":"LSK","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"LSKUSD":{"altname":"LSKUSD","wsname":"LSK\/USD","aclass_base":"currency","base":"LSK","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"LSKXBT":{"altname":"LSKXBT","wsname":"LSK\/XBT","aclass_base":"currency","base":"LSK","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":9,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"LTCAUD":{"altname":"LTCAUD","wsname":"LTC\/AUD","aclass_base":"currency","base":"XLTC","aclass_quote":"currency","quote":"ZAUD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.03"},"LTCETH":{"altname":"LTCETH","wsname":"LTC\/ETH","aclass_base":"currency","base":"XLTC","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.03"},"LTCGBP":{"altname":"LTCGBP","wsname":"LTC\/GBP","aclass_base":"currency","base":"XLTC","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.03"},"LTCUSDT":{"altname":"LTCUSDT","wsname":"LTC\/USDT","aclass_base":"currency","base":"XLTC","aclass_quote":"currency","quote":"USDT","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.03"},"MANAETH":{"altname":"MANAETH","wsname":"MANA\/ETH","aclass_base":"currency","base":"MANA","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"7"},"MANAEUR":{"altname":"MANAEUR","wsname":"MANA\/EUR","aclass_base":"currency","base":"MANA","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"7"},"MANAUSD":{"altname":"MANAUSD","wsname":"MANA\/USD","aclass_base":"currency","base":"MANA","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"7"},"MANAXBT":{"altname":"MANAXBT","wsname":"MANA\/XBT","aclass_base":"currency","base":"MANA","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"7"},"MATICEUR":{"altname":"MATICEUR","wsname":"MATIC\/EUR","aclass_base":"currency","base":"MATIC","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"20"},"MATICGBP":{"altname":"MATICGBP","wsname":"MATIC\/GBP","aclass_base":"currency","base":"MATIC","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"20"},"MATICUSD":{"altname":"MATICUSD","wsname":"MATIC\/USD","aclass_base":"currency","base":"MATIC","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"20"},"MATICXBT":{"altname":"MATICXBT","wsname":"MATIC\/XBT","aclass_base":"currency","base":"MATIC","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"20"},"MINAEUR":{"altname":"MINAEUR","wsname":"MINA\/EUR","aclass_base":"currency","base":"MINA","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"MINAGBP":{"altname":"MINAGBP","wsname":"MINA\/GBP","aclass_base":"currency","base":"MINA","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"MINAUSD":{"altname":"MINAUSD","wsname":"MINA\/USD","aclass_base":"currency","base":"MINA","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"MINAXBT":{"altname":"MINAXBT","wsname":"MINA\/XBT","aclass_base":"currency","base":"MINA","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"MIREUR":{"altname":"MIREUR","wsname":"MIR\/EUR","aclass_base":"currency","base":"MIR","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"MIRUSD":{"altname":"MIRUSD","wsname":"MIR\/USD","aclass_base":"currency","base":"MIR","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"MKREUR":{"altname":"MKREUR","wsname":"MKR\/EUR","aclass_base":"currency","base":"MKR","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":1,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.002"},"MKRGBP":{"altname":"MKRGBP","wsname":"MKR\/GBP","aclass_base":"currency","base":"MKR","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":1,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.002"},"MKRUSD":{"altname":"MKRUSD","wsname":"MKR\/USD","aclass_base":"currency","base":"MKR","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":1,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.002"},"MKRXBT":{"altname":"MKRXBT","wsname":"MKR\/XBT","aclass_base":"currency","base":"MKR","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.002"},"MOVREUR":{"altname":"MOVREUR","wsname":"MOVR\/EUR","aclass_base":"currency","base":"MOVR","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.3"},"MOVRUSD":{"altname":"MOVRUSD","wsname":"MOVR\/USD","aclass_base":"currency","base":"MOVR","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.3"},"NANOETH":{"altname":"NANOETH","wsname":"NANO\/ETH","aclass_base":"currency","base":"NANO","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1.5"},"NANOEUR":{"altname":"NANOEUR","wsname":"NANO\/EUR","aclass_base":"currency","base":"NANO","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1.5"},"NANOUSD":{"altname":"NANOUSD","wsname":"NANO\/USD","aclass_base":"currency","base":"NANO","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1.5"},"NANOXBT":{"altname":"NANOXBT","wsname":"NANO\/XBT","aclass_base":"currency","base":"NANO","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":9,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1.5"},"OCEANEUR":{"altname":"OCEANEUR","wsname":"OCEAN\/EUR","aclass_base":"currency","base":"OCEAN","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"OCEANGBP":{"altname":"OCEANGBP","wsname":"OCEAN\/GBP","aclass_base":"currency","base":"OCEAN","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"OCEANUSD":{"altname":"OCEANUSD","wsname":"OCEAN\/USD","aclass_base":"currency","base":"OCEAN","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"OCEANXBT":{"altname":"OCEANXBT","wsname":"OCEAN\/XBT","aclass_base":"currency","base":"OCEAN","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"OGNEUR":{"altname":"OGNEUR","wsname":"OGN\/EUR","aclass_base":"currency","base":"OGN","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"OGNUSD":{"altname":"OGNUSD","wsname":"OGN\/USD","aclass_base":"currency","base":"OGN","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"OMGETH":{"altname":"OMGETH","wsname":"OMG\/ETH","aclass_base":"currency","base":"OMG","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"OMGEUR":{"altname":"OMGEUR","wsname":"OMG\/EUR","aclass_base":"currency","base":"OMG","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"OMGUSD":{"altname":"OMGUSD","wsname":"OMG\/USD","aclass_base":"currency","base":"OMG","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"OMGXBT":{"altname":"OMGXBT","wsname":"OMG\/XBT","aclass_base":"currency","base":"OMG","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":9,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"OXTETH":{"altname":"OXTETH","wsname":"OXT\/ETH","aclass_base":"currency","base":"OXT","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"OXTEUR":{"altname":"OXTEUR","wsname":"OXT\/EUR","aclass_base":"currency","base":"OXT","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"OXTUSD":{"altname":"OXTUSD","wsname":"OXT\/USD","aclass_base":"currency","base":"OXT","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"OXTXBT":{"altname":"OXTXBT","wsname":"OXT\/XBT","aclass_base":"currency","base":"OXT","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"PAXGETH":{"altname":"PAXGETH","wsname":"PAXG\/ETH","aclass_base":"currency","base":"PAXG","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.004"},"PAXGEUR":{"altname":"PAXGEUR","wsname":"PAXG\/EUR","aclass_base":"currency","base":"PAXG","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.004"},"PAXGUSD":{"altname":"PAXGUSD","wsname":"PAXG\/USD","aclass_base":"currency","base":"PAXG","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.004"},"PAXGXBT":{"altname":"PAXGXBT","wsname":"PAXG\/XBT","aclass_base":"currency","base":"PAXG","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.004"},"PERPEUR":{"altname":"PERPEUR","wsname":"PERP\/EUR","aclass_base":"currency","base":"PERP","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"PERPUSD":{"altname":"PERPUSD","wsname":"PERP\/USD","aclass_base":"currency","base":"PERP","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"QTUMETH":{"altname":"QTUMETH","wsname":"QTUM\/ETH","aclass_base":"currency","base":"QTUM","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"QTUMEUR":{"altname":"QTUMEUR","wsname":"QTUM\/EUR","aclass_base":"currency","base":"QTUM","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"QTUMUSD":{"altname":"QTUMUSD","wsname":"QTUM\/USD","aclass_base":"currency","base":"QTUM","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"QTUMXBT":{"altname":"QTUMXBT","wsname":"QTUM\/XBT","aclass_base":"currency","base":"QTUM","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"RARIEUR":{"altname":"RARIEUR","wsname":"RARI\/EUR","aclass_base":"currency","base":"RARI","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.3"},"RARIGBP":{"altname":"RARIGBP","wsname":"RARI\/GBP","aclass_base":"currency","base":"RARI","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.3"},"RARIUSD":{"altname":"RARIUSD","wsname":"RARI\/USD","aclass_base":"currency","base":"RARI","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.3"},"RARIXBT":{"altname":"RARIXBT","wsname":"RARI\/XBT","aclass_base":"currency","base":"RARI","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.3"},"RENEUR":{"altname":"RENEUR","wsname":"REN\/EUR","aclass_base":"currency","base":"REN","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"RENGBP":{"altname":"RENGBP","wsname":"REN\/GBP","aclass_base":"currency","base":"REN","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"RENUSD":{"altname":"RENUSD","wsname":"REN\/USD","aclass_base":"currency","base":"REN","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"RENXBT":{"altname":"RENXBT","wsname":"REN\/XBT","aclass_base":"currency","base":"REN","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"REPV2ETH":{"altname":"REPV2ETH","wsname":"REPV2\/ETH","aclass_base":"currency","base":"REPV2","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.15"},"REPV2EUR":{"altname":"REPV2EUR","wsname":"REPV2\/EUR","aclass_base":"currency","base":"REPV2","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.15"},"REPV2USD":{"altname":"REPV2USD","wsname":"REPV2\/USD","aclass_base":"currency","base":"REPV2","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.15"},"REPV2XBT":{"altname":"REPV2XBT","wsname":"REPV2\/XBT","aclass_base":"currency","base":"REPV2","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.15"},"SANDEUR":{"altname":"SANDEUR","wsname":"SAND\/EUR","aclass_base":"currency","base":"SAND","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"SANDGBP":{"altname":"SANDGBP","wsname":"SAND\/GBP","aclass_base":"currency","base":"SAND","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"SANDUSD":{"altname":"SANDUSD","wsname":"SAND\/USD","aclass_base":"currency","base":"SAND","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"SANDXBT":{"altname":"SANDXBT","wsname":"SAND\/XBT","aclass_base":"currency","base":"SAND","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"SCETH":{"altname":"SCETH","wsname":"SC\/ETH","aclass_base":"currency","base":"SC","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"280"},"SCEUR":{"altname":"SCEUR","wsname":"SC\/EUR","aclass_base":"currency","base":"SC","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"280"},"SCUSD":{"altname":"SCUSD","wsname":"SC\/USD","aclass_base":"currency","base":"SC","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"280"},"SCXBT":{"altname":"SCXBT","wsname":"SC\/XBT","aclass_base":"currency","base":"SC","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":10,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"280"},"SDNEUR":{"altname":"SDNEUR","wsname":"SDN\/EUR","aclass_base":"currency","base":"SDN","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.3"},"SDNUSD":{"altname":"SDNUSD","wsname":"SDN\/USD","aclass_base":"currency","base":"SDN","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.3"},"SNXAUD":{"altname":"SNXAUD","wsname":"SNX\/AUD","aclass_base":"currency","base":"SNX","aclass_quote":"currency","quote":"ZAUD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.4"},"SNXETH":{"altname":"SNXETH","wsname":"SNX\/ETH","aclass_base":"currency","base":"SNX","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.4"},"SNXEUR":{"altname":"SNXEUR","wsname":"SNX\/EUR","aclass_base":"currency","base":"SNX","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.4"},"SNXGBP":{"altname":"SNXGBP","wsname":"SNX\/GBP","aclass_base":"currency","base":"SNX","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.4"},"SNXUSD":{"altname":"SNXUSD","wsname":"SNX\/USD","aclass_base":"currency","base":"SNX","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.4"},"SNXXBT":{"altname":"SNXXBT","wsname":"SNX\/XBT","aclass_base":"currency","base":"SNX","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.4"},"SOLEUR":{"altname":"SOLEUR","wsname":"SOL\/EUR","aclass_base":"currency","base":"SOL","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"SOLGBP":{"altname":"SOLGBP","wsname":"SOL\/GBP","aclass_base":"currency","base":"SOL","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"SOLUSD":{"altname":"SOLUSD","wsname":"SOL\/USD","aclass_base":"currency","base":"SOL","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"SOLXBT":{"altname":"SOLXBT","wsname":"SOL\/XBT","aclass_base":"currency","base":"SOL","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"SRMEUR":{"altname":"SRMEUR","wsname":"SRM\/EUR","aclass_base":"currency","base":"SRM","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"SRMGBP":{"altname":"SRMGBP","wsname":"SRM\/GBP","aclass_base":"currency","base":"SRM","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"SRMUSD":{"altname":"SRMUSD","wsname":"SRM\/USD","aclass_base":"currency","base":"SRM","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"SRMXBT":{"altname":"SRMXBT","wsname":"SRM\/XBT","aclass_base":"currency","base":"SRM","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"STORJETH":{"altname":"STORJETH","wsname":"STORJ\/ETH","aclass_base":"currency","base":"STORJ","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"3"},"STORJEUR":{"altname":"STORJEUR","wsname":"STORJ\/EUR","aclass_base":"currency","base":"STORJ","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"3"},"STORJUSD":{"altname":"STORJUSD","wsname":"STORJ\/USD","aclass_base":"currency","base":"STORJ","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"3"},"STORJXBT":{"altname":"STORJXBT","wsname":"STORJ\/XBT","aclass_base":"currency","base":"STORJ","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":9,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"3"},"SUSHIEUR":{"altname":"SUSHIEUR","wsname":"SUSHI\/EUR","aclass_base":"currency","base":"SUSHI","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"SUSHIGBP":{"altname":"SUSHIGBP","wsname":"SUSHI\/GBP","aclass_base":"currency","base":"SUSHI","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"SUSHIUSD":{"altname":"SUSHIUSD","wsname":"SUSHI\/USD","aclass_base":"currency","base":"SUSHI","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"SUSHIXBT":{"altname":"SUSHIXBT","wsname":"SUSHI\/XBT","aclass_base":"currency","base":"SUSHI","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"TBTCETH":{"altname":"TBTCETH","wsname":"TBTC\/ETH","aclass_base":"currency","base":"TBTC","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.0001"},"TBTCEUR":{"altname":"TBTCEUR","wsname":"TBTC\/EUR","aclass_base":"currency","base":"TBTC","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":1,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.0001"},"TBTCUSD":{"altname":"TBTCUSD","wsname":"TBTC\/USD","aclass_base":"currency","base":"TBTC","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":1,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.0001"},"TBTCXBT":{"altname":"TBTCXBT","wsname":"TBTC\/XBT","aclass_base":"currency","base":"TBTC","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.0001"},"TRXETH":{"altname":"TRXETH","wsname":"TRX\/ETH","aclass_base":"currency","base":"TRX","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"50"},"TRXEUR":{"altname":"TRXEUR","wsname":"TRX\/EUR","aclass_base":"currency","base":"TRX","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"50"},"TRXUSD":{"altname":"TRXUSD","wsname":"TRX\/USD","aclass_base":"currency","base":"TRX","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"50"},"TRXXBT":{"altname":"TRXXBT","wsname":"TRX\/XBT","aclass_base":"currency","base":"TRX","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":10,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"50"},"UNIETH":{"altname":"UNIETH","wsname":"UNI\/ETH","aclass_base":"currency","base":"UNI","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"UNIEUR":{"altname":"UNIEUR","wsname":"UNI\/EUR","aclass_base":"currency","base":"UNI","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"UNIUSD":{"altname":"UNIUSD","wsname":"UNI\/USD","aclass_base":"currency","base":"UNI","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"UNIXBT":{"altname":"UNIXBT","wsname":"UNI\/XBT","aclass_base":"currency","base":"UNI","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.2"},"USDCAUD":{"altname":"USDCAUD","wsname":"USDC\/AUD","aclass_base":"currency","base":"USDC","aclass_quote":"currency","quote":"ZAUD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"USDCEUR":{"altname":"USDCEUR","wsname":"USDC\/EUR","aclass_base":"currency","base":"USDC","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"USDCGBP":{"altname":"USDCGBP","wsname":"USDC\/GBP","aclass_base":"currency","base":"USDC","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"USDCHF":{"altname":"USDCHF","wsname":"USD\/CHF","aclass_base":"currency","base":"ZUSD","aclass_quote":"currency","quote":"CHF","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"USDCUSD":{"altname":"USDCUSD","wsname":"USDC\/USD","aclass_base":"currency","base":"USDC","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"USDCUSDT":{"altname":"USDCUSDT","wsname":"USDC\/USDT","aclass_base":"currency","base":"USDC","aclass_quote":"currency","quote":"USDT","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"USDTAUD":{"altname":"USDTAUD","wsname":"USDT\/AUD","aclass_base":"currency","base":"USDT","aclass_quote":"currency","quote":"ZAUD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"USDTCAD":{"altname":"USDTCAD","wsname":"USDT\/CAD","aclass_base":"currency","base":"USDT","aclass_quote":"currency","quote":"ZCAD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"USDTCHF":{"altname":"USDTCHF","wsname":"USDT\/CHF","aclass_base":"currency","base":"USDT","aclass_quote":"currency","quote":"CHF","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"USDTEUR":{"altname":"USDTEUR","wsname":"USDT\/EUR","aclass_base":"currency","base":"USDT","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"USDTGBP":{"altname":"USDTGBP","wsname":"USDT\/GBP","aclass_base":"currency","base":"USDT","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"USDTJPY":{"altname":"USDTJPY","wsname":"USDT\/JPY","aclass_base":"currency","base":"USDT","aclass_quote":"currency","quote":"ZJPY","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"USDTZUSD":{"altname":"USDTUSD","wsname":"USDT\/USD","aclass_base":"currency","base":"USDT","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"WAVESETH":{"altname":"WAVESETH","wsname":"WAVES\/ETH","aclass_base":"currency","base":"WAVES","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"WAVESEUR":{"altname":"WAVESEUR","wsname":"WAVES\/EUR","aclass_base":"currency","base":"WAVES","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"WAVESUSD":{"altname":"WAVESUSD","wsname":"WAVES\/USD","aclass_base":"currency","base":"WAVES","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"WAVESXBT":{"altname":"WAVESXBT","wsname":"WAVES\/XBT","aclass_base":"currency","base":"WAVES","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.5"},"WBTCEUR":{"altname":"WBTCEUR","wsname":"WBTC\/EUR","aclass_base":"currency","base":"WBTC","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":1,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.0001"},"WBTCUSD":{"altname":"WBTCUSD","wsname":"WBTC\/USD","aclass_base":"currency","base":"WBTC","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":1,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.0001"},"WBTCXBT":{"altname":"WBTCXBT","wsname":"WBTC\/XBT","aclass_base":"currency","base":"WBTC","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.0001"},"XBTAUD":{"altname":"XBTAUD","wsname":"XBT\/AUD","aclass_base":"currency","base":"XXBT","aclass_quote":"currency","quote":"ZAUD","lot":"unit","pair_decimals":1,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.0001"},"XBTCHF":{"altname":"XBTCHF","wsname":"XBT\/CHF","aclass_base":"currency","base":"XXBT","aclass_quote":"currency","quote":"CHF","lot":"unit","pair_decimals":1,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.0001"},"XBTDAI":{"altname":"XBTDAI","wsname":"XBT\/DAI","aclass_base":"currency","base":"XXBT","aclass_quote":"currency","quote":"DAI","lot":"unit","pair_decimals":1,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.0001"},"XBTUSDC":{"altname":"XBTUSDC","wsname":"XBT\/USDC","aclass_base":"currency","base":"XXBT","aclass_quote":"currency","quote":"USDC","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.0001"},"XBTUSDT":{"altname":"XBTUSDT","wsname":"XBT\/USDT","aclass_base":"currency","base":"XXBT","aclass_quote":"currency","quote":"USDT","lot":"unit","pair_decimals":1,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.0001"},"XDGEUR":{"altname":"XDGEUR","wsname":"XDG\/EUR","aclass_base":"currency","base":"XXDG","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"50"},"XDGUSD":{"altname":"XDGUSD","wsname":"XDG\/USD","aclass_base":"currency","base":"XXDG","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"50"},"XDGUSDT":{"altname":"XDGUSDT","wsname":"XDG\/USDT","aclass_base":"currency","base":"XXDG","aclass_quote":"currency","quote":"USDT","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"50"},"XETCXETH":{"altname":"ETCETH","wsname":"ETC\/ETH","aclass_base":"currency","base":"XETC","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.35"},"XETCXXBT":{"altname":"ETCXBT","wsname":"ETC\/XBT","aclass_base":"currency","base":"XETC","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.35"},"XETCZEUR":{"altname":"ETCEUR","wsname":"ETC\/EUR","aclass_base":"currency","base":"XETC","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.35"},"XETCZUSD":{"altname":"ETCUSD","wsname":"ETC\/USD","aclass_base":"currency","base":"XETC","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.35"},"XETHXXBT":{"altname":"ETHXBT","wsname":"ETH\/XBT","aclass_base":"currency","base":"XETH","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3,4,5],"leverage_sell":[2,3,4,5],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.004"},"XETHZCAD":{"altname":"ETHCAD","wsname":"ETH\/CAD","aclass_base":"currency","base":"XETH","aclass_quote":"currency","quote":"ZCAD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.004"},"XETHZEUR":{"altname":"ETHEUR","wsname":"ETH\/EUR","aclass_base":"currency","base":"XETH","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3,4,5],"leverage_sell":[2,3,4,5],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.004"},"XETHZGBP":{"altname":"ETHGBP","wsname":"ETH\/GBP","aclass_base":"currency","base":"XETH","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.004"},"XETHZJPY":{"altname":"ETHJPY","wsname":"ETH\/JPY","aclass_base":"currency","base":"XETH","aclass_quote":"currency","quote":"ZJPY","lot":"unit","pair_decimals":0,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.004"},"XETHZUSD":{"altname":"ETHUSD","wsname":"ETH\/USD","aclass_base":"currency","base":"XETH","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3,4,5],"leverage_sell":[2,3,4,5],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.004"},"XLTCXXBT":{"altname":"LTCXBT","wsname":"LTC\/XBT","aclass_base":"currency","base":"XLTC","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.03"},"XLTCZEUR":{"altname":"LTCEUR","wsname":"LTC\/EUR","aclass_base":"currency","base":"XLTC","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.03"},"XLTCZJPY":{"altname":"LTCJPY","wsname":"LTC\/JPY","aclass_base":"currency","base":"XLTC","aclass_quote":"currency","quote":"ZJPY","lot":"unit","pair_decimals":0,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.03"},"XLTCZUSD":{"altname":"LTCUSD","wsname":"LTC\/USD","aclass_base":"currency","base":"XLTC","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.03"},"XMLNXETH":{"altname":"MLNETH","wsname":"MLN\/ETH","aclass_base":"currency","base":"XMLN","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.1"},"XMLNXXBT":{"altname":"MLNXBT","wsname":"MLN\/XBT","aclass_base":"currency","base":"XMLN","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.1"},"XMLNZEUR":{"altname":"MLNEUR","wsname":"MLN\/EUR","aclass_base":"currency","base":"XMLN","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.1"},"XMLNZUSD":{"altname":"MLNUSD","wsname":"MLN\/USD","aclass_base":"currency","base":"XMLN","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.1"},"XREPXETH":{"altname":"REPETH","wsname":"REP\/ETH","aclass_base":"currency","base":"XREP","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.15"},"XREPXXBT":{"altname":"REPXBT","wsname":"REP\/XBT","aclass_base":"currency","base":"XREP","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.15"},"XREPZEUR":{"altname":"REPEUR","wsname":"REP\/EUR","aclass_base":"currency","base":"XREP","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.15"},"XREPZUSD":{"altname":"REPUSD","wsname":"REP\/USD","aclass_base":"currency","base":"XREP","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.15"},"XRPAUD":{"altname":"XRPAUD","wsname":"XRP\/AUD","aclass_base":"currency","base":"XXRP","aclass_quote":"currency","quote":"ZAUD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"XRPETH":{"altname":"XRPETH","wsname":"XRP\/ETH","aclass_base":"currency","base":"XXRP","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"XRPGBP":{"altname":"XRPGBP","wsname":"XRP\/GBP","aclass_base":"currency","base":"XXRP","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"XRPUSDT":{"altname":"XRPUSDT","wsname":"XRP\/USDT","aclass_base":"currency","base":"XXRP","aclass_quote":"currency","quote":"USDT","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"XTZAUD":{"altname":"XTZAUD","wsname":"XTZ\/AUD","aclass_base":"currency","base":"XTZ","aclass_quote":"currency","quote":"ZAUD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"XTZETH":{"altname":"XTZETH","wsname":"XTZ\/ETH","aclass_base":"currency","base":"XTZ","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"XTZEUR":{"altname":"XTZEUR","wsname":"XTZ\/EUR","aclass_base":"currency","base":"XTZ","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"XTZGBP":{"altname":"XTZGBP","wsname":"XTZ\/GBP","aclass_base":"currency","base":"XTZ","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"XTZUSD":{"altname":"XTZUSD","wsname":"XTZ\/USD","aclass_base":"currency","base":"XTZ","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"XTZXBT":{"altname":"XTZXBT","wsname":"XTZ\/XBT","aclass_base":"currency","base":"XTZ","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":7,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"1"},"XXBTZCAD":{"altname":"XBTCAD","wsname":"XBT\/CAD","aclass_base":"currency","base":"XXBT","aclass_quote":"currency","quote":"ZCAD","lot":"unit","pair_decimals":1,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.0001"},"XXBTZEUR":{"altname":"XBTEUR","wsname":"XBT\/EUR","aclass_base":"currency","base":"XXBT","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":1,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3,4,5],"leverage_sell":[2,3,4,5],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.0001"},"XXBTZGBP":{"altname":"XBTGBP","wsname":"XBT\/GBP","aclass_base":"currency","base":"XXBT","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":1,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.0001"},"XXBTZJPY":{"altname":"XBTJPY","wsname":"XBT\/JPY","aclass_base":"currency","base":"XXBT","aclass_quote":"currency","quote":"ZJPY","lot":"unit","pair_decimals":0,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.0001"},"XXBTZUSD":{"altname":"XBTUSD","wsname":"XBT\/USD","aclass_base":"currency","base":"XXBT","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":1,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3,4,5],"leverage_sell":[2,3,4,5],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.0001"},"XXDGXXBT":{"altname":"XDGXBT","wsname":"XDG\/XBT","aclass_base":"currency","base":"XXDG","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"50"},"XXLMXXBT":{"altname":"XLMXBT","wsname":"XLM\/XBT","aclass_base":"currency","base":"XXLM","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"XXLMZAUD":{"altname":"XLMAUD","wsname":"XLM\/AUD","aclass_base":"currency","base":"XXLM","aclass_quote":"currency","quote":"ZAUD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"XXLMZEUR":{"altname":"XLMEUR","wsname":"XLM\/EUR","aclass_base":"currency","base":"XXLM","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"XXLMZGBP":{"altname":"XLMGBP","wsname":"XLM\/GBP","aclass_base":"currency","base":"XXLM","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"XXLMZUSD":{"altname":"XLMUSD","wsname":"XLM\/USD","aclass_base":"currency","base":"XXLM","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"XXMRXXBT":{"altname":"XMRXBT","wsname":"XMR\/XBT","aclass_base":"currency","base":"XXMR","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":6,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.02"},"XXMRZEUR":{"altname":"XMREUR","wsname":"XMR\/EUR","aclass_base":"currency","base":"XXMR","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.02"},"XXMRZUSD":{"altname":"XMRUSD","wsname":"XMR\/USD","aclass_base":"currency","base":"XXMR","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.02"},"XXRPXXBT":{"altname":"XRPXBT","wsname":"XRP\/XBT","aclass_base":"currency","base":"XXRP","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3],"leverage_sell":[2,3],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"XXRPZCAD":{"altname":"XRPCAD","wsname":"XRP\/CAD","aclass_base":"currency","base":"XXRP","aclass_quote":"currency","quote":"ZCAD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"XXRPZEUR":{"altname":"XRPEUR","wsname":"XRP\/EUR","aclass_base":"currency","base":"XXRP","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3,4,5],"leverage_sell":[2,3,4,5],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"XXRPZJPY":{"altname":"XRPJPY","wsname":"XRP\/JPY","aclass_base":"currency","base":"XXRP","aclass_quote":"currency","quote":"ZJPY","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"XXRPZUSD":{"altname":"XRPUSD","wsname":"XRP\/USD","aclass_base":"currency","base":"XXRP","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2,3,4,5],"leverage_sell":[2,3,4,5],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"XZECXXBT":{"altname":"ZECXBT","wsname":"ZEC\/XBT","aclass_base":"currency","base":"XZEC","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.035"},"XZECZEUR":{"altname":"ZECEUR","wsname":"ZEC\/EUR","aclass_base":"currency","base":"XZEC","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.035"},"XZECZUSD":{"altname":"ZECUSD","wsname":"ZEC\/USD","aclass_base":"currency","base":"XZEC","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[2],"leverage_sell":[2],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.035"},"YFIAUD":{"altname":"YFIAUD","wsname":"YFI\/AUD","aclass_base":"currency","base":"YFI","aclass_quote":"currency","quote":"ZAUD","lot":"unit","pair_decimals":0,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.00015"},"YFIETH":{"altname":"YFIETH","wsname":"YFI\/ETH","aclass_base":"currency","base":"YFI","aclass_quote":"currency","quote":"XETH","lot":"unit","pair_decimals":2,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.00015"},"YFIEUR":{"altname":"YFIEUR","wsname":"YFI\/EUR","aclass_base":"currency","base":"YFI","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":0,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.00015"},"YFIGBP":{"altname":"YFIGBP","wsname":"YFI\/GBP","aclass_base":"currency","base":"YFI","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":0,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.00015"},"YFIUSD":{"altname":"YFIUSD","wsname":"YFI\/USD","aclass_base":"currency","base":"YFI","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":0,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.00015"},"YFIXBT":{"altname":"YFIXBT","wsname":"YFI\/XBT","aclass_base":"currency","base":"YFI","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":4,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"0.00015"},"ZEURZUSD":{"altname":"EURUSD","wsname":"EUR\/USD","aclass_base":"currency","base":"ZEUR","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"ZGBPZUSD":{"altname":"GBPUSD","wsname":"GBP\/USD","aclass_base":"currency","base":"ZGBP","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"ZRXEUR":{"altname":"ZRXEUR","wsname":"ZRX\/EUR","aclass_base":"currency","base":"ZRX","aclass_quote":"currency","quote":"ZEUR","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"ZRXGBP":{"altname":"ZRXGBP","wsname":"ZRX\/GBP","aclass_base":"currency","base":"ZRX","aclass_quote":"currency","quote":"ZGBP","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"ZRXUSD":{"altname":"ZRXUSD","wsname":"ZRX\/USD","aclass_base":"currency","base":"ZRX","aclass_quote":"currency","quote":"ZUSD","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"ZRXXBT":{"altname":"ZRXXBT","wsname":"ZRX\/XBT","aclass_base":"currency","base":"ZRX","aclass_quote":"currency","quote":"XXBT","lot":"unit","pair_decimals":8,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.26],[50000,0.24],[100000,0.22],[250000,0.2],[500000,0.18],[1000000,0.16],[2500000,0.14],[5000000,0.12],[10000000,0.1]],"fees_maker":[[0,0.16],[50000,0.14],[100000,0.12],[250000,0.1],[500000,0.08],[1000000,0.06],[2500000,0.04],[5000000,0.02],[10000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"5"},"ZUSDZCAD":{"altname":"USDCAD","wsname":"USD\/CAD","aclass_base":"currency","base":"ZUSD","aclass_quote":"currency","quote":"ZCAD","lot":"unit","pair_decimals":5,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"},"ZUSDZJPY":{"altname":"USDJPY","wsname":"USD\/JPY","aclass_base":"currency","base":"ZUSD","aclass_quote":"currency","quote":"ZJPY","lot":"unit","pair_decimals":3,"lot_decimals":8,"lot_multiplier":1,"leverage_buy":[],"leverage_sell":[],"fees":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fees_maker":[[0,0.2],[50000,0.16],[100000,0.12],[250000,0.08],[500000,0.04],[1000000,0]],"fee_volume_currency":"ZUSD","margin_call":80,"margin_stop":40,"ordermin":"10"}}}' + headers: + Age: + - '26' + CF-Cache-Status: + - HIT + CF-RAY: + - 68dc63d23816399f-CDG + Connection: + - close + Content-Type: + - application/json; charset=utf-8 + Date: + - Sun, 12 Sep 2021 21:57:10 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + Server: + - cloudflare + Set-Cookie: + - __cf_bm=ZTXKhbwxidkCRU80WDaCQeYNlEIavE07B_psMovOO1I-1631483830-0-AR18FKYdBWSP7gnUhWumK29PSVjPR6YFG5v828KnG+2t46JSKjOPASeCbskaiwPwCNeTeWixeQZRb10Vhp5msAg=; + path=/; expires=Sun, 12-Sep-21 22:27:10 GMT; domain=.kraken.com; HttpOnly; + Secure; SameSite=None + Transfer-Encoding: + - chunked + Vary: + - Accept-Encoding + cache-control: + - public,max-age=58,smaxage=58 + referrer-policy: + - no-referrer-when-downgrade + strict-transport-security: + - max-age=15768000 + status: + code: 200 + message: OK +- request: + body: null + headers: + Connection: + - close + Host: + - api.kraken.com + User-Agent: + - Python-urllib/3.8 + method: GET + uri: https://api.kraken.com/0/public/Assets + response: + body: + string: '{"error":[],"result":{"1INCH":{"aclass":"currency","altname":"1INCH","decimals":10,"display_decimals":5},"AAVE":{"aclass":"currency","altname":"AAVE","decimals":10,"display_decimals":5},"ADA":{"aclass":"currency","altname":"ADA","decimals":8,"display_decimals":6},"ADA.S":{"aclass":"currency","altname":"ADA.S","decimals":8,"display_decimals":6},"ALGO":{"aclass":"currency","altname":"ALGO","decimals":8,"display_decimals":5},"ANKR":{"aclass":"currency","altname":"ANKR","decimals":10,"display_decimals":5},"ANT":{"aclass":"currency","altname":"ANT","decimals":10,"display_decimals":5},"ATOM":{"aclass":"currency","altname":"ATOM","decimals":8,"display_decimals":6},"ATOM.S":{"aclass":"currency","altname":"ATOM.S","decimals":8,"display_decimals":6},"AXS":{"aclass":"currency","altname":"AXS","decimals":10,"display_decimals":5},"BADGER":{"aclass":"currency","altname":"BADGER","decimals":10,"display_decimals":5},"BAL":{"aclass":"currency","altname":"BAL","decimals":10,"display_decimals":5},"BAND":{"aclass":"currency","altname":"BAND","decimals":10,"display_decimals":5},"BAT":{"aclass":"currency","altname":"BAT","decimals":10,"display_decimals":5},"BCH":{"aclass":"currency","altname":"BCH","decimals":10,"display_decimals":5},"BNT":{"aclass":"currency","altname":"BNT","decimals":10,"display_decimals":5},"CHF":{"aclass":"currency","altname":"CHF","decimals":4,"display_decimals":2},"CHZ":{"aclass":"currency","altname":"CHZ","decimals":10,"display_decimals":5},"COMP":{"aclass":"currency","altname":"COMP","decimals":10,"display_decimals":5},"CQT":{"aclass":"currency","altname":"CQT","decimals":10,"display_decimals":5},"CRV":{"aclass":"currency","altname":"CRV","decimals":10,"display_decimals":5},"CTSI":{"aclass":"currency","altname":"CTSI","decimals":10,"display_decimals":5},"DAI":{"aclass":"currency","altname":"DAI","decimals":10,"display_decimals":5},"DASH":{"aclass":"currency","altname":"DASH","decimals":10,"display_decimals":5},"DOT":{"aclass":"currency","altname":"DOT","decimals":10,"display_decimals":8},"DOT.S":{"aclass":"currency","altname":"DOT.S","decimals":10,"display_decimals":8},"DYDX":{"aclass":"currency","altname":"DYDX","decimals":10,"display_decimals":5},"ENJ":{"aclass":"currency","altname":"ENJ","decimals":10,"display_decimals":5},"EOS":{"aclass":"currency","altname":"EOS","decimals":10,"display_decimals":5},"ETH2":{"aclass":"currency","altname":"ETH2","decimals":10,"display_decimals":5},"ETH2.S":{"aclass":"currency","altname":"ETH2.S","decimals":10,"display_decimals":5},"EUR.HOLD":{"aclass":"currency","altname":"EUR.HOLD","decimals":4,"display_decimals":2},"EUR.M":{"aclass":"currency","altname":"EUR.M","decimals":4,"display_decimals":4},"EWT":{"aclass":"currency","altname":"EWT","decimals":10,"display_decimals":5},"FIL":{"aclass":"currency","altname":"FIL","decimals":10,"display_decimals":6},"FLOW":{"aclass":"currency","altname":"FLOW","decimals":10,"display_decimals":6},"FLOW.S":{"aclass":"currency","altname":"FLOW.S","decimals":10,"display_decimals":6},"FLOWH":{"aclass":"currency","altname":"FLOWH","decimals":10,"display_decimals":6},"FLOWH.S":{"aclass":"currency","altname":"FLOWH.S","decimals":10,"display_decimals":6},"GHST":{"aclass":"currency","altname":"GHST","decimals":10,"display_decimals":5},"GNO":{"aclass":"currency","altname":"GNO","decimals":10,"display_decimals":5},"GRT":{"aclass":"currency","altname":"GRT","decimals":10,"display_decimals":5},"ICX":{"aclass":"currency","altname":"ICX","decimals":10,"display_decimals":5},"INJ":{"aclass":"currency","altname":"INJ","decimals":10,"display_decimals":5},"KAR":{"aclass":"currency","altname":"KAR","decimals":10,"display_decimals":5},"KAVA":{"aclass":"currency","altname":"KAVA","decimals":8,"display_decimals":6},"KAVA.S":{"aclass":"currency","altname":"KAVA.S","decimals":8,"display_decimals":6},"KEEP":{"aclass":"currency","altname":"KEEP","decimals":10,"display_decimals":5},"KFEE":{"aclass":"currency","altname":"FEE","decimals":2,"display_decimals":2},"KNC":{"aclass":"currency","altname":"KNC","decimals":10,"display_decimals":5},"KSM":{"aclass":"currency","altname":"KSM","decimals":10,"display_decimals":8},"KSM.P":{"aclass":"currency","altname":"KSM.P","decimals":10,"display_decimals":8},"KSM.S":{"aclass":"currency","altname":"KSM.S","decimals":10,"display_decimals":8},"LINK":{"aclass":"currency","altname":"LINK","decimals":10,"display_decimals":5},"LPT":{"aclass":"currency","altname":"LPT","decimals":10,"display_decimals":5},"LRC":{"aclass":"currency","altname":"LRC","decimals":10,"display_decimals":5},"LSK":{"aclass":"currency","altname":"LSK","decimals":10,"display_decimals":5},"MANA":{"aclass":"currency","altname":"MANA","decimals":10,"display_decimals":5},"MATIC":{"aclass":"currency","altname":"MATIC","decimals":10,"display_decimals":5},"MINA":{"aclass":"currency","altname":"MINA","decimals":10,"display_decimals":5},"MIR":{"aclass":"currency","altname":"MIR","decimals":10,"display_decimals":5},"MKR":{"aclass":"currency","altname":"MKR","decimals":10,"display_decimals":5},"MOVR":{"aclass":"currency","altname":"MOVR","decimals":10,"display_decimals":5},"NANO":{"aclass":"currency","altname":"NANO","decimals":10,"display_decimals":5},"OCEAN":{"aclass":"currency","altname":"OCEAN","decimals":10,"display_decimals":5},"OGN":{"aclass":"currency","altname":"OGN","decimals":10,"display_decimals":5},"OMG":{"aclass":"currency","altname":"OMG","decimals":10,"display_decimals":5},"OXT":{"aclass":"currency","altname":"OXT","decimals":10,"display_decimals":5},"PAXG":{"aclass":"currency","altname":"PAXG","decimals":10,"display_decimals":5},"PERP":{"aclass":"currency","altname":"PERP","decimals":10,"display_decimals":5},"QTUM":{"aclass":"currency","altname":"QTUM","decimals":10,"display_decimals":6},"RARI":{"aclass":"currency","altname":"RARI","decimals":10,"display_decimals":5},"REN":{"aclass":"currency","altname":"REN","decimals":10,"display_decimals":5},"REPV2":{"aclass":"currency","altname":"REPV2","decimals":10,"display_decimals":5},"SAND":{"aclass":"currency","altname":"SAND","decimals":10,"display_decimals":5},"SC":{"aclass":"currency","altname":"SC","decimals":10,"display_decimals":5},"SDN":{"aclass":"currency","altname":"SDN","decimals":10,"display_decimals":5},"SNX":{"aclass":"currency","altname":"SNX","decimals":10,"display_decimals":5},"SOL":{"aclass":"currency","altname":"SOL","decimals":10,"display_decimals":5},"SOL.S":{"aclass":"currency","altname":"SOL.S","decimals":10,"display_decimals":5},"SRM":{"aclass":"currency","altname":"SRM","decimals":8,"display_decimals":5},"STORJ":{"aclass":"currency","altname":"STORJ","decimals":10,"display_decimals":5},"SUSHI":{"aclass":"currency","altname":"SUSHI","decimals":10,"display_decimals":5},"TBTC":{"aclass":"currency","altname":"TBTC","decimals":10,"display_decimals":5},"TRX":{"aclass":"currency","altname":"TRX","decimals":8,"display_decimals":6},"UNI":{"aclass":"currency","altname":"UNI","decimals":10,"display_decimals":5},"USD.HOLD":{"aclass":"currency","altname":"USD.HOLD","decimals":4,"display_decimals":2},"USD.M":{"aclass":"currency","altname":"USD.M","decimals":4,"display_decimals":4},"USDC":{"aclass":"currency","altname":"USDC","decimals":8,"display_decimals":4},"USDT":{"aclass":"currency","altname":"USDT","decimals":8,"display_decimals":4},"WAVES":{"aclass":"currency","altname":"WAVES","decimals":10,"display_decimals":5},"WBTC":{"aclass":"currency","altname":"WBTC","decimals":10,"display_decimals":5},"XBT.M":{"aclass":"currency","altname":"XBT.M","decimals":10,"display_decimals":8},"XETC":{"aclass":"currency","altname":"ETC","decimals":10,"display_decimals":5},"XETH":{"aclass":"currency","altname":"ETH","decimals":10,"display_decimals":5},"XLTC":{"aclass":"currency","altname":"LTC","decimals":10,"display_decimals":5},"XMLN":{"aclass":"currency","altname":"MLN","decimals":10,"display_decimals":5},"XREP":{"aclass":"currency","altname":"REP","decimals":10,"display_decimals":5},"XTZ":{"aclass":"currency","altname":"XTZ","decimals":8,"display_decimals":6},"XTZ.S":{"aclass":"currency","altname":"XTZ.S","decimals":8,"display_decimals":6},"XXBT":{"aclass":"currency","altname":"XBT","decimals":10,"display_decimals":5},"XXDG":{"aclass":"currency","altname":"XDG","decimals":8,"display_decimals":2},"XXLM":{"aclass":"currency","altname":"XLM","decimals":8,"display_decimals":5},"XXMR":{"aclass":"currency","altname":"XMR","decimals":10,"display_decimals":5},"XXRP":{"aclass":"currency","altname":"XRP","decimals":8,"display_decimals":5},"XZEC":{"aclass":"currency","altname":"ZEC","decimals":10,"display_decimals":5},"YFI":{"aclass":"currency","altname":"YFI","decimals":10,"display_decimals":5},"ZAUD":{"aclass":"currency","altname":"AUD","decimals":4,"display_decimals":2},"ZCAD":{"aclass":"currency","altname":"CAD","decimals":4,"display_decimals":2},"ZEUR":{"aclass":"currency","altname":"EUR","decimals":4,"display_decimals":2},"ZGBP":{"aclass":"currency","altname":"GBP","decimals":4,"display_decimals":2},"ZJPY":{"aclass":"currency","altname":"JPY","decimals":2,"display_decimals":0},"ZRX":{"aclass":"currency","altname":"ZRX","decimals":10,"display_decimals":5},"ZUSD":{"aclass":"currency","altname":"USD","decimals":4,"display_decimals":2}}}' + headers: + Age: + - '60' + CF-Cache-Status: + - HIT + CF-RAY: + - 68dc63d2ea78cdbf-CDG + Connection: + - close + Content-Type: + - application/json; charset=utf-8 + Date: + - Sun, 12 Sep 2021 21:57:10 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + Server: + - cloudflare + Set-Cookie: + - __cf_bm=.kbsf5aewjdzZRQwB9OGmlNEEyLRgEEApye1xcuj8D0-1631483830-0-AQfaekrNXyEhGD8m161Gkn7WjmUfh+DgQ1uFoKwQOKsca564fw4FvBVm3FTAikO8jwIckfELLjoYt/kposr8Maw=; + path=/; expires=Sun, 12-Sep-21 22:27:10 GMT; domain=.kraken.com; HttpOnly; + Secure; SameSite=None + Transfer-Encoding: + - chunked + Vary: + - Accept-Encoding + cache-control: + - public,max-age=60,smaxage=60 + referrer-policy: + - no-referrer-when-downgrade + strict-transport-security: + - max-age=15768000 + status: + code: 200 + message: OK +- request: + body: null + headers: + Connection: + - close + Host: + - api.kraken.com + User-Agent: + - Python-urllib/3.8 + method: GET + uri: https://api.kraken.com/0/public/Assets + response: + body: + string: '{"error":[],"result":{"1INCH":{"aclass":"currency","altname":"1INCH","decimals":10,"display_decimals":5},"AAVE":{"aclass":"currency","altname":"AAVE","decimals":10,"display_decimals":5},"ADA":{"aclass":"currency","altname":"ADA","decimals":8,"display_decimals":6},"ADA.S":{"aclass":"currency","altname":"ADA.S","decimals":8,"display_decimals":6},"ALGO":{"aclass":"currency","altname":"ALGO","decimals":8,"display_decimals":5},"ANKR":{"aclass":"currency","altname":"ANKR","decimals":10,"display_decimals":5},"ANT":{"aclass":"currency","altname":"ANT","decimals":10,"display_decimals":5},"ATOM":{"aclass":"currency","altname":"ATOM","decimals":8,"display_decimals":6},"ATOM.S":{"aclass":"currency","altname":"ATOM.S","decimals":8,"display_decimals":6},"AXS":{"aclass":"currency","altname":"AXS","decimals":10,"display_decimals":5},"BADGER":{"aclass":"currency","altname":"BADGER","decimals":10,"display_decimals":5},"BAL":{"aclass":"currency","altname":"BAL","decimals":10,"display_decimals":5},"BAND":{"aclass":"currency","altname":"BAND","decimals":10,"display_decimals":5},"BAT":{"aclass":"currency","altname":"BAT","decimals":10,"display_decimals":5},"BCH":{"aclass":"currency","altname":"BCH","decimals":10,"display_decimals":5},"BNT":{"aclass":"currency","altname":"BNT","decimals":10,"display_decimals":5},"CHF":{"aclass":"currency","altname":"CHF","decimals":4,"display_decimals":2},"CHZ":{"aclass":"currency","altname":"CHZ","decimals":10,"display_decimals":5},"COMP":{"aclass":"currency","altname":"COMP","decimals":10,"display_decimals":5},"CQT":{"aclass":"currency","altname":"CQT","decimals":10,"display_decimals":5},"CRV":{"aclass":"currency","altname":"CRV","decimals":10,"display_decimals":5},"CTSI":{"aclass":"currency","altname":"CTSI","decimals":10,"display_decimals":5},"DAI":{"aclass":"currency","altname":"DAI","decimals":10,"display_decimals":5},"DASH":{"aclass":"currency","altname":"DASH","decimals":10,"display_decimals":5},"DOT":{"aclass":"currency","altname":"DOT","decimals":10,"display_decimals":8},"DOT.S":{"aclass":"currency","altname":"DOT.S","decimals":10,"display_decimals":8},"DYDX":{"aclass":"currency","altname":"DYDX","decimals":10,"display_decimals":5},"ENJ":{"aclass":"currency","altname":"ENJ","decimals":10,"display_decimals":5},"EOS":{"aclass":"currency","altname":"EOS","decimals":10,"display_decimals":5},"ETH2":{"aclass":"currency","altname":"ETH2","decimals":10,"display_decimals":5},"ETH2.S":{"aclass":"currency","altname":"ETH2.S","decimals":10,"display_decimals":5},"EUR.HOLD":{"aclass":"currency","altname":"EUR.HOLD","decimals":4,"display_decimals":2},"EUR.M":{"aclass":"currency","altname":"EUR.M","decimals":4,"display_decimals":4},"EWT":{"aclass":"currency","altname":"EWT","decimals":10,"display_decimals":5},"FIL":{"aclass":"currency","altname":"FIL","decimals":10,"display_decimals":6},"FLOW":{"aclass":"currency","altname":"FLOW","decimals":10,"display_decimals":6},"FLOW.S":{"aclass":"currency","altname":"FLOW.S","decimals":10,"display_decimals":6},"FLOWH":{"aclass":"currency","altname":"FLOWH","decimals":10,"display_decimals":6},"FLOWH.S":{"aclass":"currency","altname":"FLOWH.S","decimals":10,"display_decimals":6},"GHST":{"aclass":"currency","altname":"GHST","decimals":10,"display_decimals":5},"GNO":{"aclass":"currency","altname":"GNO","decimals":10,"display_decimals":5},"GRT":{"aclass":"currency","altname":"GRT","decimals":10,"display_decimals":5},"ICX":{"aclass":"currency","altname":"ICX","decimals":10,"display_decimals":5},"INJ":{"aclass":"currency","altname":"INJ","decimals":10,"display_decimals":5},"KAR":{"aclass":"currency","altname":"KAR","decimals":10,"display_decimals":5},"KAVA":{"aclass":"currency","altname":"KAVA","decimals":8,"display_decimals":6},"KAVA.S":{"aclass":"currency","altname":"KAVA.S","decimals":8,"display_decimals":6},"KEEP":{"aclass":"currency","altname":"KEEP","decimals":10,"display_decimals":5},"KFEE":{"aclass":"currency","altname":"FEE","decimals":2,"display_decimals":2},"KNC":{"aclass":"currency","altname":"KNC","decimals":10,"display_decimals":5},"KSM":{"aclass":"currency","altname":"KSM","decimals":10,"display_decimals":8},"KSM.P":{"aclass":"currency","altname":"KSM.P","decimals":10,"display_decimals":8},"KSM.S":{"aclass":"currency","altname":"KSM.S","decimals":10,"display_decimals":8},"LINK":{"aclass":"currency","altname":"LINK","decimals":10,"display_decimals":5},"LPT":{"aclass":"currency","altname":"LPT","decimals":10,"display_decimals":5},"LRC":{"aclass":"currency","altname":"LRC","decimals":10,"display_decimals":5},"LSK":{"aclass":"currency","altname":"LSK","decimals":10,"display_decimals":5},"MANA":{"aclass":"currency","altname":"MANA","decimals":10,"display_decimals":5},"MATIC":{"aclass":"currency","altname":"MATIC","decimals":10,"display_decimals":5},"MINA":{"aclass":"currency","altname":"MINA","decimals":10,"display_decimals":5},"MIR":{"aclass":"currency","altname":"MIR","decimals":10,"display_decimals":5},"MKR":{"aclass":"currency","altname":"MKR","decimals":10,"display_decimals":5},"MOVR":{"aclass":"currency","altname":"MOVR","decimals":10,"display_decimals":5},"NANO":{"aclass":"currency","altname":"NANO","decimals":10,"display_decimals":5},"OCEAN":{"aclass":"currency","altname":"OCEAN","decimals":10,"display_decimals":5},"OGN":{"aclass":"currency","altname":"OGN","decimals":10,"display_decimals":5},"OMG":{"aclass":"currency","altname":"OMG","decimals":10,"display_decimals":5},"OXT":{"aclass":"currency","altname":"OXT","decimals":10,"display_decimals":5},"PAXG":{"aclass":"currency","altname":"PAXG","decimals":10,"display_decimals":5},"PERP":{"aclass":"currency","altname":"PERP","decimals":10,"display_decimals":5},"QTUM":{"aclass":"currency","altname":"QTUM","decimals":10,"display_decimals":6},"RARI":{"aclass":"currency","altname":"RARI","decimals":10,"display_decimals":5},"REN":{"aclass":"currency","altname":"REN","decimals":10,"display_decimals":5},"REPV2":{"aclass":"currency","altname":"REPV2","decimals":10,"display_decimals":5},"SAND":{"aclass":"currency","altname":"SAND","decimals":10,"display_decimals":5},"SC":{"aclass":"currency","altname":"SC","decimals":10,"display_decimals":5},"SDN":{"aclass":"currency","altname":"SDN","decimals":10,"display_decimals":5},"SNX":{"aclass":"currency","altname":"SNX","decimals":10,"display_decimals":5},"SOL":{"aclass":"currency","altname":"SOL","decimals":10,"display_decimals":5},"SOL.S":{"aclass":"currency","altname":"SOL.S","decimals":10,"display_decimals":5},"SRM":{"aclass":"currency","altname":"SRM","decimals":8,"display_decimals":5},"STORJ":{"aclass":"currency","altname":"STORJ","decimals":10,"display_decimals":5},"SUSHI":{"aclass":"currency","altname":"SUSHI","decimals":10,"display_decimals":5},"TBTC":{"aclass":"currency","altname":"TBTC","decimals":10,"display_decimals":5},"TRX":{"aclass":"currency","altname":"TRX","decimals":8,"display_decimals":6},"UNI":{"aclass":"currency","altname":"UNI","decimals":10,"display_decimals":5},"USD.HOLD":{"aclass":"currency","altname":"USD.HOLD","decimals":4,"display_decimals":2},"USD.M":{"aclass":"currency","altname":"USD.M","decimals":4,"display_decimals":4},"USDC":{"aclass":"currency","altname":"USDC","decimals":8,"display_decimals":4},"USDT":{"aclass":"currency","altname":"USDT","decimals":8,"display_decimals":4},"WAVES":{"aclass":"currency","altname":"WAVES","decimals":10,"display_decimals":5},"WBTC":{"aclass":"currency","altname":"WBTC","decimals":10,"display_decimals":5},"XBT.M":{"aclass":"currency","altname":"XBT.M","decimals":10,"display_decimals":8},"XETC":{"aclass":"currency","altname":"ETC","decimals":10,"display_decimals":5},"XETH":{"aclass":"currency","altname":"ETH","decimals":10,"display_decimals":5},"XLTC":{"aclass":"currency","altname":"LTC","decimals":10,"display_decimals":5},"XMLN":{"aclass":"currency","altname":"MLN","decimals":10,"display_decimals":5},"XREP":{"aclass":"currency","altname":"REP","decimals":10,"display_decimals":5},"XTZ":{"aclass":"currency","altname":"XTZ","decimals":8,"display_decimals":6},"XTZ.S":{"aclass":"currency","altname":"XTZ.S","decimals":8,"display_decimals":6},"XXBT":{"aclass":"currency","altname":"XBT","decimals":10,"display_decimals":5},"XXDG":{"aclass":"currency","altname":"XDG","decimals":8,"display_decimals":2},"XXLM":{"aclass":"currency","altname":"XLM","decimals":8,"display_decimals":5},"XXMR":{"aclass":"currency","altname":"XMR","decimals":10,"display_decimals":5},"XXRP":{"aclass":"currency","altname":"XRP","decimals":8,"display_decimals":5},"XZEC":{"aclass":"currency","altname":"ZEC","decimals":10,"display_decimals":5},"YFI":{"aclass":"currency","altname":"YFI","decimals":10,"display_decimals":5},"ZAUD":{"aclass":"currency","altname":"AUD","decimals":4,"display_decimals":2},"ZCAD":{"aclass":"currency","altname":"CAD","decimals":4,"display_decimals":2},"ZEUR":{"aclass":"currency","altname":"EUR","decimals":4,"display_decimals":2},"ZGBP":{"aclass":"currency","altname":"GBP","decimals":4,"display_decimals":2},"ZJPY":{"aclass":"currency","altname":"JPY","decimals":2,"display_decimals":0},"ZRX":{"aclass":"currency","altname":"ZRX","decimals":10,"display_decimals":5},"ZUSD":{"aclass":"currency","altname":"USD","decimals":4,"display_decimals":2}}}' + headers: + Age: + - '60' + CF-Cache-Status: + - HIT + CF-RAY: + - 68dc63d34ec8edf7-CDG + Connection: + - close + Content-Type: + - application/json; charset=utf-8 + Date: + - Sun, 12 Sep 2021 21:57:10 GMT + Expect-CT: + - max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" + Server: + - cloudflare + Set-Cookie: + - __cf_bm=kJ4IgIAJ3wfKVMDshX8l_YzxLIJfX_S_l3KfkCdc9kU-1631483830-0-AcpGPuIem0tdPeUQcgKLW5/7ZN8E+uIVlcHqH3dRFsY55GwihHjtL6qEcZg5sGB3dqNgKrytOr8lWTOUzMovcz0=; + path=/; expires=Sun, 12-Sep-21 22:27:10 GMT; domain=.kraken.com; HttpOnly; + Secure; SameSite=None + Transfer-Encoding: + - chunked + Vary: + - Accept-Encoding + cache-control: + - public,max-age=60,smaxage=60 + referrer-policy: + - no-referrer-when-downgrade + strict-transport-security: + - max-age=15768000 + status: + code: 200 + message: OK +version: 1 diff --git a/tests/test_config.py b/tests/test_config.py index eabde23..4c7b77f 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -1,3 +1,4 @@ +from yaml.scanner import ScannerError from krakendca import Config from unittest import mock import pytest @@ -40,8 +41,8 @@ def test_config_properties(): assert config.api_private_key == "KRAKEN_API_PRIVATE_KEY" assert type(config.dca_pairs) == list assert len(config.dca_pairs) == 2 - assert_dca_pair(config.dca_pairs[0], "XETHZEUR", 1, 20) - assert_dca_pair(config.dca_pairs[1], "XBTUSDT", 3, 20) + assert_dca_pair(config.dca_pairs[0], "XETHZEUR", 1, 15) + assert_dca_pair(config.dca_pairs[1], "XXBTZEUR", 3, 20) def mock_config_error(config: str, error_type: type) -> str: @@ -70,6 +71,11 @@ def test_config_errors(): e_info_value = mock_config_error(correct_config, FileNotFoundError) assert "Configuration file not found." in e_info_value + # Test raise ScannerError. + config_scanner_error = correct_config.replace("api:", "api") + e_info_value = mock_config_error(config_scanner_error, ScannerError) + assert "Configuration file incorrectly formatted:" in e_info_value + # Test missing public key. config_empty_api_public_key = correct_config.replace( 'public_key: "KRAKEN_API_PUBLIC_KEY"', "" @@ -84,22 +90,27 @@ def test_config_errors(): e_info_value = mock_config_error(config_empty_api_private_key, ValueError) assert "Please provide your Kraken API private key." in e_info_value - # # Test missing pair. - # config_empty_pair = correct_config.replace('pair: "XETHZEUR"', "") - # e_info_value = mock_config_error(config_empty_pair, ValueError) - # assert "Please provide the pair to dollar cost average." in e_info_value - # - # # Test missing amount. - # config_missing_amount = correct_config.replace("amount: 20", "") - # e_info_value = mock_config_error(config_missing_amount, ValueError) - # assert "Configuration file incorrectly formatted:" in e_info_value - # - # # Test amount = 0. - # config_zero_amount = correct_config.replace("amount: 20", "amount: 0") - # e_info_value = mock_config_error(config_zero_amount, ValueError) - # assert "Please provide an amount > 0 to daily dollar cost average." in e_info_value - # - # # Test amount < 0. - # config_below_zero_amount = correct_config.replace("amount: 20", "amount: -100") - # e_info_value = mock_config_error(config_below_zero_amount, ValueError) - # assert "Please provide an amount > 0 to daily dollar cost average." in e_info_value + # Test missing pairs + config_missing_pairs = correct_config.replace("dca_pairs:", "dca:") + e_info_value = mock_config_error(config_missing_pairs, ValueError) + assert "No DCA pairs specified." in e_info_value + + # Test missing pair name. + config_empty_pair = correct_config.replace('pair: "XETHZEUR"', "") + e_info_value = mock_config_error(config_empty_pair, ValueError) + assert "Please provide the pair to dollar cost average." in e_info_value + + # Test missing amount. + config_missing_amount = correct_config.replace("amount: 20", "") + e_info_value = mock_config_error(config_missing_amount, ValueError) + assert "Configuration file incorrectly formatted:" in e_info_value + + # Test amount = 0. + config_zero_amount = correct_config.replace("amount: 20", "amount: 0") + e_info_value = mock_config_error(config_zero_amount, ValueError) + assert "Please provide an amount > 0 to DCA." in e_info_value + + # Test amount < 0. + config_below_zero_amount = correct_config.replace("amount: 20", "amount: -100") + e_info_value = mock_config_error(config_below_zero_amount, ValueError) + assert "Please provide an amount > 0 to DCA." in e_info_value diff --git a/tests/test_dca.py b/tests/test_dca.py index 7d0d3f3..629d1ac 100644 --- a/tests/test_dca.py +++ b/tests/test_dca.py @@ -15,7 +15,8 @@ def setup(self): # Initialize DCA test object - Fake keys. ka = KrakenApi( "R6/OvXmIQEv1E8nyJd7+a9Zmaf84yJ7uifwe2yj5BgV1N+lgqURsxQwQ", - "MWZ9lFF/mreK4Fdk/SEpFLvVn//nbKUbCytGShSwvCvYlgRkn4K8i7VY18UQEgOHzBIEsqg78BZJCEhvFIzw1Q==", + "MWZ9lFF/mreK4Fdk/SEpFLvVn//nbKUbCytGShSwvCvYlgRkn4K8i7VY18UQEgOHzBIEsqg78B" + "ZJCEhvFIzw1Q==", ) # Initialize the Pair object. pair = Pair("XETHZEUR", "ETHEUR", "XETH", "ZEUR", 2, 8, 4, 0.005) diff --git a/tests/test_krakendca.py b/tests/test_krakendca.py new file mode 100644 index 0000000..5a23e0f --- /dev/null +++ b/tests/test_krakendca.py @@ -0,0 +1,98 @@ +import vcr +from freezegun import freeze_time +from krakendca import Config, KrakenDCA, DCA +from krakenapi import KrakenApi + + +class TestKrakenDCA: + config: Config + ka: KrakenApi + kdca: KrakenDCA + + @vcr.use_cassette( + "tests/fixtures/vcr_cassettes/test_krakendca_setup.yaml", + filter_headers=["API-Key", "API-Sign"], + ) + def setup(self): + # Initialize DCA test object - Fake keys. + self.ka = KrakenApi( + "R6/OvXmIQEv1E8nyJd7+a9Zmaf84yJ7uifwe2yj5BgV1N+lgqURsxQwQ", + "MWZ9lFF/mreK4Fdk/SEpFLvVn//nbKUbCytGShSwvCvYlgRkn4K8i7VY18UQEgOHzBIEsqg78B" + "ZJCEhvFIzw1Q==", + ) + # Initialize Config object + self.config = Config("tests/fixtures/config.yaml") + # Initialize the KrakenDCA object. + self.kdca = KrakenDCA(self.config, self.ka) + # Instantiate KrakenDCA DCA pairs. + self.kdca.initialize_pairs_dca() + + def test_init(self): + assert self.kdca.config == self.config + assert self.kdca.ka == self.ka + + def assert_kdca_pair( + self, + dca_pair: DCA, + amount: float, + delay: int, + alt_name: str, + base: str, + lot_decimals: int, + name: str, + order_min: float, + pair_decimals: int, + quote: str, + quote_decimals: int, + ): + assert dca_pair.amount == amount + assert dca_pair.delay == delay + assert dca_pair.ka == self.ka + assert dca_pair.orders_filepath == "orders.csv" + assert dca_pair.pair.alt_name == alt_name + assert dca_pair.pair.base == base + assert dca_pair.pair.lot_decimals == lot_decimals + assert dca_pair.pair.name == name + assert dca_pair.pair.order_min == order_min + assert dca_pair.pair.pair_decimals == pair_decimals + assert dca_pair.pair.quote == quote + assert dca_pair.pair.quote_decimals == quote_decimals + + def test_initialize_pairs_dca(self): + self.assert_kdca_pair( + self.kdca.dcas_list[0], + 15.0, + 1, + "ETHEUR", + "XETH", + 8, + "XETHZEUR", + 0.004, + 2, + "ZEUR", + 4, + ) + self.assert_kdca_pair( + self.kdca.dcas_list[1], + 20.0, + 3, + "XBTEUR", + "XXBT", + 8, + "XXBTZEUR", + 0.0001, + 1, + "ZEUR", + 4, + ) + + @freeze_time("2021-09-12 19:50:08") + @vcr.use_cassette( + "tests/fixtures/vcr_cassettes/test_handle_dca_pairs.yaml", + filter_headers=["API-Key", "API-Sign"], + ) + def test_handle_dca_pairs(self, capfd): + self.kdca.handle_pairs_dca() + captured = capfd.readouterr() + assert "buy 0.00519042 ETHEUR @ limit 2882.44" in captured.out + assert "buy 0.00051336 XBTEUR @ limit 38857.2" in captured.out diff --git a/tests/test_pair.py b/tests/test_pair.py index b58648f..f17e1a9 100644 --- a/tests/test_pair.py +++ b/tests/test_pair.py @@ -36,13 +36,15 @@ def test_init(self): @vcr.use_cassette("tests/fixtures/vcr_cassettes/test_get_pair_from_kraken.yaml") def test_get_pair_from_kraken(self): - pair = Pair.get_pair_from_kraken(self.ka, "XETHZEUR") + asset_pairs = self.ka.get_asset_pairs() + pair = Pair.get_pair_from_kraken(self.ka, asset_pairs, "XETHZEUR") self.assert_xethzeur_pair(pair) def test_get_pair_information(self): # Test with existing pair. with vcr.use_cassette("tests/fixtures/vcr_cassettes/test_get_asset_pairs.yaml"): - pair_information = Pair.get_pair_information(self.ka, "XETHZEUR") + asset_pairs = self.ka.get_asset_pairs() + pair_information = Pair.get_pair_information(asset_pairs, "XETHZEUR") test_pair_information = { "altname": "ETHEUR", "wsname": "ETH/EUR", @@ -88,8 +90,9 @@ def test_get_pair_information(self): # Test with fake pair. with vcr.use_cassette("tests/fixtures/vcr_cassettes/test_get_asset_pairs.yaml"): - with pytest.raises(ValueError) as e_info: - Pair.get_pair_information(self.ka, "Fake") + asset_pairs = self.ka.get_asset_pairs() + with pytest.raises(ValueError) as e_info: + Pair.get_pair_information(asset_pairs, "Fake") error_message = "Fake pair not available on Kraken. Available pairs:" assert error_message in str(e_info.value)