diff --git a/.github/dependabot.yml b/.github/dependabot.yml index d6c20a6bc..ecdbe9d8a 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -29,6 +29,10 @@ updates: mkdocs: patterns: - "mkdocs*" + scipy: + patterns: + - "scipy" + - "scipy-stubs" - package-ecosystem: "github-actions" directory: "/" diff --git a/.github/workflows/binance-lev-tier-update.yml b/.github/workflows/binance-lev-tier-update.yml index 278d85413..e04f95ff5 100644 --- a/.github/workflows/binance-lev-tier-update.yml +++ b/.github/workflows/binance-lev-tier-update.yml @@ -15,7 +15,7 @@ jobs: environment: name: develop steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: persist-credentials: false diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7d370ee5f..4a7b2a4b0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,7 +28,7 @@ jobs: python-version: ["3.11", "3.12", "3.13"] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: persist-credentials: false @@ -38,7 +38,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install uv - uses: astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc # v6.4.3 + uses: astral-sh/setup-uv@4959332f0f014c5280e7eac8b70c90cb574c9f9b # v6.6.0 with: activate-environment: true enable-cache: true @@ -47,24 +47,9 @@ jobs: cache-suffix: "${{ matrix.python-version }}" prune-cache: false - - name: Cache_dependencies - uses: actions/cache@v4 - id: cache - with: - path: ~/dependencies/ - key: ${{ runner.os }}-dependencies - - - name: TA binary *nix - if: steps.cache.outputs.cache-hit != 'true' - run: | - cd build_helpers && ./install_ta-lib.sh ${HOME}/dependencies/; cd .. - - name: Installation - *nix run: | uv pip install --upgrade wheel - export LD_LIBRARY_PATH=${HOME}/dependencies/lib:$LD_LIBRARY_PATH - export TA_LIBRARY_PATH=${HOME}/dependencies/lib - export TA_INCLUDE_PATH=${HOME}/dependencies/include uv pip install -r requirements-dev.txt uv pip install -e ft_client/ uv pip install -e . @@ -163,7 +148,7 @@ jobs: python-version: ["3.11", "3.12", "3.13"] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: persist-credentials: false @@ -174,7 +159,7 @@ jobs: check-latest: true - name: Install uv - uses: astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc # v6.4.3 + uses: astral-sh/setup-uv@4959332f0f014c5280e7eac8b70c90cb574c9f9b # v6.6.0 with: activate-environment: true enable-cache: true @@ -183,18 +168,6 @@ jobs: cache-suffix: "${{ matrix.python-version }}" prune-cache: false - - name: Cache_dependencies - uses: actions/cache@v4 - id: cache - with: - path: ~/dependencies/ - key: ${{ matrix.os }}-dependencies - - - name: TA binary *nix - if: steps.cache.outputs.cache-hit != 'true' - run: | - cd build_helpers && ./install_ta-lib.sh ${HOME}/dependencies/; cd .. - - name: Installation - macOS (Brew) run: | # brew update @@ -222,9 +195,6 @@ jobs: - name: Installation (python) run: | uv pip install wheel - export LD_LIBRARY_PATH=${HOME}/dependencies/lib:$LD_LIBRARY_PATH - export TA_LIBRARY_PATH=${HOME}/dependencies/lib - export TA_INCLUDE_PATH=${HOME}/dependencies/include uv pip install -r requirements-dev.txt uv pip install -e ft_client/ uv pip install -e . @@ -287,11 +257,11 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ windows-latest ] + os: [ "windows-2022", "windows-2025" ] python-version: ["3.11", "3.12", "3.13"] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: persist-credentials: false @@ -301,7 +271,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install uv - uses: astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc # v6.4.3 + uses: astral-sh/setup-uv@4959332f0f014c5280e7eac8b70c90cb574c9f9b # v6.6.0 with: activate-environment: true enable-cache: true @@ -315,7 +285,9 @@ jobs: function uvpipFunction { uv pip $args } Set-Alias -name pip -value uvpipFunction - ./build_helpers/install_windows.ps1 + python -m pip install --upgrade pip + pip install -r requirements-dev.txt + pip install -e . - name: Tests run: | @@ -379,7 +351,7 @@ jobs: mypy-version-check: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: persist-credentials: false @@ -396,7 +368,7 @@ jobs: pre-commit: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: persist-credentials: false @@ -408,7 +380,7 @@ jobs: docs-check: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: persist-credentials: false @@ -439,7 +411,7 @@ jobs: # Run pytest with "live" checks runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: persist-credentials: false @@ -449,7 +421,7 @@ jobs: python-version: "3.12" - name: Install uv - uses: astral-sh/setup-uv@e92bafb6253dcd438e0484186d7669ea7a8ca1cc # v6.4.3 + uses: astral-sh/setup-uv@4959332f0f014c5280e7eac8b70c90cb574c9f9b # v6.6.0 with: activate-environment: true enable-cache: true @@ -458,25 +430,9 @@ jobs: cache-suffix: "3.12" prune-cache: false - - name: Cache_dependencies - uses: actions/cache@v4 - id: cache - with: - path: ~/dependencies/ - key: ${{ runner.os }}-dependencies - - - - name: TA binary *nix - if: steps.cache.outputs.cache-hit != 'true' - run: | - cd build_helpers && ./install_ta-lib.sh ${HOME}/dependencies/; cd .. - - name: Installation - *nix run: | uv pip install --upgrade wheel - export LD_LIBRARY_PATH=${HOME}/dependencies/lib:$LD_LIBRARY_PATH - export TA_LIBRARY_PATH=${HOME}/dependencies/lib - export TA_INCLUDE_PATH=${HOME}/dependencies/include uv pip install -r requirements-dev.txt uv pip install -e ft_client/ uv pip install -e . @@ -508,15 +464,16 @@ jobs: - name: Check user permission id: check - uses: scherermichael-oss/action-has-permission@136e061bfe093832d87f090dd768e14e27a740d3 # 1.0.6 + continue-on-error: true + uses: prince-chrismc/check-actor-permissions-action@d504e74ba31658f4cdf4fcfeb509d4c09736d88e # v3.0.2 with: - required-permission: write + permission: "write" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Discord notification uses: rjstone/discord-webhook-notify@c2597273488aeda841dd1e891321952b51f7996f #v2.2.1 - if: always() && steps.check.outputs.has-permission && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false) + if: steps.check.outputs.permitted == 'true' && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false) with: severity: info details: Test Completed! @@ -528,7 +485,7 @@ jobs: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: persist-credentials: false @@ -575,12 +532,12 @@ jobs: id-token: write steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: persist-credentials: false - name: Download artifact ๐Ÿ“ฆ - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v5 with: pattern: freqtrade*-build path: dist @@ -604,12 +561,12 @@ jobs: id-token: write steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: persist-credentials: false - name: Download artifact ๐Ÿ“ฆ - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v5 with: pattern: freqtrade*-build path: dist diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 6577bf38b..15ab918bc 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -19,7 +19,7 @@ jobs: name: Deploy Docs through mike runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: persist-credentials: true diff --git a/.github/workflows/devcontainer-build.yml b/.github/workflows/devcontainer-build.yml index 9e49ffed3..06f1e0531 100644 --- a/.github/workflows/devcontainer-build.yml +++ b/.github/workflows/devcontainer-build.yml @@ -24,11 +24,11 @@ jobs: packages: write runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: persist-credentials: false - name: Login to GitHub Container Registry - uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0 + uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0 with: registry: ghcr.io username: ${{ github.actor }} diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index d3fbb498a..30b078bb0 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -22,11 +22,12 @@ permissions: jobs: deploy-docker: + name: "Deploy Docker x64 and armv7l" runs-on: ubuntu-22.04 if: github.repository == 'freqtrade/freqtrade' steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: persist-credentials: false @@ -74,7 +75,7 @@ jobs: build_helpers/publish_docker_multi.sh deploy-arm: - name: "Deploy Docker" + name: "Deploy Docker ARM64" permissions: packages: write needs: [ deploy-docker ] @@ -83,7 +84,7 @@ jobs: if: github.repository == 'freqtrade/freqtrade' steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: persist-credentials: false diff --git a/.github/workflows/docker-update-readme.yml b/.github/workflows/docker-update-readme.yml index b34f8c38d..23efa0cd9 100644 --- a/.github/workflows/docker-update-readme.yml +++ b/.github/workflows/docker-update-readme.yml @@ -11,7 +11,7 @@ jobs: dockerHubDescription: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: persist-credentials: false diff --git a/.github/workflows/pre-commit-update.yml b/.github/workflows/pre-commit-update.yml index 8fb8684a6..daba4dbf1 100644 --- a/.github/workflows/pre-commit-update.yml +++ b/.github/workflows/pre-commit-update.yml @@ -13,7 +13,7 @@ jobs: auto-update: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: persist-credentials: false diff --git a/.github/workflows/zizmor.yml b/.github/workflows/zizmor.yml index 0cf9b3a30..1cd1c1ac1 100644 --- a/.github/workflows/zizmor.yml +++ b/.github/workflows/zizmor.yml @@ -21,9 +21,9 @@ jobs: # actions: read # only needed for private repos steps: - name: Checkout repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + uses: actions/checkout@ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493 # v4.2.2 with: persist-credentials: false - name: Run zizmor ๐ŸŒˆ - uses: zizmorcore/zizmor-action@f52a838cfabf134edcbaa7c8b3677dde20045018 # v0.1.1 + uses: zizmorcore/zizmor-action@5ca5fc7a4779c5263a3ffa0e1f693009994446d1 # v0.1.2 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a0282e760..b29010fff 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,18 +21,18 @@ repos: # stages: [push] - repo: https://github.com/pre-commit/mirrors-mypy - rev: "v1.17.0" + rev: "v1.17.1" hooks: - id: mypy exclude: build_helpers additional_dependencies: - types-cachetools==6.1.0.20250717 - types-filelock==3.2.7 - - types-requests==2.32.4.20250611 + - types-requests==2.32.4.20250809 - types-tabulate==0.9.0.20241207 - - types-python-dateutil==2.9.0.20250708 - - scipy-stubs==1.16.0.2 - - SQLAlchemy==2.0.41 + - types-python-dateutil==2.9.0.20250822 + - scipy-stubs==1.16.1.1 + - SQLAlchemy==2.0.43 # stages: [push] - repo: https://github.com/pycqa/isort @@ -44,13 +44,13 @@ repos: - repo: https://github.com/charliermarsh/ruff-pre-commit # Ruff version. - rev: 'v0.12.5' + rev: 'v0.12.10' hooks: - id: ruff - id: ruff-format - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v5.0.0 + rev: v6.0.0 hooks: - id: end-of-file-fixer exclude: | @@ -83,6 +83,6 @@ repos: # Ensure github actions remain safe - repo: https://github.com/woodruffw/zizmor-pre-commit - rev: v1.11.0 + rev: v1.12.1 hooks: - id: zizmor diff --git a/Dockerfile b/Dockerfile index 4304729c8..81ba55aaf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.13.5-slim-bookworm AS base +FROM python:3.13.7-slim-bookworm AS base # Setup env ENV LANG=C.UTF-8 @@ -27,11 +27,6 @@ RUN apt-get update \ && apt-get clean \ && pip install --upgrade pip wheel -# Install TA-lib -COPY build_helpers/* /tmp/ -RUN cd /tmp && /tmp/install_ta-lib.sh && rm -r /tmp/*ta-lib* -ENV LD_LIBRARY_PATH=/usr/local/lib - # Install dependencies COPY --chown=ftuser:ftuser requirements.txt requirements-hyperopt.txt /freqtrade/ USER ftuser @@ -49,7 +44,7 @@ USER ftuser # Install and execute COPY --chown=ftuser:ftuser . /freqtrade/ -RUN pip install -e . --user --no-cache-dir --no-build-isolation \ +RUN pip install -e . --user --no-cache-dir \ && mkdir /freqtrade/user_data/ \ && freqtrade install-ui diff --git a/README.md b/README.md index ce45d376a..80ccd871a 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,6 @@ [![DOI](https://joss.theoj.org/papers/10.21105/joss.04864/status.svg)](https://doi.org/10.21105/joss.04864) [![Coverage Status](https://coveralls.io/repos/github/freqtrade/freqtrade/badge.svg?branch=develop&service=github)](https://coveralls.io/github/freqtrade/freqtrade?branch=develop) [![Documentation](https://readthedocs.org/projects/freqtrade/badge/)](https://www.freqtrade.io) -[![Maintainability](https://api.codeclimate.com/v1/badges/5737e6d668200b7518ff/maintainability)](https://codeclimate.com/github/freqtrade/freqtrade/maintainability) Freqtrade is a free and open source crypto trading bot written in Python. It is designed to support all major exchanges and be controlled via Telegram or webUI. It contains backtesting, plotting and money management tools as well as strategy optimization by machine learning. diff --git a/build_helpers/install_ta-lib.sh b/build_helpers/install_ta-lib.sh deleted file mode 100755 index 0315c7025..000000000 --- a/build_helpers/install_ta-lib.sh +++ /dev/null @@ -1,35 +0,0 @@ -if [ -z "$1" ]; then - INSTALL_LOC=/usr/local -else - INSTALL_LOC=${1} -fi -echo "Installing to ${INSTALL_LOC}" -if [ -n "$2" ] || [ ! -f "${INSTALL_LOC}/lib/libta_lib.a" ]; then - tar zxvf ta-lib-0.4.0-src.tar.gz - cd ta-lib \ - && sed -i.bak "s|0.00000001|0.000000000000000001 |g" src/ta_func/ta_utility.h \ - && echo "Downloading gcc config.guess and config.sub" \ - && curl -s 'https://raw.githubusercontent.com/gcc-mirror/gcc/master/config.guess' -o config.guess \ - && curl -s 'https://raw.githubusercontent.com/gcc-mirror/gcc/master/config.sub' -o config.sub \ - && ./configure --prefix=${INSTALL_LOC}/ \ - && make - if [ $? -ne 0 ]; then - echo "Failed building ta-lib." - cd .. && rm -rf ./ta-lib/ - exit 1 - fi - if [ -z "$2" ]; then - which sudo && sudo make install || make install - if [ -x "$(command -v apt-get)" ]; then - echo "Updating library path using ldconfig" - sudo ldconfig - fi - else - # Don't install with sudo - make install - fi - - cd .. && rm -rf ./ta-lib/ -else - echo "TA-lib already installed, skipping installation" -fi diff --git a/build_helpers/install_windows.ps1 b/build_helpers/install_windows.ps1 deleted file mode 100644 index 075606466..000000000 --- a/build_helpers/install_windows.ps1 +++ /dev/null @@ -1,10 +0,0 @@ -# vendored Wheels compiled via https://github.com/xmatthias/ta-lib-python/tree/ta_bundled_040 - -python -m pip install --upgrade pip -python -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')" - -pip install -U wheel "numpy<3.0" -pip install --only-binary ta-lib --find-links=build_helpers\ "ta-lib<0.6.0" - -pip install -r requirements-dev.txt -pip install -e . diff --git a/build_helpers/schema.json b/build_helpers/schema.json index 86bf4e94a..663a6191d 100644 --- a/build_helpers/schema.json +++ b/build_helpers/schema.json @@ -180,6 +180,16 @@ "description": "Offset for profit exit. \nUsually specified in the strategy and missing in the configuration.", "type": "number" }, + "recursive_strategy_search": { + "description": "Enable recursive strategy search.", + "type": "boolean" + }, + "user_data_dir": { + "description": "Path to the user data directory." + }, + "datadir": { + "description": "Path to the data directory." + }, "fee": { "description": "Trading fee percentage. Can help to simulate slippage in backtesting", "type": "number", @@ -562,6 +572,7 @@ "pairlists": { "description": "Configuration for pairlists.", "type": "array", + "minItems": 1, "items": { "type": "object", "properties": { diff --git a/build_helpers/ta-lib-0.4.0-src.tar.gz b/build_helpers/ta-lib-0.4.0-src.tar.gz deleted file mode 100644 index b79b70b25..000000000 Binary files a/build_helpers/ta-lib-0.4.0-src.tar.gz and /dev/null differ diff --git a/build_helpers/ta_lib-0.5.5-cp310-cp310-win_amd64.whl b/build_helpers/ta_lib-0.5.5-cp310-cp310-win_amd64.whl deleted file mode 100644 index 105a479c7..000000000 Binary files a/build_helpers/ta_lib-0.5.5-cp310-cp310-win_amd64.whl and /dev/null differ diff --git a/build_helpers/ta_lib-0.5.5-cp311-cp311-linux_armv7l.whl b/build_helpers/ta_lib-0.5.5-cp311-cp311-linux_armv7l.whl deleted file mode 100644 index b2194d6f2..000000000 Binary files a/build_helpers/ta_lib-0.5.5-cp311-cp311-linux_armv7l.whl and /dev/null differ diff --git a/build_helpers/ta_lib-0.5.5-cp311-cp311-win_amd64.whl b/build_helpers/ta_lib-0.5.5-cp311-cp311-win_amd64.whl deleted file mode 100644 index 2c955c233..000000000 Binary files a/build_helpers/ta_lib-0.5.5-cp311-cp311-win_amd64.whl and /dev/null differ diff --git a/build_helpers/ta_lib-0.5.5-cp312-cp312-win_amd64.whl b/build_helpers/ta_lib-0.5.5-cp312-cp312-win_amd64.whl deleted file mode 100644 index 98363aadb..000000000 Binary files a/build_helpers/ta_lib-0.5.5-cp312-cp312-win_amd64.whl and /dev/null differ diff --git a/build_helpers/ta_lib-0.5.5-cp313-cp313-win_amd64.whl b/build_helpers/ta_lib-0.5.5-cp313-cp313-win_amd64.whl deleted file mode 100644 index 68bad37e2..000000000 Binary files a/build_helpers/ta_lib-0.5.5-cp313-cp313-win_amd64.whl and /dev/null differ diff --git a/build_helpers/ta_lib-0.6.5-cp311-cp311-manylinux_2_31_armv7l.whl b/build_helpers/ta_lib-0.6.5-cp311-cp311-manylinux_2_31_armv7l.whl new file mode 100644 index 000000000..0c90c4328 Binary files /dev/null and b/build_helpers/ta_lib-0.6.5-cp311-cp311-manylinux_2_31_armv7l.whl differ diff --git a/docker/Dockerfile.armhf b/docker/Dockerfile.armhf index 9b659ae7d..9ec944211 100644 --- a/docker/Dockerfile.armhf +++ b/docker/Dockerfile.armhf @@ -34,7 +34,7 @@ COPY build_helpers/* /tmp/ # Install dependencies COPY --chown=ftuser:ftuser requirements.txt /freqtrade/ USER ftuser -RUN pip install --user --no-cache-dir "numpy<3.0" \ +RUN pip install --user --prefer-binary --no-cache-dir "numpy<3.0" build \ && pip install --user --no-index --find-links /tmp/ pyarrow TA-Lib \ && pip install --user --no-cache-dir -r requirements.txt @@ -49,7 +49,7 @@ USER ftuser # Install and execute COPY --chown=ftuser:ftuser . /freqtrade/ -RUN pip install -e . --user --no-cache-dir --no-build-isolation\ +RUN pip install -e . --user --no-cache-dir \ && mkdir /freqtrade/user_data/ \ && freqtrade install-ui diff --git a/docker/Dockerfile.develop b/docker/Dockerfile.develop deleted file mode 100644 index 7c580f234..000000000 --- a/docker/Dockerfile.develop +++ /dev/null @@ -1,10 +0,0 @@ -FROM freqtradeorg/freqtrade:develop - -# Install dependencies -COPY requirements-dev.txt /freqtrade/ - -RUN pip install numpy --user --no-cache-dir \ - && pip install -r requirements-dev.txt --user --no-cache-dir - -# Empty the ENTRYPOINT to allow all commands -ENTRYPOINT [] diff --git a/docs/advanced-backtesting.md b/docs/advanced-backtesting.md index 40584a656..617ea7e3d 100644 --- a/docs/advanced-backtesting.md +++ b/docs/advanced-backtesting.md @@ -46,29 +46,32 @@ ranging from the simplest (0) to the most detailed per pair, per buy and per sel More options are available by running with the `-h` option. -### Using export-filename +### Using backtest-filename -Normally, `backtesting-analysis` uses the latest backtest results, but if you wanted to go -back to a previous backtest output, you need to supply the `--export-filename` option. -You can supply the same parameter to `backtest-analysis` with the name of the final backtest -output file. This allows you to keep historical versions of backtest results and re-analyse -them at a later date: +By default, `backtesting-analysis` processes the most recent backtest results in the `user_data/backtest_results` directory. +If you want to analyze results from an earlier backtest, use the `--backtest-filename` option to specify the desired file. This lets you revisit and re-analyze historical backtest outputs at any time by providing the filename of the relevant backtest result: ``` bash -freqtrade backtesting -c --timeframe --strategy --timerange= --export=signals --export-filename=/tmp/mystrat_backtest.json +freqtrade backtesting-analysis -c --timeframe --strategy --timerange --export signals --backtest-filename backtest-result-2025-03-05_20-38-34.zip ``` You should see some output similar to below in the logs with the name of the timestamped filename that was exported: ``` -2022-06-14 16:28:32,698 - freqtrade.misc - INFO - dumping json to "/tmp/mystrat_backtest-2022-06-14_16-28-32.json" +2022-06-14 16:28:32,698 - freqtrade.misc - INFO - dumping json to "mystrat_backtest-2022-06-14_16-28-32.json" ``` You can then use that filename in `backtesting-analysis`: ``` -freqtrade backtesting-analysis -c --export-filename=/tmp/mystrat_backtest-2022-06-14_16-28-32.json +freqtrade backtesting-analysis -c --backtest-filename=mystrat_backtest-2022-06-14_16-28-32.json +``` + +To use a result from a different results directory, you can use `--backtest-directory` to specify the directory + +``` bash +freqtrade backtesting-analysis -c --backtest-directory custom_results/ --backtest-filename mystrat_backtest-2022-06-14_16-28-32.json ``` ### Tuning the buy tags and sell tags to display diff --git a/docs/backtesting.md b/docs/backtesting.md index b6bc910e2..6b86d9635 100644 --- a/docs/backtesting.md +++ b/docs/backtesting.md @@ -105,12 +105,14 @@ Only use this if you're sure you'll not want to plot or analyze your results fur --- -Exporting trades to file specifying a custom filename +Exporting trades to file specifying a custom directory ```bash -freqtrade backtesting --strategy backtesting --export trades --export-filename=backtest_samplestrategy.json +freqtrade backtesting --strategy backtesting --export trades --backtest-directory=user_data/custom-backtest-results ``` +--- + Please also read about the [strategy startup period](strategy-customization.md#strategy-startup-period). --- @@ -158,117 +160,136 @@ The most important in the backtesting is to understand the result. A backtesting result will look like that: ``` -================================================ BACKTESTING REPORT ================================================= -| Pair | Trades | Avg Profit % | Tot Profit BTC | Tot Profit % | Avg Duration | Wins Draws Loss Win% | -|----------+--------+----------------+------------------+----------------+--------------+--------------------------| -| ADA/BTC | 35 | -0.11 | -0.00019428 | -1.94 | 4:35:00 | 14 0 21 40.0 | -| ARK/BTC | 11 | -0.41 | -0.00022647 | -2.26 | 2:03:00 | 3 0 8 27.3 | -| BTS/BTC | 32 | 0.31 | 0.00048938 | 4.89 | 5:05:00 | 18 0 14 56.2 | -| DASH/BTC | 13 | -0.08 | -0.00005343 | -0.53 | 4:39:00 | 6 0 7 46.2 | -| ENG/BTC | 18 | 1.36 | 0.00122807 | 12.27 | 2:50:00 | 8 0 10 44.4 | -| EOS/BTC | 36 | 0.08 | 0.00015304 | 1.53 | 3:34:00 | 16 0 20 44.4 | -| ETC/BTC | 26 | 0.37 | 0.00047576 | 4.75 | 6:14:00 | 11 0 15 42.3 | -| ETH/BTC | 33 | 0.30 | 0.00049856 | 4.98 | 7:31:00 | 16 0 17 48.5 | -| IOTA/BTC | 32 | 0.03 | 0.00005444 | 0.54 | 3:12:00 | 14 0 18 43.8 | -| LSK/BTC | 15 | 1.75 | 0.00131413 | 13.13 | 2:58:00 | 6 0 9 40.0 | -| LTC/BTC | 32 | -0.04 | -0.00006886 | -0.69 | 4:49:00 | 11 0 21 34.4 | -| NANO/BTC | 17 | 1.26 | 0.00107058 | 10.70 | 1:55:00 | 10 0 7 58.5 | -| NEO/BTC | 23 | 0.82 | 0.00094936 | 9.48 | 2:59:00 | 10 0 13 43.5 | -| REQ/BTC | 9 | 1.17 | 0.00052734 | 5.27 | 3:47:00 | 4 0 5 44.4 | -| XLM/BTC | 16 | 1.22 | 0.00097800 | 9.77 | 3:15:00 | 7 0 9 43.8 | -| XMR/BTC | 23 | -0.18 | -0.00020696 | -2.07 | 5:30:00 | 12 0 11 52.2 | -| XRP/BTC | 35 | 0.66 | 0.00114897 | 11.48 | 3:49:00 | 12 0 23 34.3 | -| ZEC/BTC | 22 | -0.46 | -0.00050971 | -5.09 | 2:22:00 | 7 0 15 31.8 | -| TOTAL | 429 | 0.36 | 0.00762792 | 76.20 | 4:12:00 | 186 0 243 43.4 | -============================================= LEFT OPEN TRADES REPORT ============================================= -| Pair | Trades | Avg Profit % | Tot Profit BTC | Tot Profit % | Avg Duration | Win Draw Loss Win% | -|----------+---------+----------------+------------------+----------------+----------------+---------------------| -| ADA/BTC | 1 | 0.89 | 0.00004434 | 0.44 | 6:00:00 | 1 0 0 100 | -| LTC/BTC | 1 | 0.68 | 0.00003421 | 0.34 | 2:00:00 | 1 0 0 100 | -| TOTAL | 2 | 0.78 | 0.00007855 | 0.78 | 4:00:00 | 2 0 0 100 | -==================== EXIT REASON STATS ==================== -| Exit Reason | Exits | Wins | Draws | Losses | -|--------------------+---------+-------+--------+---------| -| trailing_stop_loss | 205 | 150 | 0 | 55 | -| stop_loss | 166 | 0 | 0 | 166 | -| exit_signal | 56 | 36 | 0 | 20 | -| force_exit | 2 | 0 | 0 | 2 | + BACKTESTING REPORT +โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“ +โ”ƒ Pair โ”ƒ Trades โ”ƒ Avg Profit % โ”ƒ Tot Profit USDT โ”ƒ Tot Profit % โ”ƒ Avg Duration โ”ƒ Win Draw Loss Win% โ”ƒ +โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ +โ”‚ LTC/USDT:USDT โ”‚ 16 โ”‚ 1.0 โ”‚ 56.176 โ”‚ 5.62 โ”‚ 16:16:00 โ”‚ 16 0 0 100 โ”‚ +โ”‚ ETC/USDT:USDT โ”‚ 12 โ”‚ 0.72 โ”‚ 30.936 โ”‚ 3.09 โ”‚ 9:55:00 โ”‚ 11 0 1 91.7 โ”‚ +โ”‚ ETH/USDT:USDT โ”‚ 8 โ”‚ 0.66 โ”‚ 17.864 โ”‚ 1.79 โ”‚ 1 day, 13:55:00 โ”‚ 7 0 1 87.5 โ”‚ +โ”‚ XLM/USDT:USDT โ”‚ 10 โ”‚ 0.31 โ”‚ 11.054 โ”‚ 1.11 โ”‚ 12:08:00 โ”‚ 9 0 1 90.0 โ”‚ +โ”‚ BTC/USDT:USDT โ”‚ 8 โ”‚ 0.21 โ”‚ 7.289 โ”‚ 0.73 โ”‚ 3 days, 1:24:00 โ”‚ 6 0 2 75.0 โ”‚ +โ”‚ XRP/USDT:USDT โ”‚ 9 โ”‚ -0.14 โ”‚ -7.261 โ”‚ -0.73 โ”‚ 21:18:00 โ”‚ 8 0 1 88.9 โ”‚ +โ”‚ DOT/USDT:USDT โ”‚ 6 โ”‚ -0.4 โ”‚ -9.187 โ”‚ -0.92 โ”‚ 5:35:00 โ”‚ 4 0 2 66.7 โ”‚ +โ”‚ ADA/USDT:USDT โ”‚ 8 โ”‚ -1.76 โ”‚ -52.098 โ”‚ -5.21 โ”‚ 11:38:00 โ”‚ 6 0 2 75.0 โ”‚ +โ”‚ TOTAL โ”‚ 77 โ”‚ 0.22 โ”‚ 54.774 โ”‚ 5.48 โ”‚ 22:12:00 โ”‚ 67 0 10 87.0 โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + LEFT OPEN TRADES REPORT +โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“ +โ”ƒ Pair โ”ƒ Trades โ”ƒ Avg Profit % โ”ƒ Tot Profit USDT โ”ƒ Tot Profit % โ”ƒ Avg Duration โ”ƒ Win Draw Loss Win% โ”ƒ +โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ +โ”‚ BTC/USDT:USDT โ”‚ 1 โ”‚ -4.14 โ”‚ -9.930 โ”‚ -0.99 โ”‚ 17 days, 8:00:00 โ”‚ 0 0 1 0 โ”‚ +โ”‚ ETC/USDT:USDT โ”‚ 1 โ”‚ -4.24 โ”‚ -15.365 โ”‚ -1.54 โ”‚ 10:40:00 โ”‚ 0 0 1 0 โ”‚ +โ”‚ DOT/USDT:USDT โ”‚ 1 โ”‚ -5.29 โ”‚ -19.125 โ”‚ -1.91 โ”‚ 11:30:00 โ”‚ 0 0 1 0 โ”‚ +โ”‚ TOTAL โ”‚ 3 โ”‚ -4.56 โ”‚ -44.420 โ”‚ -4.44 โ”‚ 6 days, 2:03:00 โ”‚ 0 0 3 0 โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + ENTER TAG STATS +โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“ +โ”ƒ Enter Tag โ”ƒ Entries โ”ƒ Avg Profit % โ”ƒ Tot Profit USDT โ”ƒ Tot Profit % โ”ƒ Avg Duration โ”ƒ Win Draw Loss Win% โ”ƒ +โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ +โ”‚ OTHER โ”‚ 77 โ”‚ 0.22 โ”‚ 54.774 โ”‚ 5.48 โ”‚ 22:12:00 โ”‚ 67 0 10 87.0 โ”‚ +โ”‚ TOTAL โ”‚ 77 โ”‚ 0.22 โ”‚ 54.774 โ”‚ 5.48 โ”‚ 22:12:00 โ”‚ 67 0 10 87.0 โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + EXIT REASON STATS +โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“ +โ”ƒ Exit Reason โ”ƒ Exits โ”ƒ Avg Profit % โ”ƒ Tot Profit USDT โ”ƒ Tot Profit % โ”ƒ Avg Duration โ”ƒ Win Draw Loss Win% โ”ƒ +โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ +โ”‚ roi โ”‚ 67 โ”‚ 1.05 โ”‚ 242.179 โ”‚ 24.22 โ”‚ 15:49:00 โ”‚ 67 0 0 100 โ”‚ +โ”‚ exit_signal โ”‚ 4 โ”‚ -2.23 โ”‚ -31.217 โ”‚ -3.12 โ”‚ 1 day, 8:38:00 โ”‚ 0 0 4 0 โ”‚ +โ”‚ force_exit โ”‚ 3 โ”‚ -4.56 โ”‚ -44.420 โ”‚ -4.44 โ”‚ 6 days, 2:03:00 โ”‚ 0 0 3 0 โ”‚ +โ”‚ stop_loss โ”‚ 3 โ”‚ -10.14 โ”‚ -111.768 โ”‚ -11.18 โ”‚ 1 day, 3:05:00 โ”‚ 0 0 3 0 โ”‚ +โ”‚ TOTAL โ”‚ 77 โ”‚ 0.22 โ”‚ 54.774 โ”‚ 5.48 โ”‚ 22:12:00 โ”‚ 67 0 10 87.0 โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + MIXED TAG STATS +โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“ +โ”ƒ Enter Tag โ”ƒ Exit Reason โ”ƒ Trades โ”ƒ Avg Profit % โ”ƒ Tot Profit USDT โ”ƒ Tot Profit % โ”ƒ Avg Duration โ”ƒ Win Draw Loss Win% โ”ƒ +โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ +โ”‚ โ”‚ roi โ”‚ 67 โ”‚ 1.05 โ”‚ 242.179 โ”‚ 24.22 โ”‚ 15:49:00 โ”‚ 67 0 0 100 โ”‚ +โ”‚ โ”‚ exit_signal โ”‚ 4 โ”‚ -2.23 โ”‚ -31.217 โ”‚ -3.12 โ”‚ 1 day, 8:38:00 โ”‚ 0 0 4 0 โ”‚ +โ”‚ โ”‚ force_exit โ”‚ 3 โ”‚ -4.56 โ”‚ -44.420 โ”‚ -4.44 โ”‚ 6 days, 2:03:00 โ”‚ 0 0 3 0 โ”‚ +โ”‚ โ”‚ stop_loss โ”‚ 3 โ”‚ -10.14 โ”‚ -111.768 โ”‚ -11.18 โ”‚ 1 day, 3:05:00 โ”‚ 0 0 3 0 โ”‚ +โ”‚ TOTAL โ”‚ โ”‚ 77 โ”‚ 0.22 โ”‚ 54.774 โ”‚ 5.48 โ”‚ 22:12:00 โ”‚ 67 0 10 87.0 โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + SUMMARY METRICS +โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“ +โ”ƒ Metric โ”ƒ Value โ”ƒ +โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ +โ”‚ Backtesting from โ”‚ 2025-07-01 00:00:00 โ”‚ +โ”‚ Backtesting to โ”‚ 2025-08-01 00:00:00 โ”‚ +โ”‚ Trading Mode โ”‚ Isolated Futures โ”‚ +โ”‚ Max open trades โ”‚ 3 โ”‚ +โ”‚ โ”‚ โ”‚ +โ”‚ Total/Daily Avg Trades โ”‚ 77 / 2.48 โ”‚ +โ”‚ Starting balance โ”‚ 1000 USDT โ”‚ +โ”‚ Final balance โ”‚ 1054.774 USDT โ”‚ +โ”‚ Absolute profit โ”‚ 54.774 USDT โ”‚ +โ”‚ Total profit % โ”‚ 5.48% โ”‚ +โ”‚ CAGR % โ”‚ 87.36% โ”‚ +โ”‚ Sortino โ”‚ 2.48 โ”‚ +โ”‚ Sharpe โ”‚ 3.75 โ”‚ +โ”‚ Calmar โ”‚ 40.99 โ”‚ +โ”‚ SQN โ”‚ 0.69 โ”‚ +โ”‚ Profit factor โ”‚ 1.29 โ”‚ +โ”‚ Expectancy (Ratio) โ”‚ 0.71 (0.04) โ”‚ +โ”‚ Avg. daily profit โ”‚ 1.767 USDT โ”‚ +โ”‚ Avg. stake amount โ”‚ 345.016 USDT โ”‚ +โ”‚ Total trade volume โ”‚ 53316.954 USDT โ”‚ +โ”‚ โ”‚ โ”‚ +โ”‚ Long / Short trades โ”‚ 67 / 10 โ”‚ +โ”‚ Long / Short profit % โ”‚ 8.94% / -3.47% โ”‚ +โ”‚ Long / Short profit USDT โ”‚ 89.425 / -34.651 โ”‚ +โ”‚ โ”‚ โ”‚ +โ”‚ Best Pair โ”‚ LTC/USDT:USDT 5.62% โ”‚ +โ”‚ Worst Pair โ”‚ ADA/USDT:USDT -5.21% โ”‚ +โ”‚ Best trade โ”‚ ETC/USDT:USDT 2.00% โ”‚ +โ”‚ Worst trade โ”‚ ADA/USDT:USDT -10.17% โ”‚ +โ”‚ Best day โ”‚ 26.91 USDT โ”‚ +โ”‚ Worst day โ”‚ -47.741 USDT โ”‚ +โ”‚ Days win/draw/lose โ”‚ 20 / 6 / 5 โ”‚ +โ”‚ Min/Max/Avg. Duration Winners โ”‚ 0d 00:35 / 5d 18:15 / 0d 15:49 โ”‚ +โ”‚ Min/Max/Avg. Duration Losers โ”‚ 0d 10:40 / 17d 08:00 / 2d 17:00 โ”‚ +โ”‚ Max Consecutive Wins / Loss โ”‚ 36 / 3 โ”‚ +โ”‚ Rejected Entry signals โ”‚ 258 โ”‚ +โ”‚ Entry/Exit Timeouts โ”‚ 0 / 0 โ”‚ +โ”‚ โ”‚ โ”‚ +โ”‚ Min balance โ”‚ 1003.168 USDT โ”‚ +โ”‚ Max balance โ”‚ 1149.421 USDT โ”‚ +โ”‚ Max % of account underwater โ”‚ 8.23% โ”‚ +โ”‚ Absolute drawdown โ”‚ 94.647 USDT (8.23%) โ”‚ +โ”‚ Drawdown duration โ”‚ 9 days 08:50:00 โ”‚ +โ”‚ Profit at drawdown start โ”‚ 149.421 USDT โ”‚ +โ”‚ Profit at drawdown end โ”‚ 54.774 USDT โ”‚ +โ”‚ Drawdown start โ”‚ 2025-07-22 15:10:00 โ”‚ +โ”‚ Drawdown end โ”‚ 2025-08-01 00:00:00 โ”‚ +โ”‚ Market change โ”‚ 30.51% โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ -================== SUMMARY METRICS ================== -| Metric | Value | -|-----------------------------+---------------------| -| Backtesting from | 2019-01-01 00:00:00 | -| Backtesting to | 2019-05-01 00:00:00 | -| Trading Mode | Spot | -| Max open trades | 3 | -| | | -| Total/Daily Avg Trades | 429 / 3.575 | -| Starting balance | 0.01000000 BTC | -| Final balance | 0.01762792 BTC | -| Absolute profit | 0.00762792 BTC | -| Total profit % | 76.2% | -| CAGR % | 460.87% | -| Sortino | 1.88 | -| Sharpe | 2.97 | -| Calmar | 6.29 | -| SQN | 2.45 | -| Profit factor | 1.11 | -| Expectancy (Ratio) | -0.15 (-0.05) | -| Avg. stake amount | 0.001 BTC | -| Total trade volume | 0.429 BTC | -| | | -| Long / Short | 352 / 77 | -| Total profit Long % | 1250.58% | -| Total profit Short % | -15.02% | -| Absolute profit Long | 0.00838792 BTC | -| Absolute profit Short | -0.00076 BTC | -| | | -| Best Pair | LSK/BTC 26.26% | -| Worst Pair | ZEC/BTC -10.18% | -| Best Trade | LSK/BTC 4.25% | -| Worst Trade | ZEC/BTC -10.25% | -| Best day | 0.00076 BTC | -| Worst day | -0.00036 BTC | -| Days win/draw/lose | 12 / 82 / 25 | -| Avg. Duration Winners | 4:23:00 | -| Avg. Duration Loser | 6:55:00 | -| Max Consecutive Wins / Loss | 3 / 4 | -| Rejected Entry signals | 3089 | -| Entry/Exit Timeouts | 0 / 0 | -| Canceled Trade Entries | 34 | -| Canceled Entry Orders | 123 | -| Replaced Entry Orders | 89 | -| | | -| Min balance | 0.00945123 BTC | -| Max balance | 0.01846651 BTC | -| Max % of account underwater | 25.19% | -| Absolute Drawdown (Account) | 13.33% | -| Drawdown | 0.0015 BTC | -| Drawdown high | 0.0013 BTC | -| Drawdown low | -0.0002 BTC | -| Drawdown Start | 2019-02-15 14:10:00 | -| Drawdown End | 2019-04-11 18:15:00 | -| Market change | -5.88% | -===================================================== +Backtested 2025-07-01 00:00:00 -> 2025-08-01 00:00:00 | Max open trades : 3 + STRATEGY SUMMARY +โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“ +โ”ƒ Strategy โ”ƒ Trades โ”ƒ Avg Profit % โ”ƒ Tot Profit USDT โ”ƒ Tot Profit % โ”ƒ Avg Duration โ”ƒ Win Draw Loss Win% โ”ƒ Drawdown โ”ƒ +โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ +โ”‚ SampleStrategy โ”‚ 77 โ”‚ 0.22 โ”‚ 54.774 โ”‚ 5.48 โ”‚ 22:12:00 โ”‚ 67 0 10 87.0 โ”‚ 94.647 USDT 8.23% โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` ### Backtesting report table -The 1st table contains all trades the bot made, including "left open trades". +The first table contains all trades the bot made, including "left open trades". The last line will give you the overall performance of your strategy, here: ``` -| TOTAL | 429 | 0.36 | 152.41 | 0.00762792 | 76.20 | 4:12:00 | 186 0 243 43.4 | +โ”‚ TOTAL โ”‚ 77 โ”‚ 0.22 โ”‚ 54.774 โ”‚ 5.48 โ”‚ 22:12:00 โ”‚ 67 0 10 87.0 โ”‚ ``` -The bot has made `429` trades for an average duration of `4:12:00`, with a performance of `76.20%` (profit), that means it has -earned a total of `0.00762792 BTC` starting with a capital of 0.01 BTC. +The bot has made `77` trades for an average duration of `22:12:00`, with a performance of `5.48%` (profit), that means it has earned a total of `54.774 USDT` starting with a capital of 1000 USDT. The column `Avg Profit %` shows the average profit for all trades made. The column `Tot Profit %` shows instead the total profit % in relation to the starting balance. -In the above results, we have a starting balance of 0.01 BTC and an absolute profit of 0.00762792 BTC - so the `Tot Profit %` will be `(0.00762792 / 0.01) * 100 ~= 76.2%`. + +In the above results, we have a starting balance of 1000 USDT and an absolute profit of 54.774 USDT - so the `Tot Profit %` will be `(54.774 / 1000) * 100 ~= 5.48%`. Your strategy performance is influenced by your entry strategy, your exit strategy, and also by the `minimal_roi` and `stop_loss` you have set. @@ -284,86 +305,83 @@ On the other hand, if you set a too high `minimal_roi` like `"0": 0.55` (55%), there is almost no chance that the bot will ever reach this profit. Hence, keep in mind that your performance is an integral mix of all different elements of the strategy, your configuration, and the crypto-currency pairs you have set up. -### Exit reasons table - -The 2nd table contains a recap of exit reasons. -This table can tell you which area needs some additional work (e.g. all or many of the `exit_signal` trades are losses, so you should work on improving the exit signal, or consider disabling it). - ### Left open trades table -The 3rd table contains all trades the bot had to `force_exit` at the end of the backtesting period to present you the full picture. +The second table contains all trades the bot had to `force_exit` at the end of the backtesting period to present you the full picture. This is necessary to simulate realistic behavior, since the backtest period has to end at some point, while realistically, you could leave the bot running forever. These trades are also included in the first table, but are also shown separately in this table for clarity. +### Enter tag stats table + +The third table provides a breakdown of trades by their entry tags (e.g., `enter_long`, `enter_short`), showing the number of entries, average profit percentage, total profit in the stake currency, total profit percentage, average duration, and the number of wins, draws, and losses for each tag. + +### Exit reason stats table + +The fourth table contains a recap of exit reasons (e.g., `exit_signal`, `roi`, `stop_loss`, `force_exit`). This table can tell you which area needs additional work (e.g., if many `exit_signal` trades are losses, you should work on improving the exit signal or consider disabling it). + +### Mixed tag stats table + +The fifth table combines entry tags and exit reasons, providing a detailed view of how different entry tags performed with specific exit reasons. This can help identify which combinations of entry and exit strategies are most effective. + ### Summary metrics The last element of the backtest report is the summary metrics table. -It contains some useful key metrics about performance of your strategy on backtesting data. +It contains key metrics about the performance of your strategy on backtesting data. ``` -================== SUMMARY METRICS ================== -| Metric | Value | -|-----------------------------+---------------------| -| Backtesting from | 2019-01-01 00:00:00 | -| Backtesting to | 2019-05-01 00:00:00 | -| Trading Mode | Spot | -| Max open trades | 3 | -| | | -| Total/Daily Avg Trades | 429 / 3.575 | -| Starting balance | 0.01000000 BTC | -| Final balance | 0.01762792 BTC | -| Absolute profit | 0.00762792 BTC | -| Total profit % | 76.2% | -| CAGR % | 460.87% | -| Sortino | 1.88 | -| Sharpe | 2.97 | -| Calmar | 6.29 | -| SQN | 2.45 | -| Profit factor | 1.11 | -| Expectancy (Ratio) | -0.15 (-0.05) | -| Avg. daily profit | 0.0001 BTC | -| Avg. stake amount | 0.001 BTC | -| Total trade volume | 0.429 BTC | -| | | -| Long / Short | 352 / 77 | -| Total profit Long % | 1250.58% | -| Total profit Short % | -15.02% | -| Absolute profit Long | 0.00838792 BTC | -| Absolute profit Short | -0.00076 BTC | -| | | -| Best Pair | LSK/BTC 26.26% | -| Worst Pair | ZEC/BTC -10.18% | -| Best Trade | LSK/BTC 4.25% | -| Worst Trade | ZEC/BTC -10.25% | -| Best day | 0.00076 BTC | -| Worst day | -0.00036 BTC | -| Days win/draw/lose | 12 / 82 / 25 | -| Avg. Duration Winners | 4:23:00 | -| Avg. Duration Loser | 6:55:00 | -| Max Consecutive Wins / Loss | 3 / 4 | -| Rejected Entry signals | 3089 | -| Entry/Exit Timeouts | 0 / 0 | -| Canceled Trade Entries | 34 | -| Canceled Entry Orders | 123 | -| Replaced Entry Orders | 89 | -| | | -| Min balance | 0.00945123 BTC | -| Max balance | 0.01846651 BTC | -| Max % of account underwater | 25.19% | -| Absolute Drawdown (Account) | 13.33% | -| Drawdown | 0.0015 BTC | -| Drawdown high | 0.0013 BTC | -| Drawdown low | -0.0002 BTC | -| Drawdown Start | 2019-02-15 14:10:00 | -| Drawdown End | 2019-04-11 18:15:00 | -| Market change | -5.88% | -===================================================== - +โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“ +โ”ƒ Metric โ”ƒ Value โ”ƒ +โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ +โ”‚ Backtesting from โ”‚ 2025-07-01 00:00:00 โ”‚ +โ”‚ Backtesting to โ”‚ 2025-08-01 00:00:00 โ”‚ +โ”‚ Trading Mode โ”‚ Isolated Futures โ”‚ +โ”‚ Max open trades โ”‚ 3 โ”‚ +โ”‚ โ”‚ โ”‚ +โ”‚ Total/Daily Avg Trades โ”‚ 72 / 2.32 โ”‚ +โ”‚ Starting balance โ”‚ 1000 USDT โ”‚ +โ”‚ Final balance โ”‚ 1106.734 USDT โ”‚ +โ”‚ Absolute profit โ”‚ 106.734 USDT โ”‚ +โ”‚ Total profit % โ”‚ 10.67% โ”‚ +โ”‚ CAGR % โ”‚ 230.04% โ”‚ +โ”‚ Sortino โ”‚ 4.99 โ”‚ +โ”‚ Sharpe โ”‚ 8.00 โ”‚ +โ”‚ Calmar โ”‚ 77.76 โ”‚ +โ”‚ SQN โ”‚ 1.52 โ”‚ +โ”‚ Profit factor โ”‚ 1.79 โ”‚ +โ”‚ Expectancy (Ratio) โ”‚ 1.48 (0.07) โ”‚ +โ”‚ Avg. daily profit โ”‚ 3.443 USDT โ”‚ +โ”‚ Avg. stake amount โ”‚ 363.133 USDT โ”‚ +โ”‚ Total trade volume โ”‚ 52466.174 USDT โ”‚ +โ”‚ โ”‚ โ”‚ +โ”‚ Best Pair โ”‚ LTC/USDT:USDT 4.48% โ”‚ +โ”‚ Worst Pair โ”‚ ADA/USDT:USDT -1.78% โ”‚ +โ”‚ Best trade โ”‚ ETC/USDT:USDT 2.00% โ”‚ +โ”‚ Worst trade โ”‚ ADA/USDT:USDT -10.17% โ”‚ +โ”‚ Best day โ”‚ 23.535 USDT โ”‚ +โ”‚ Worst day โ”‚ -49.813 USDT โ”‚ +โ”‚ Days win/draw/lose โ”‚ 21 / 6 / 4 โ”‚ +โ”‚ Min/Max/Avg. Duration Winners โ”‚ 0d 00:35 / 5d 18:15 / 0d 15:30 โ”‚ +โ”‚ Min/Max/Avg. Duration Losers โ”‚ 0d 12:00 / 17d 08:00 / 3d 23:28 โ”‚ +โ”‚ Max Consecutive Wins / Loss โ”‚ 58 / 4 โ”‚ +โ”‚ Rejected Entry signals โ”‚ 254 โ”‚ +โ”‚ Entry/Exit Timeouts โ”‚ 0 / 0 โ”‚ +โ”‚ โ”‚ โ”‚ +โ”‚ Min balance โ”‚ 1003.168 USDT โ”‚ +โ”‚ Max balance โ”‚ 1209 USDT โ”‚ +โ”‚ Max % of account underwater โ”‚ 8.46% โ”‚ +โ”‚ Absolute drawdown โ”‚ 102.266 USDT (8.46%) โ”‚ +โ”‚ Drawdown duration โ”‚ 9 days 08:50:00 โ”‚ +โ”‚ Profit at drawdown start โ”‚ 209 USDT โ”‚ +โ”‚ Profit at drawdown end โ”‚ 106.734 USDT โ”‚ +โ”‚ Drawdown start โ”‚ 2025-07-22 15:10:00 โ”‚ +โ”‚ Drawdown end โ”‚ 2025-08-01 00:00:00 โ”‚ +โ”‚ Market change โ”‚ 30.51% โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` - `Backtesting from` / `Backtesting to`: Backtesting range (usually defined with the `--timerange` option). -- `Max open trades`: Setting of `max_open_trades` (or `--max-open-trades`) - or number of pairs in the pairlist (whatever is lower). - `Trading Mode`: Spot or Futures trading. +- `Max open trades`: Setting of `max_open_trades` (or `--max-open-trades`) - or number of pairs in the pairlist (whatever is lower). - `Total/Daily Avg Trades`: Identical to the total trades of the backtest output table / Total trades divided by the backtesting duration in days (this will give you information about how many trades to expect from the strategy). - `Starting balance`: Start balance - as given by dry-run-wallet (config or command line). - `Final balance`: Final balance - starting balance + absolute profit. @@ -374,58 +392,71 @@ It contains some useful key metrics about performance of your strategy on backte - `Sharpe`: Annualized Sharpe ratio. - `Calmar`: Annualized Calmar ratio. - `SQN`: System Quality Number (SQN) - by Van Tharp. -- `Profit factor`: profit / loss. +- `Profit factor`: Sum of the profits of all winning trades divided by the sum of the losses of all losing trades. - `Expectancy (Ratio)`: Expectancy ratio, which is the average profit or loss per trade. A negative expectancy ratio means that your strategy is not profitable. - `Avg. daily profit`: Average profit per day, calculated as `(Total Profit / Backtest Days)`. - `Avg. stake amount`: Average stake amount, either `stake_amount` or the average when using dynamic stake amount. - `Total trade volume`: Volume generated on the exchange to reach the above profit. -- `Best Pair` / `Worst Pair`: Best and worst performing pair (based on absolute profit), and it's corresponding `Tot Profit %`. -- `Best Trade` / `Worst Trade`: Biggest single winning trade and biggest single losing trade. +- `Long / Short trades`: Split long/short trade counts (only shown when short trades were made). +- `Long / Short profit %`: Profit percentage for long and short trades (only shown when short trades were made). +- `Long / Short profit USDT`: Profit in stake currency for long and short trades (only shown when short trades were made). +- `Best Pair` / `Worst Pair`: Best and worst performing pair (based on total profit percentage), and its corresponding `Tot Profit %`. +- `Best trade` / `Worst trade`: Biggest single winning trade and biggest single losing trade. - `Best day` / `Worst day`: Best and worst day based on daily profit. -- `Days win/draw/lose`: Winning / Losing days (draws are usually days without closed trade). -- `Avg. Duration Winners` / `Avg. Duration Loser`: Average durations for winning and losing trades. +- `Days win/draw/lose`: Winning / Losing days (draws are usually days without closed trades). +- `Min/Max/Avg. Duration Winners`: Minimum, maximum, and average durations for winning trades. +- `Min/Max/Avg. Duration Losers`: Minimum, maximum, and average durations for losing trades. - `Max Consecutive Wins / Loss`: Maximum consecutive wins/losses in a row. - `Rejected Entry signals`: Trade entry signals that could not be acted upon due to `max_open_trades` being reached. - `Entry/Exit Timeouts`: Entry/exit orders which did not fill (only applicable if custom pricing is used). -- `Canceled Trade Entries`: Number of trades that have been canceled by user request via `adjust_entry_price`. -- `Canceled Entry Orders`: Number of entry orders that have been canceled by user request via `adjust_entry_price`. -- `Replaced Entry Orders`: Number of entry orders that have been replaced by user request via `adjust_entry_price`. - `Min balance` / `Max balance`: Lowest and Highest Wallet balance during the backtest period. -- `Max % of account underwater`: Maximum percentage your account has decreased from the top since the simulation started. -Calculated as the maximum of `(Max Balance - Current Balance) / (Max Balance)`. -- `Absolute Drawdown (Account)`: Maximum Account Drawdown experienced. Calculated as `(Absolute Drawdown) / (DrawdownHigh + startingBalance)`. -- `Drawdown`: Maximum, absolute drawdown experienced. Difference between Drawdown High and Subsequent Low point. -- `Drawdown high` / `Drawdown low`: Profit at the beginning and end of the largest drawdown period. A negative low value means initial capital lost. -- `Drawdown Start` / `Drawdown End`: Start and end datetime for this largest drawdown (can also be visualized via the `plot-dataframe` sub-command). -- `Market change`: Change of the market during the backtest period. Calculated as average of all pairs changes from the first to the last candle using the "close" column. -- `Long / Short`: Split long/short values (Only shown when short trades were made). -- `Total profit Long %` / `Absolute profit Long`: Profit long trades only (Only shown when short trades were made). -- `Total profit Short %` / `Absolute profit Short`: Profit short trades only (Only shown when short trades were made). +- `Max % of account underwater`: Maximum percentage your account has decreased from the top since the simulation started. Calculated as the maximum of `(Max Balance - Current Balance) / (Max Balance)`. +- `Absolute drawdown`: Maximum absolute drawdown experienced, including percentage relative to the account calculated as `(Absolute Drawdown) / (DrawdownHigh + startingBalance)`.. +- `Drawdown duration`: Duration of the largest drawdown period. +- `Profit at drawdown start` / `Profit at drawdown end`: Profit at the beginning and end of the largest drawdown period. +- `Drawdown start` / `Drawdown end`: Start and end datetime for the largest drawdown (can also be visualized via the `plot-dataframe` sub-command). +- `Market change`: Change of the market during the backtest period. Calculated as the average of all pairs' changes from the first to the last candle using the "close" column. -### Daily / Weekly / Monthly breakdown +### Daily / Weekly / Monthly / Yearly breakdown -You can get an overview over daily / weekly or monthly results by using the `--breakdown <>` switch. +You can get an overview over daily, weekly, monthly, or yearly results by using the `--breakdown <>` switch. -To visualize daily and weekly breakdowns, you can use the following: +To visualize monthly and yearly breakdowns, you can use the following: ``` bash -freqtrade backtesting --strategy MyAwesomeStrategy --breakdown day week +freqtrade backtesting --strategy MyAwesomeStrategy --breakdown month year ``` ``` output -======================== DAY BREAKDOWN ========================= -| Day | Tot Profit USDT | Wins | Draws | Losses | -|------------+-------------------+--------+---------+----------| -| 03/07/2021 | 200.0 | 2 | 0 | 0 | -| 04/07/2021 | -50.31 | 0 | 0 | 2 | -| 05/07/2021 | 220.611 | 3 | 2 | 0 | -| 06/07/2021 | 150.974 | 3 | 0 | 2 | -| 07/07/2021 | -70.193 | 1 | 0 | 2 | -| 08/07/2021 | 212.413 | 2 | 0 | 3 | - + MONTH BREAKDOWN +โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“ +โ”ƒ Month โ”ƒ Trades โ”ƒ Tot Profit USDT โ”ƒ Profit Factor โ”ƒ Win Draw Loss Win% โ”ƒ +โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ +โ”‚ 31/01/2020 โ”‚ 12 โ”‚ 44.451 โ”‚ 7.28 โ”‚ 10 0 2 83.3 โ”‚ +โ”‚ 29/02/2020 โ”‚ 30 โ”‚ 45.41 โ”‚ 2.36 โ”‚ 17 0 13 56.7 โ”‚ +โ”‚ 31/03/2020 โ”‚ 35 โ”‚ 142.024 โ”‚ 2.42 โ”‚ 14 0 21 40.0 โ”‚ +โ”‚ 30/04/2020 โ”‚ 67 โ”‚ -23.692 โ”‚ 0.81 โ”‚ 24 0 43 35.8 โ”‚ +... +... +โ”‚ 30/04/2025 โ”‚ 203 โ”‚ -63.43 โ”‚ 0.81 โ”‚ 73 0 130 36.0 โ”‚ +โ”‚ 31/05/2025 โ”‚ 142 โ”‚ 104.675 โ”‚ 1.28 โ”‚ 59 0 83 41.5 โ”‚ +โ”‚ 30/06/2025 โ”‚ 177 โ”‚ -1.014 โ”‚ 1.0 โ”‚ 85 0 92 48.0 โ”‚ +โ”‚ 31/07/2025 โ”‚ 155 โ”‚ 232.762 โ”‚ 1.6 โ”‚ 63 0 92 40.6 โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ + YEAR BREAKDOWN +โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“ +โ”ƒ Year โ”ƒ Trades โ”ƒ Tot Profit USDT โ”ƒ Profit Factor โ”ƒ Win Draw Loss Win% โ”ƒ +โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ +โ”‚ 31/12/2020 โ”‚ 896 โ”‚ 868.889 โ”‚ 1.46 โ”‚ 351 0 545 39.2 โ”‚ +โ”‚ 31/12/2021 โ”‚ 1778 โ”‚ 4487.163 โ”‚ 1.93 โ”‚ 745 0 1033 41.9 โ”‚ +โ”‚ 31/12/2022 โ”‚ 1736 โ”‚ 938.27 โ”‚ 1.27 โ”‚ 698 0 1038 40.2 โ”‚ +โ”‚ 31/12/2023 โ”‚ 1712 โ”‚ 1677.126 โ”‚ 1.68 โ”‚ 670 0 1042 39.1 โ”‚ +โ”‚ 31/12/2024 โ”‚ 1609 โ”‚ 3198.424 โ”‚ 2.22 โ”‚ 773 0 836 48.0 โ”‚ +โ”‚ 31/12/2025 โ”‚ 1042 โ”‚ 716.174 โ”‚ 1.33 โ”‚ 420 0 622 40.3 โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` -The output will show a table containing the realized absolute Profit (in stake currency) for the given timeperiod, as well as wins, draws and losses that materialized (closed) on this day. Below that there will be a second table for the summarized values of weeks indicated by the date of the closing Sunday. The same would apply to a monthly breakdown indicated by the last day of the month. +The output will display tables containing the realized absolute profit (in stake currency) for the selected period, along with additional statistics such as number of trades, profit factor, and distribution of wins, draws, and losses that materialized (closed) on this period. ### Backtest result caching @@ -449,10 +480,10 @@ For this mode - `--notes ""` can be used to add notes to the backtest res The output file freqtrade produces is a zip file containing the following files: - The backtest report in json format -- the market change data in feather format -- a copy of the strategy file -- a copy of the strategy parameters (if a parameter file was used) -- a sanitized copy of the config file +- The market change data in feather format +- A copy of the strategy file +- A copy of the strategy parameters (if a parameter file was used) +- A sanitized copy of the config file This will ensure results are reproducible - under the assumption that the same data is available. @@ -470,7 +501,7 @@ Since backtesting lacks some detailed information about what happens within a ca - Exit-signal is favored over Stoploss, because exit-signals are assumed to trigger on candle's open - ROI - Exits are compared to high - but the ROI value is used (e.g. ROI = 2%, high=5% - so the exit will be at 2%) - - Exits are never "below the candle", so a ROI of 2% may result in a exit at 2.4% if low was at 2.4% profit + - Exits are never "below the candle", so a ROI of 2% may result in an exit at 2.4% if low was at 2.4% profit - ROI entries which came into effect on the triggering candle (e.g. `120: 0.02` for 1h candles, from `60: 0.05`) will use the candle's open as exit rate - Force-exits caused by `=-1` ROI entries use low as exit value, unless N falls on the candle open (e.g. `120: -1` for 1h candles) - Stoploss exits happen exactly at stoploss price, even if low was lower, but the loss will be `2 * fees` higher than the stoploss price @@ -536,7 +567,7 @@ freqtrade backtesting --strategy AwesomeStrategy --timeframe 1h --timeframe-deta This will load 1h data (the main timeframe) as well as 5m data (detail timeframe) for the selected timerange. The strategy will be analyzed with the 1h timeframe. -Candles where activity may take place (there's an active signal, the pair is in a trade) are evaluated at the 5m timeframe. +Candles where activity may take place (there's an active signal, the pair is in a trade) are evaluated at the 5m timeframe. This will allow for a more accurate simulation of intra-candle movements - and can lead to different results, especially on higher timeframes. Entries will generally still happen at the main candle's open, however freed trade slots may be freed earlier (if the exit signal is triggered on the 5m candle), which can then be used for a new trade of a different pair. @@ -599,5 +630,5 @@ Detailed output for all strategies one after the other will be available, so mak ## Next step -Great, your strategy is profitable. What if the bot can give your the optimal parameters to use for your strategy? +Great, your strategy is profitable. What if the bot can give you the optimal parameters to use for your strategy? Your next step is to learn [how to find optimal parameters with Hyperopt](hyperopt.md) diff --git a/docs/commands/backtesting-analysis.md b/docs/commands/backtesting-analysis.md index 6aa18d670..826792f4f 100644 --- a/docs/commands/backtesting-analysis.md +++ b/docs/commands/backtesting-analysis.md @@ -2,7 +2,8 @@ usage: freqtrade backtesting-analysis [-h] [-v] [--no-color] [--logfile FILE] [-V] [-c PATH] [-d PATH] [--userdir PATH] - [--export-filename PATH] + [--backtest-filename PATH] + [--backtest-directory PATH] [--analysis-groups {0,1,2,3,4,5} [{0,1,2,3,4,5} ...]] [--enter-reason-list ENTER_REASON_LIST [ENTER_REASON_LIST ...]] [--exit-reason-list EXIT_REASON_LIST [EXIT_REASON_LIST ...]] @@ -14,10 +15,15 @@ usage: freqtrade backtesting-analysis [-h] [-v] [--no-color] [--logfile FILE] options: -h, --help show this help message and exit - --export-filename PATH, --backtest-filename PATH - Use this filename for backtest results.Requires - `--export` to be set as well. Example: `--export-filen - ame=user_data/backtest_results/backtest_today.json` + --backtest-filename PATH, --export-filename PATH + Use this filename for backtest results.Example: + `--backtest- + filename=backtest_results_2020-09-27_16-20-48.json`. + Assumes either `user_data/backtest_results/` or + `--export-directory` as base directory. + --backtest-directory PATH, --export-directory PATH + Directory to use for backtest results. Example: + `--export-directory=user_data/backtest_results/`. --analysis-groups {0,1,2,3,4,5} [{0,1,2,3,4,5} ...] grouping output - 0: simple wins/losses by enter tag, 1: by enter_tag, 2: by enter_tag and exit_tag, 3: by diff --git a/docs/commands/backtesting-show.md b/docs/commands/backtesting-show.md index 6a4565616..eb9c7137b 100644 --- a/docs/commands/backtesting-show.md +++ b/docs/commands/backtesting-show.md @@ -1,15 +1,22 @@ ``` usage: freqtrade backtesting-show [-h] [-v] [--no-color] [--logfile FILE] [-V] [-c PATH] [-d PATH] [--userdir PATH] - [--export-filename PATH] [--show-pair-list] + [--backtest-filename PATH] + [--backtest-directory PATH] + [--show-pair-list] [--breakdown {day,week,month,year} [{day,week,month,year} ...]] options: -h, --help show this help message and exit - --export-filename PATH, --backtest-filename PATH - Use this filename for backtest results.Requires - `--export` to be set as well. Example: `--export-filen - ame=user_data/backtest_results/backtest_today.json` + --backtest-filename PATH, --export-filename PATH + Use this filename for backtest results.Example: + `--backtest- + filename=backtest_results_2020-09-27_16-20-48.json`. + Assumes either `user_data/backtest_results/` or + `--export-directory` as base directory. + --backtest-directory PATH, --export-directory PATH + Directory to use for backtest results. Example: + `--export-directory=user_data/backtest_results/`. --show-pair-list Show backtesting pairlist sorted by profit. --breakdown {day,week,month,year} [{day,week,month,year} ...] Show backtesting breakdown per [day, week, month, diff --git a/docs/commands/backtesting.md b/docs/commands/backtesting.md index 8e09c245d..7082fb362 100644 --- a/docs/commands/backtesting.md +++ b/docs/commands/backtesting.md @@ -14,7 +14,8 @@ usage: freqtrade backtesting [-h] [-v] [--no-color] [--logfile FILE] [-V] [--timeframe-detail TIMEFRAME_DETAIL] [--strategy-list STRATEGY_LIST [STRATEGY_LIST ...]] [--export {none,trades,signals}] - [--export-filename PATH] + [--backtest-filename PATH] + [--backtest-directory PATH] [--breakdown {day,week,month,year} [{day,week,month,year} ...]] [--cache {none,day,week,month}] [--freqai-backtest-live-models] [--notes TEXT] @@ -61,10 +62,15 @@ options: becomes `backtest-data-SampleStrategy.json` --export {none,trades,signals} Export backtest results (default: trades). - --export-filename PATH, --backtest-filename PATH - Use this filename for backtest results.Requires - `--export` to be set as well. Example: `--export-filen - ame=user_data/backtest_results/backtest_today.json` + --backtest-filename PATH, --export-filename PATH + Use this filename for backtest results.Example: + `--backtest- + filename=backtest_results_2020-09-27_16-20-48.json`. + Assumes either `user_data/backtest_results/` or + `--export-directory` as base directory. + --backtest-directory PATH, --export-directory PATH + Directory to use for backtest results. Example: + `--export-directory=user_data/backtest_results/`. --breakdown {day,week,month,year} [{day,week,month,year} ...] Show backtesting breakdown per [day, week, month, year]. diff --git a/docs/commands/list-exchanges.md b/docs/commands/list-exchanges.md index f551c8aa8..a5a249cd9 100644 --- a/docs/commands/list-exchanges.md +++ b/docs/commands/list-exchanges.md @@ -1,11 +1,16 @@ ``` usage: freqtrade list-exchanges [-h] [-v] [--no-color] [--logfile FILE] [-V] [-c PATH] [-d PATH] [--userdir PATH] [-1] [-a] + [--trading-mode {spot,margin,futures}] + [--dex-exchanges] options: -h, --help show this help message and exit -1, --one-column Print output in one column. -a, --all Print all exchanges known to the ccxt library. + --trading-mode {spot,margin,futures}, --tradingmode {spot,margin,futures} + Select Trading mode + --dex-exchanges Print only DEX exchanges. Common arguments: -v, --verbose Verbose mode (-vv for more, -vvv to get all messages). diff --git a/docs/commands/lookahead-analysis.md b/docs/commands/lookahead-analysis.md index 7870d212e..880c41ce1 100644 --- a/docs/commands/lookahead-analysis.md +++ b/docs/commands/lookahead-analysis.md @@ -15,7 +15,8 @@ usage: freqtrade lookahead-analysis [-h] [-v] [--no-color] [--logfile FILE] [--timeframe-detail TIMEFRAME_DETAIL] [--strategy-list STRATEGY_LIST [STRATEGY_LIST ...]] [--export {none,trades,signals}] - [--export-filename PATH] + [--backtest-filename PATH] + [--backtest-directory PATH] [--freqai-backtest-live-models] [--minimum-trade-amount INT] [--targeted-trade-amount INT] @@ -60,10 +61,15 @@ options: becomes `backtest-data-SampleStrategy.json` --export {none,trades,signals} Export backtest results (default: trades). - --export-filename PATH, --backtest-filename PATH - Use this filename for backtest results.Requires - `--export` to be set as well. Example: `--export-filen - ame=user_data/backtest_results/backtest_today.json` + --backtest-filename PATH, --export-filename PATH + Use this filename for backtest results.Example: + `--backtest- + filename=backtest_results_2020-09-27_16-20-48.json`. + Assumes either `user_data/backtest_results/` or + `--export-directory` as base directory. + --backtest-directory PATH, --export-directory PATH + Directory to use for backtest results. Example: + `--export-directory=user_data/backtest_results/`. --freqai-backtest-live-models Run backtest with ready models. --minimum-trade-amount INT diff --git a/docs/commands/plot-dataframe.md b/docs/commands/plot-dataframe.md index e101d0d5b..a709858f3 100644 --- a/docs/commands/plot-dataframe.md +++ b/docs/commands/plot-dataframe.md @@ -10,7 +10,7 @@ usage: freqtrade plot-dataframe [-h] [-v] [--no-color] [--logfile FILE] [-V] [--plot-limit INT] [--db-url PATH] [--trade-source {DB,file}] [--export {none,trades,signals}] - [--export-filename PATH] + [--backtest-filename PATH] [--timerange TIMERANGE] [-i TIMEFRAME] [--no-trades] @@ -38,10 +38,12 @@ options: (backtest file)) Default: file --export {none,trades,signals} Export backtest results (default: trades). - --export-filename PATH, --backtest-filename PATH - Use this filename for backtest results.Requires - `--export` to be set as well. Example: `--export-filen - ame=user_data/backtest_results/backtest_today.json` + --backtest-filename PATH, --export-filename PATH + Use this filename for backtest results.Example: + `--backtest- + filename=backtest_results_2020-09-27_16-20-48.json`. + Assumes either `user_data/backtest_results/` or + `--export-directory` as base directory. --timerange TIMERANGE Specify what timerange of data to use. -i TIMEFRAME, --timeframe TIMEFRAME diff --git a/docs/commands/plot-profit.md b/docs/commands/plot-profit.md index 2c0b0e6b5..e46e4b223 100644 --- a/docs/commands/plot-profit.md +++ b/docs/commands/plot-profit.md @@ -6,7 +6,7 @@ usage: freqtrade plot-profit [-h] [-v] [--no-color] [--logfile FILE] [-V] [--freqaimodel NAME] [--freqaimodel-path PATH] [-p PAIRS [PAIRS ...]] [--timerange TIMERANGE] [--export {none,trades,signals}] - [--export-filename PATH] [--db-url PATH] + [--backtest-filename PATH] [--db-url PATH] [--trade-source {DB,file}] [-i TIMEFRAME] [--auto-open] @@ -19,10 +19,12 @@ options: Specify what timerange of data to use. --export {none,trades,signals} Export backtest results (default: trades). - --export-filename PATH, --backtest-filename PATH - Use this filename for backtest results.Requires - `--export` to be set as well. Example: `--export-filen - ame=user_data/backtest_results/backtest_today.json` + --backtest-filename PATH, --export-filename PATH + Use this filename for backtest results.Example: + `--backtest- + filename=backtest_results_2020-09-27_16-20-48.json`. + Assumes either `user_data/backtest_results/` or + `--export-directory` as base directory. --db-url PATH Override trades database URL, this is useful in custom deployments (default: `sqlite:///tradesv3.sqlite` for Live Run mode, `sqlite:///tradesv3.dryrun.sqlite` for diff --git a/docs/configuration.md b/docs/configuration.md index 910d61500..51c717da2 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -566,8 +566,8 @@ Configuration: ### Understand order_time_in_force -The `order_time_in_force` configuration parameter defines the policy by which the order -is executed on the exchange. Three commonly used time in force are: +The `order_time_in_force` configuration parameter defines the policy by which the order is executed on the exchange. +Commonly used time in force are: **GTC (Good Till Canceled):** @@ -589,11 +589,13 @@ is automatically cancelled by the exchange. Post only order. The order is either placed as a maker order, or it is canceled. This means the order must be placed on orderbook for at least time in an unfilled state. +Please check the [Exchange documentation](exchanges.md) for supported time in force values for your exchange. + #### time_in_force config The `order_time_in_force` parameter contains a dict with entry and exit time in force policy values. This can be set in the configuration file or in the strategy. -Values set in the configuration file overwrites values set in the strategy. +Values set in the configuration file overwrite values from in the strategy, following the regular [precedence rules](#configuration-option-prevalence). The possible values are: `GTC` (default), `FOK` or `IOC`. @@ -605,9 +607,9 @@ The possible values are: `GTC` (default), `FOK` or `IOC`. ``` !!! Warning - This is ongoing work. For now, it is supported only for binance, gate and kucoin. Please don't change the default value unless you know what you are doing and have researched the impact of using different values for your particular exchange. + ### Fiat conversion Freqtrade uses the Coingecko API to convert the coin value to it's corresponding fiat value for the Telegram reports. diff --git a/docs/developer.md b/docs/developer.md index b0cf21398..bb3542b92 100644 --- a/docs/developer.md +++ b/docs/developer.md @@ -408,6 +408,22 @@ jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace freqtrade/tem jupyter nbconvert --ClearOutputPreprocessor.enabled=True --to markdown freqtrade/templates/strategy_analysis_example.ipynb --stdout > docs/strategy_analysis_example.md ``` +## Backtest documentation results + +To generate backtest outputs, please use the following commands: + +``` bash +# Assume a dedicated user directory for this output +freqtrade create-userdir --userdir user_data_bttest/ +# set can_short = True +sed -i "s/can_short: bool = False/can_short: bool = True/" user_data_bttest/strategies/sample_strategy.py + +freqtrade download-data --timerange 20250625-20250801 --config tests/testdata/config.tests.usdt.json --userdir user_data_bttest/ -t 5m + +freqtrade backtesting --config tests/testdata/config.tests.usdt.json -s SampleStrategy --userdir user_data_bttest/ --cache none --timerange 20250701-20250801 +``` + + ## Continuous integration This documents some decisions taken for the CI Pipeline. @@ -418,7 +434,6 @@ This documents some decisions taken for the CI Pipeline. * Docker images contain a file, `/freqtrade/freqtrade_commit` containing the commit this image is based of. * Full docker image rebuilds are run once a week via schedule. * Deployments run on ubuntu. -* ta-lib binaries are contained in the build_helpers directory to avoid fails related to external unavailability. * All tests must pass for a PR to be merged to `stable` or `develop`. ## Creating a release diff --git a/docs/exchanges.md b/docs/exchanges.md index 647dfa868..8d6b96405 100644 --- a/docs/exchanges.md +++ b/docs/exchanges.md @@ -227,7 +227,7 @@ Kucoin requires a passphrase for each api key, you will therefore need to add th } ``` -Kucoin supports [time_in_force](configuration.md#understand-order_time_in_force). +Kucoin supports [time_in_force](configuration.md#understand-order_time_in_force) with settings "GTC" (good till cancelled), "FOK" (full-or-cancel) and "IOC" (immediate-or-cancel) settings. !!! Tip "Stoploss on Exchange" Kucoin supports `stoploss_on_exchange` and can use both stop-loss-market and stop-loss-limit orders. It provides great advantages, so we recommend to benefit from it. @@ -271,7 +271,9 @@ Using the wrong exchange will result in the error "OKX Error 50119: API key does ## Gate.io !!! Tip "Stoploss on Exchange" - Gate.io supports `stoploss_on_exchange` and uses `stop-loss-limit` orders. It provides great advantages, so we recommend to benefit from it by enabling stoploss on exchange.. + Gate.io supports `stoploss_on_exchange` and uses `stop-loss-limit` orders. It provides great advantages, so we recommend to benefit from it by enabling stoploss on exchange. + +Gate.io supports [time_in_force](configuration.md#understand-order_time_in_force) with settings "GTC" (good till cancelled), and "IOC" (immediate-or-cancel) settings. Gate.io allows the use of `POINT` to pay for fees. As this is not a tradable currency (no regular market available), automatic fee calculations will fail (and default to a fee of 0). The configuration parameter `exchange.unknown_fee_rate` can be used to specify the exchange rate between Point and the stake currency. Obviously, changing the stake-currency will also require changes to this value. @@ -286,9 +288,15 @@ Without these permissions, the bot will not start correctly and show errors like ## Bybit -Futures trading on bybit is currently supported for USDT markets, and will use isolated futures mode. +!!! Tip "Stoploss on Exchange" + Bybit (futures only) supports `stoploss_on_exchange` and uses `stop-loss-limit` orders. It provides great advantages, so we recommend to benefit from it by enabling stoploss on exchange. + On futures, Bybit supports both `stop-limit` as well as `stop-market` orders. You can use either `"limit"` or `"market"` in the `order_types.stoploss` configuration setting to decide which type to use. -On startup, freqtrade will set the position mode to "One-way Mode" for the whole (sub)account. This avoids making this call over and over again (slowing down bot operations), but means that changes to this setting may result in exceptions and errors. +Bybit supports [time_in_force](configuration.md#understand-order_time_in_force) with settings "GTC" (good till cancelled), "FOK" (full-or-cancel), "IOC" (immediate-or-cancel) and "PO" (Post only) settings. + +Futures trading on bybit is currently supported for isolated futures mode. + +On startup, freqtrade will set the position mode to "One-way Mode" for the whole (sub)account. This avoids making this call over and over again (slowing down bot operations), but means that manual changes to this setting may result in exceptions and errors. As bybit doesn't provide funding rate history, the dry-run calculation is used for live trades as well. @@ -305,11 +313,6 @@ We do strongly recommend to limit all API keys to the IP you're going to use it We therefore recommend the usage of one subaccount per bot. This is especially important when using unified accounts. Other configurations (multiple bots on one account, manual non-bot trades on the bot account) are not supported and may lead to unexpected behavior. - -!!! Tip "Stoploss on Exchange" - Bybit (futures only) supports `stoploss_on_exchange` and uses `stop-loss-limit` orders. It provides great advantages, so we recommend to benefit from it by enabling stoploss on exchange. - On futures, Bybit supports both `stop-limit` as well as `stop-market` orders. You can use either `"limit"` or `"market"` in the `order_types.stoploss` configuration setting to decide which type to use. - ## Bitmart Bitmart requires the API key Memo (the name you give the API key) to go along with the exchange key and secret. @@ -328,6 +331,26 @@ It's therefore required to pass the UID as well. !!! Warning "Necessary Verification" Bitmart requires Verification Lvl2 to successfully trade on the spot market through the API - even though trading via UI works just fine with just Lvl1 verification. +## Bitget + +Bitget requires a passphrase for each api key, you will therefore need to add this key into the configuration so your exchange section looks as follows: + +```json +"exchange": { + "name": "bitget", + "key": "your_exchange_key", + "secret": "your_exchange_secret", + "password": "your_exchange_api_key_password", + // ... +} +``` + +Bitget supports [time_in_force](configuration.md#understand-order_time_in_force) with settings "GTC" (good till cancelled), "FOK" (full-or-cancel), "IOC" (immediate-or-cancel) and "PO" (Post only) settings. + +!!! Tip "Stoploss on Exchange" + Bitget supports `stoploss_on_exchange` and can use both stop-loss-market and stop-loss-limit orders. It provides great advantages, so we recommend to benefit from it. + You can use either `"limit"` or `"market"` in the `order_types.stoploss` configuration setting to decide which type of stoploss shall be used. + ## Hyperliquid !!! Tip "Stoploss on Exchange" diff --git a/docs/includes/pairlists.md b/docs/includes/pairlists.md index 32b97605c..32e669065 100644 --- a/docs/includes/pairlists.md +++ b/docs/includes/pairlists.md @@ -389,6 +389,8 @@ The `refresh_period` setting defines the interval (in seconds) at which the mark The `categories` setting specifies the [coingecko categories](https://www.coingecko.com/en/categories) from which to select coins from. The default is an empty list `[]`, meaning no category filtering is applied. If an incorrect category string is chosen, the plugin will print the available categories from CoinGecko and fail. The category should be the ID of the category, for example, for `https://www.coingecko.com/en/categories/layer-1`, the category ID would be `layer-1`. You can pass multiple categories such as `["layer-1", "meme-token"]` to select from several categories. +Coins like 1000PEPE/USDT or KPEPE/USDT:USDT are detected on a best effort basis, with the prefixes `1000` and `K` being used to identify them. + !!! Warning "Many categories" Each added category corresponds to one API call to CoinGecko. The more categories you add, the longer the pairlist generation will take, potentially causing rate limit issues. diff --git a/docs/index.md b/docs/index.md index 839a32f58..7276432da 100644 --- a/docs/index.md +++ b/docs/index.md @@ -3,7 +3,6 @@ [![Freqtrade CI](https://github.com/freqtrade/freqtrade/actions/workflows/ci.yml/badge.svg?branch=develop)](https://github.com/freqtrade/freqtrade/actions/) [![DOI](https://joss.theoj.org/papers/10.21105/joss.04864/status.svg)](https://doi.org/10.21105/joss.04864) [![Coverage Status](https://coveralls.io/repos/github/freqtrade/freqtrade/badge.svg?branch=develop&service=github)](https://coveralls.io/github/freqtrade/freqtrade?branch=develop) -[![Maintainability](https://api.codeclimate.com/v1/badges/5737e6d668200b7518ff/maintainability)](https://codeclimate.com/github/freqtrade/freqtrade/maintainability) [:octicons-star-16: Star](https://github.com/freqtrade/freqtrade){ .md-button .md-button--sm } diff --git a/docs/installation.md b/docs/installation.md index 564b87dfb..3efe6593f 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -46,7 +46,6 @@ These requirements apply to both [Script Installation](#script-installation) and * [pip](https://pip.pypa.io/en/stable/installing/) * [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) * [virtualenv](https://virtualenv.pypa.io/en/stable/installation.html) (Recommended) -* [TA-Lib](https://ta-lib.github.io/ta-lib-python/) (install instructions [below](#install-ta-lib)) ### Install code @@ -201,35 +200,6 @@ This option will hard reset your branch (only if you are on either `stable` or ` Make sure you fulfill the [Requirements](#requirements) and have downloaded the [Freqtrade repository](#freqtrade-repository). -### Install TA-Lib - -#### TA-Lib script installation - -```bash -sudo ./build_helpers/install_ta-lib.sh -``` - -!!! Note - This will use the ta-lib tar.gz included in this repository. - -##### TA-Lib manual installation - -[Official installation guide](https://ta-lib.github.io/ta-lib-python/install.html) - -```bash -wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz -tar xvzf ta-lib-0.4.0-src.tar.gz -cd ta-lib -sed -i.bak "s|0.00000001|0.000000000000000001 |g" src/ta_func/ta_utility.h -./configure --prefix=/usr/local -make -sudo make install -# On debian based systems (debian, ubuntu, ...) - updating ldconfig might be necessary. -sudo ldconfig -cd .. -rm -rf ./ta-lib* -``` - ### Setup Python virtual environment (virtualenv) You will run freqtrade in separated `virtual environment` @@ -332,16 +302,6 @@ python3 -m pip install -r requirements.txt python3 -m pip install -e . ``` -Patch conda libta-lib (Linux only) - -```bash -# Ensure that the environment is active! -conda activate freqtrade - -cd build_helpers -bash install_ta-lib.sh ${CONDA_PREFIX} nosudo -``` - [You are now ready](#you-are-ready) to run the bot. ### Important shortcuts diff --git a/docs/lookahead-analysis.md b/docs/lookahead-analysis.md index 126135862..d8fb8b7bb 100644 --- a/docs/lookahead-analysis.md +++ b/docs/lookahead-analysis.md @@ -38,7 +38,7 @@ Many strategies, without the programmer knowing, have fallen prey to lookahead b This typically makes the strategy backtest look profitable, sometimes to extremes, but this is not realistic as the strategy is "cheating" by looking at data it would not have in dry or live modes. The reason why strategies can "cheat" is because the freqtrade backtesting process populates the full dataframe including all candle timestamps at the outset. -If the programmer is not careful or oblivious how things work internally +If the programmer is not careful or oblivious how things work internally (which sometimes can be really hard to find out) then the strategy will look into the future. This command is made to try to verify the validity in the form of the aforementioned lookahead bias. @@ -50,8 +50,7 @@ After this initial backtest runs, it will look if the `minimum-trade-amount` is If this happens, use a wider timerange to get more trades for the analysis, or use a timerange where more trades occur. After setting the baseline it will then do additional backtest runs for every entry and exit separately. -When these verification backtests complete, it will compare the indicators at the signal candles (both entry or exit) -and report the bias. +When these verification backtests complete, it will compare both dataframes (baseline and sliced) for any difference in columns' value and report the bias. After all signals have been verified or falsified a result table will be generated for the user to see. ### How to find and remove bias? How can I salvage a biased strategy? @@ -98,8 +97,8 @@ If the strategy has many different signals / signal types, it's up to you to sel This would lead to a false-negative, i.e. the strategy will be reported as non-biased. - `lookahead-analysis` has access to the same backtesting options and this can introduce problems. Please don't use any options like enabling position stacking as this will distort the number of checked signals. -If you decide to do so, then make doubly sure that you won't ever run out of `max_open_trades` slots, +If you decide to do so, then make doubly sure that you won't ever run out of `max_open_trades` slots, and that you have enough capital in the backtest wallet configuration. -- In the results table, the `biased_indicators` column +- In the results table, the `biased_indicators` column will falsely flag FreqAI target indicators defined in `set_freqai_targets()` as biased. **These are not biased and can safely be ignored.** diff --git a/docs/requirements-docs.txt b/docs/requirements-docs.txt index 87d6f4406..71df421fc 100644 --- a/docs/requirements-docs.txt +++ b/docs/requirements-docs.txt @@ -1,7 +1,7 @@ markdown==3.8.2 mkdocs==1.6.1 -mkdocs-material==9.6.16 +mkdocs-material==9.6.18 mdx_truly_sane_lists==1.3 -pymdown-extensions==10.16 +pymdown-extensions==10.16.1 jinja2==3.1.6 mike==2.1.3 diff --git a/docs/stoploss.md b/docs/stoploss.md index bb7a2003f..f1a1e487d 100644 --- a/docs/stoploss.md +++ b/docs/stoploss.md @@ -31,6 +31,7 @@ The Order-type will be ignored if only one mode is available. | Binance | limit | | Binance Futures | market, limit | | Bingx | market, limit | +| Bitget | market, limit | | HTX | limit | | kraken | market, limit | | Gate | limit | diff --git a/docs/stylesheets/ft.extra.css b/docs/stylesheets/ft.extra.css index 398610d4f..a921027f6 100644 --- a/docs/stylesheets/ft.extra.css +++ b/docs/stylesheets/ft.extra.css @@ -47,3 +47,8 @@ border-color: #afb8c1; box-shadow: inset 0 1px 0 rgba(175, 184, 193, 0.2); } + +.md-grid { + /* default is max-width: 61rem; */ + max-width: 75rem; +} diff --git a/docs/updating.md b/docs/updating.md index bfe539284..5ffd9bd2c 100644 --- a/docs/updating.md +++ b/docs/updating.md @@ -42,7 +42,3 @@ freqtrade install-ui Update-problems usually come missing dependencies (you didn't follow the above instructions) - or from updated dependencies, which fail to install (for example TA-lib). Please refer to the corresponding installation sections (common problems linked below) - -Common problems and their solutions: - -* [ta-lib update on windows](windows_installation.md#install-ta-lib) diff --git a/docs/windows_installation.md b/docs/windows_installation.md index 35a3d4441..51facfb58 100644 --- a/docs/windows_installation.md +++ b/docs/windows_installation.md @@ -38,30 +38,6 @@ cd freqtrade !!! Hint Using the [Anaconda Distribution](https://www.anaconda.com/distribution/) under Windows can greatly help with installation problems. Check out the [Anaconda installation section](installation.md#installation-with-conda) in the documentation for more information. -### Install ta-lib - -Install ta-lib according to the [ta-lib documentation](https://github.com/TA-Lib/ta-lib-python#windows). - -As compiling from source on windows has heavy dependencies (requires a partial visual studio installation), Freqtrade provides these dependencies (in the binary wheel format) for the latest 3 Python versions (3.11, 3.12 and 3.13) and for 64bit Windows. -These Wheels are also used by CI running on windows, and are therefore tested together with freqtrade. - -Other versions must be downloaded from the above link. - -``` powershell -cd \path\freqtrade -python -m venv .venv -.venv\Scripts\activate.ps1 -# optionally install ta-lib from wheel -# Eventually adjust the below filename to match the downloaded wheel -pip install --find-links build_helpers\ TA-Lib -U -pip install -r requirements.txt -pip install -e . -freqtrade -``` - -!!! Note "Use Powershell" - The above installation script assumes you're using powershell on a 64bit windows. - Commands for the legacy CMD windows console may differ. ### Error during installation on Windows diff --git a/freqtrade/__init__.py b/freqtrade/__init__.py index 0f741ae2e..12e87dd73 100644 --- a/freqtrade/__init__.py +++ b/freqtrade/__init__.py @@ -1,6 +1,6 @@ """Freqtrade bot""" -__version__ = "2025.7" +__version__ = "2025.8" if "dev" in __version__: from pathlib import Path diff --git a/freqtrade/commands/analyze_commands.py b/freqtrade/commands/analyze_commands.py index d76abd1ef..e9140e82d 100644 --- a/freqtrade/commands/analyze_commands.py +++ b/freqtrade/commands/analyze_commands.py @@ -17,7 +17,7 @@ def start_analysis_entries_exits(args: dict[str, Any]) -> None: from freqtrade.data.entryexitanalysis import process_entry_exit_reasons # Initialize configuration - config = setup_utils_configuration(args, RunMode.BACKTEST) + config = setup_utils_configuration(args, RunMode.UTIL_NO_EXCHANGE) logger.info("Starting freqtrade in analysis mode") diff --git a/freqtrade/commands/arguments.py b/freqtrade/commands/arguments.py index b1225ab0a..f96148e3c 100755 --- a/freqtrade/commands/arguments.py +++ b/freqtrade/commands/arguments.py @@ -54,6 +54,7 @@ ARGS_BACKTEST = [ "strategy_list", "export", "exportfilename", + "exportdirectory", "backtest_breakdown", "backtest_cache", "freqai_backtest_live_models", @@ -94,9 +95,14 @@ ARGS_LIST_FREQAIMODELS = ["freqaimodel_path", "print_one_column"] ARGS_LIST_HYPEROPTS = ["hyperopt_path", "print_one_column"] -ARGS_BACKTEST_SHOW = ["exportfilename", "backtest_show_pair_list", "backtest_breakdown"] +ARGS_BACKTEST_SHOW = [ + "exportfilename", + "exportdirectory", + "backtest_show_pair_list", + "backtest_breakdown", +] -ARGS_LIST_EXCHANGES = ["print_one_column", "list_exchanges_all"] +ARGS_LIST_EXCHANGES = ["print_one_column", "list_exchanges_all", "trading_mode", "dex_exchanges"] ARGS_LIST_TIMEFRAMES = ["exchange", "print_one_column"] @@ -233,6 +239,7 @@ ARGS_HYPEROPT_SHOW = [ ARGS_ANALYZE_ENTRIES_EXITS = [ "exportfilename", + "exportdirectory", "analysis_groups", "enter_reason_list", "exit_reason_list", diff --git a/freqtrade/commands/cli_options.py b/freqtrade/commands/cli_options.py index 45e50b2ce..b4641597d 100755 --- a/freqtrade/commands/cli_options.py +++ b/freqtrade/commands/cli_options.py @@ -199,22 +199,29 @@ AVAILABLE_CLI_OPTIONS = { "(so `backtest-data.json` becomes `backtest-data-SampleStrategy.json`", nargs="+", ), - "export": Arg( - "--export", - help="Export backtest results (default: trades).", - choices=constants.EXPORT_OPTIONS, - ), "backtest_notes": Arg( "--notes", help="Add notes to the backtest results.", metavar="TEXT", ), + "export": Arg( + "--export", + help="Export backtest results (default: trades).", + choices=constants.EXPORT_OPTIONS, + ), + "exportdirectory": Arg( + "--backtest-directory", + "--export-directory", + help="Directory to use for backtest results. " + "Example: `--export-directory=user_data/backtest_results/`. ", + metavar="PATH", + ), "exportfilename": Arg( - "--export-filename", "--backtest-filename", + "--export-filename", help="Use this filename for backtest results." - "Requires `--export` to be set as well. " - "Example: `--export-filename=user_data/backtest_results/backtest_today.json`", + "Example: `--backtest-filename=backtest_results_2020-09-27_16-20-48.json`. " + "Assumes either `user_data/backtest_results/` or `--export-directory` as base directory.", metavar="PATH", ), "disableparamexport": Arg( @@ -369,6 +376,11 @@ AVAILABLE_CLI_OPTIONS = { help="Print all exchanges known to the ccxt library.", action="store_true", ), + "dex_exchanges": Arg( + "--dex-exchanges", + help="Print only DEX exchanges.", + action="store_true", + ), # List pairs / markets "list_pairs_all": Arg( "-a", diff --git a/freqtrade/commands/data_commands.py b/freqtrade/commands/data_commands.py index 756c5a287..97f100a45 100644 --- a/freqtrade/commands/data_commands.py +++ b/freqtrade/commands/data_commands.py @@ -6,7 +6,7 @@ from typing import Any from freqtrade.constants import DATETIME_PRINT_FORMAT, DL_DATA_TIMEFRAMES, Config from freqtrade.enums import CandleType, RunMode, TradingMode from freqtrade.exceptions import ConfigurationError -from freqtrade.plugins.pairlist.pairlist_helpers import dynamic_expand_pairlist +from freqtrade.plugins.pairlist.pairlist_helpers import dynamic_expand_pairlist, expand_pairlist logger = logging.getLogger(__name__) @@ -134,7 +134,8 @@ def start_list_data(args: dict[str, Any]) -> None: config["datadir"], config.get("trading_mode", TradingMode.SPOT) ) if args["pairs"]: - paircombs = [comb for comb in paircombs if comb[0] in args["pairs"]] + pl = expand_pairlist(args["pairs"], [p[0] for p in paircombs], keep_invalid=True) + paircombs = [comb for comb in paircombs if comb[0] in pl] title = f"Found {len(paircombs)} pair / timeframe combinations." if not config.get("show_timerange"): groupedpair = defaultdict(list) @@ -197,7 +198,8 @@ def start_list_trades_data(args: dict[str, Any]) -> None: ) if args["pairs"]: - paircombs = [comb for comb in paircombs if comb in args["pairs"]] + pl = expand_pairlist(args["pairs"], [p for p in paircombs], keep_invalid=True) + paircombs = [comb for comb in paircombs if comb in pl] title = f"Found trades data for {len(paircombs)} {plural(len(paircombs), 'pair')}." if not config.get("show_timerange"): diff --git a/freqtrade/commands/list_commands.py b/freqtrade/commands/list_commands.py index 6a1ca819d..4bd2c0270 100644 --- a/freqtrade/commands/list_commands.py +++ b/freqtrade/commands/list_commands.py @@ -46,7 +46,18 @@ def start_list_exchanges(args: dict[str, Any]) -> None: table.add_column("Markets") table.add_column("Reason") + trading_mode = args.get("trading_mode", None) + dex_only = args.get("dex_exchanges", False) + for exchange in available_exchanges: + if trading_mode and not any( + a["trading_mode"] == trading_mode for a in exchange["trade_modes"] + ): + # If trading_mode is specified, only show exchanges that support it + continue + if dex_only and not exchange.get("dex", False): + # If dex_only is specified, only show DEX exchanges + continue name = Text(exchange["name"]) if exchange["supported"]: name.append(" (Supported)", style="italic") @@ -135,6 +146,9 @@ def start_list_strategies(args: dict[str, Any]) -> None: strategy_objs = StrategyResolver.search_all_objects( config, not args["print_one_column"], config.get("recursive_strategy_search", False) ) + if not strategy_objs: + logger.warning("No strategies found.") + return # Sort alphabetically strategy_objs = sorted(strategy_objs, key=lambda x: x["name"]) for obj in strategy_objs: diff --git a/freqtrade/commands/optimize_commands.py b/freqtrade/commands/optimize_commands.py index 5ec3dfe01..7ddbf8af3 100644 --- a/freqtrade/commands/optimize_commands.py +++ b/freqtrade/commands/optimize_commands.py @@ -72,7 +72,7 @@ def start_backtesting_show(args: dict[str, Any]) -> None: from freqtrade.data.btanalysis import load_backtest_stats from freqtrade.optimize.optimize_reports import show_backtest_results, show_sorted_pairlist - results = load_backtest_stats(config["exportfilename"]) + results = load_backtest_stats(config["exportdirectory"], config["exportfilename"]) show_backtest_results(config, results) show_sorted_pairlist(config, results) diff --git a/freqtrade/config_schema/config_schema.py b/freqtrade/config_schema/config_schema.py index a75737c1c..8274c161b 100644 --- a/freqtrade/config_schema/config_schema.py +++ b/freqtrade/config_schema/config_schema.py @@ -157,6 +157,16 @@ CONF_SCHEMA = { "description": f"Offset for profit exit. {__IN_STRATEGY}", "type": "number", }, + "recursive_strategy_search": { + "description": "Enable recursive strategy search.", + "type": "boolean", + }, + "user_data_dir": { + "description": "Path to the user data directory.", + }, + "datadir": { + "description": "Path to the data directory.", + }, "fee": { "description": "Trading fee percentage. Can help to simulate slippage in backtesting", "type": "number", @@ -443,6 +453,7 @@ CONF_SCHEMA = { "pairlists": { "description": "Configuration for pairlists.", "type": "array", + "minItems": 1, "items": { "type": "object", "properties": { @@ -1371,6 +1382,7 @@ SCHEMA_TRADE_REQUIRED = [ "entry_pricing", "stoploss", "minimal_roi", + "pairlists", "internals", "dataformat_ohlcv", "dataformat_trades", @@ -1380,6 +1392,7 @@ SCHEMA_BACKTEST_REQUIRED = [ "exchange", "stake_currency", "stake_amount", + "pairlists", "dry_run_wallet", "dataformat_ohlcv", "dataformat_trades", diff --git a/freqtrade/configuration/config_validation.py b/freqtrade/configuration/config_validation.py index 49e1f2649..4c14d3d4b 100644 --- a/freqtrade/configuration/config_validation.py +++ b/freqtrade/configuration/config_validation.py @@ -66,7 +66,8 @@ def validate_config_schema(conf: dict[str, Any], preliminary: bool = False) -> d return conf except ValidationError as e: logger.critical(f"Invalid configuration. Reason: {e}") - raise ValidationError(best_match(Draft4Validator(conf_schema).iter_errors(conf)).message) + result = best_match(FreqtradeValidator(conf_schema).iter_errors(conf)) + raise ConfigurationError(result.message) def validate_config_consistency(conf: dict[str, Any], *, preliminary: bool = False) -> None: diff --git a/freqtrade/configuration/configuration.py b/freqtrade/configuration/configuration.py index c5e9b56e9..5f1715d9a 100644 --- a/freqtrade/configuration/configuration.py +++ b/freqtrade/configuration/configuration.py @@ -84,9 +84,6 @@ class Configuration: if "internals" not in config: config["internals"] = {} - if "pairlists" not in config: - config["pairlists"] = [] - # Keep a copy of the original configuration file config["original_config"] = deepcopy(config) @@ -212,13 +209,28 @@ class Configuration: config.update({"datadir": create_datadir(config, self.args.get("datadir"))}) logger.info("Using data directory: %s ...", config.get("datadir")) + self._args_to_config( + config, argname="exportdirectory", logstring="Using {} as backtest directory ..." + ) + if self.args.get("exportfilename"): self._args_to_config( config, argname="exportfilename", logstring="Storing backtest results to {} ..." ) config["exportfilename"] = Path(config["exportfilename"]) - else: - config["exportfilename"] = config["user_data_dir"] / "backtest_results" + if config.get("exportdirectory") and Path(config["exportdirectory"]).is_dir(): + logger.warning( + "DEPRECATED: Using `--export-filename` with directories is deprecated, " + "use `--backtest-directory` instead." + ) + if config.get("exportdirectory") is None: + # Fallback - assign export-directory directly. + config["exportdirectory"] = config["exportfilename"] + if not config.get("exportdirectory"): + config["exportdirectory"] = config["user_data_dir"] / "backtest_results" + if not config.get("exportfilename"): + config["exportfilename"] = None + config["exportdirectory"] = Path(config["exportdirectory"]) if self.args.get("show_sensitive"): logger.warning( diff --git a/freqtrade/data/btanalysis/__init__.py b/freqtrade/data/btanalysis/__init__.py index 1889429f6..2253a45ae 100644 --- a/freqtrade/data/btanalysis/__init__.py +++ b/freqtrade/data/btanalysis/__init__.py @@ -16,10 +16,7 @@ from .bt_fileutils import ( load_backtest_data, load_backtest_metadata, load_backtest_stats, - load_exit_signal_candles, load_file_from_zip, - load_rejected_signals, - load_signal_candles, load_trades, load_trades_from_db, trade_list_to_dataframe, diff --git a/freqtrade/data/btanalysis/bt_fileutils.py b/freqtrade/data/btanalysis/bt_fileutils.py index d6957b792..ea9c993fb 100644 --- a/freqtrade/data/btanalysis/bt_fileutils.py +++ b/freqtrade/data/btanalysis/bt_fileutils.py @@ -155,33 +155,55 @@ def load_backtest_metadata(filename: Path | str) -> dict[str, Any]: raise OperationalException("Unexpected error while loading backtest metadata.") from e -def load_backtest_stats(filename: Path | str) -> BacktestResultType: +def _normalize_filename(file_or_directory: Path | str, filename: Path | str | None) -> Path: + """ + Normalize the filename by ensuring it is a Path object. + :param file_or_directory: The directory or file to normalize. + :param filename: The filename to normalize. + :return: A Path object representing the normalized filename. + """ + if isinstance(file_or_directory, str): + file_or_directory = Path(file_or_directory) + if file_or_directory.is_dir(): + if not filename: + filename = get_latest_backtest_filename(file_or_directory) + if Path(filename).is_file(): + fn = Path(filename) + else: + fn = file_or_directory / filename + else: + fn = file_or_directory + return fn + + +def load_backtest_stats( + file_or_directory: Path | str, filename: Path | str | None = None +) -> BacktestResultType: """ Load backtest statistics file. - :param filename: pathlib.Path object, or string pointing to the file. + :param file_or_directory: pathlib.Path object, or string pointing to the directory, + or absolute/relative path to the backtest results file. + :param filename: Optional filename to load from (if different from the main filename). + Only valid when loading from a directory. :return: a dictionary containing the resulting file. """ - if isinstance(filename, str): - filename = Path(filename) - if filename.is_dir(): - filename = filename / get_latest_backtest_filename(filename) - if not filename.is_file(): - raise ValueError(f"File {filename} does not exist.") - logger.info(f"Loading backtest result from {filename}") + fn = _normalize_filename(file_or_directory, filename) - if filename.suffix == ".zip": + if not fn.is_file(): + raise ValueError(f"File or directory {fn} does not exist.") + logger.info(f"Loading backtest result from {fn}") + + if fn.suffix == ".zip": data = json_load( - StringIO( - load_file_from_zip(filename, filename.with_suffix(".json").name).decode("utf-8") - ) + StringIO(load_file_from_zip(fn, fn.with_suffix(".json").name).decode("utf-8")) ) else: - with filename.open() as file: + with fn.open() as file: data = json_load(file) # Legacy list format does not contain metadata. if isinstance(data, dict): - data["metadata"] = load_backtest_metadata(filename) + data["metadata"] = load_backtest_metadata(fn) return data @@ -362,16 +384,21 @@ def _load_backtest_data_df_compatibility(df: pd.DataFrame) -> pd.DataFrame: return df -def load_backtest_data(filename: Path | str, strategy: str | None = None) -> pd.DataFrame: +def load_backtest_data( + file_or_directory: Path | str, strategy: str | None = None, filename: Path | str | None = None +) -> pd.DataFrame: """ - Load backtest data file. - :param filename: pathlib.Path object, or string pointing to a file or directory + Load backtest data file, returns a dataframe with the individual trades. + :param file_or_directory: pathlib.Path object, or string pointing to the directory, + or absolute/relative path to the backtest results file. :param strategy: Strategy to load - mainly relevant for multi-strategy backtests Can also serve as protection to load the correct result. + :param filename: Optional filename to load from (if different from the main filename). + Only valid when loading from a directory. :return: a dataframe with the analysis results :raise: ValueError if loading goes wrong. """ - data = load_backtest_stats(filename) + data = load_backtest_stats(file_or_directory, filename) if not isinstance(data, list): # new, nested format if "strategy" not in data: @@ -430,20 +457,23 @@ def load_file_from_zip(zip_path: Path, filename: str) -> bytes: raise ValueError(f"Bad zip file: {zip_path}.") from None -def load_backtest_analysis_data(backtest_dir: Path, name: str): +def load_backtest_analysis_data( + file_or_directory: Path, + name: Literal["signals", "rejected", "exited"], + filename: Path | str | None = None, +): """ Load backtest analysis data either from a pickle file or from within a zip file - :param backtest_dir: Directory containing backtest results + :param file_or_directory: pathlib.Path object, or string pointing to the directory, + or absolute/relative path to the backtest results file. :param name: Name of the analysis data to load (signals, rejected, exited) + :param filename: Optional filename to load from (if different from the main filename). + Only valid when loading from a directory. :return: Analysis data """ import joblib - if backtest_dir.is_dir(): - lbf = Path(get_latest_backtest_filename(backtest_dir)) - zip_path = backtest_dir / lbf - else: - zip_path = backtest_dir + zip_path = _normalize_filename(file_or_directory, filename) if zip_path.suffix == ".zip": # Load from zip file @@ -458,10 +488,10 @@ def load_backtest_analysis_data(backtest_dir: Path, name: str): else: # Load from separate pickle file - if backtest_dir.is_dir(): - scpf = Path(backtest_dir, f"{zip_path.stem}_{name}.pkl") + if file_or_directory.is_dir(): + scpf = Path(file_or_directory, f"{zip_path.stem}_{name}.pkl") else: - scpf = Path(backtest_dir.parent / f"{backtest_dir.stem}_{name}.pkl") + scpf = Path(file_or_directory.parent / f"{file_or_directory.stem}_{name}.pkl") try: with scpf.open("rb") as scp: @@ -473,27 +503,6 @@ def load_backtest_analysis_data(backtest_dir: Path, name: str): return None -def load_rejected_signals(backtest_dir: Path): - """ - Load rejected signals from backtest directory - """ - return load_backtest_analysis_data(backtest_dir, "rejected") - - -def load_signal_candles(backtest_dir: Path): - """ - Load signal candles from backtest directory - """ - return load_backtest_analysis_data(backtest_dir, "signals") - - -def load_exit_signal_candles(backtest_dir: Path) -> dict[str, dict[str, pd.DataFrame]]: - """ - Load exit signal candles from backtest directory - """ - return load_backtest_analysis_data(backtest_dir, "exited") - - def trade_list_to_dataframe(trades: list[Trade] | list[LocalTrade]) -> pd.DataFrame: """ Convert list of Trade objects to pandas Dataframe diff --git a/freqtrade/data/btanalysis/historic_precision.py b/freqtrade/data/btanalysis/historic_precision.py index c8aa4fbee..9aa43fa6a 100644 --- a/freqtrade/data/btanalysis/historic_precision.py +++ b/freqtrade/data/btanalysis/historic_precision.py @@ -11,7 +11,7 @@ def get_tick_size_over_time(candles: DataFrame) -> Series: # count the number of significant digits for the open and close prices for col in ["open", "high", "low", "close"]: candles[f"{col}_count"] = ( - candles[col].round(14).astype(str).str.extract(r"\.(\d*[1-9])")[0].str.len() + candles[col].round(14).apply("{:.15f}".format).str.extract(r"\.(\d*[1-9])")[0].str.len() ) candles["max_count"] = candles[["open_count", "close_count", "high_count", "low_count"]].max( axis=1 diff --git a/freqtrade/data/entryexitanalysis.py b/freqtrade/data/entryexitanalysis.py index 0a9d5bc44..1509fade7 100644 --- a/freqtrade/data/entryexitanalysis.py +++ b/freqtrade/data/entryexitanalysis.py @@ -7,11 +7,9 @@ from freqtrade.configuration import TimeRange from freqtrade.constants import Config from freqtrade.data.btanalysis import ( BT_DATA_COLUMNS, + load_backtest_analysis_data, load_backtest_data, load_backtest_stats, - load_exit_signal_candles, - load_rejected_signals, - load_signal_candles, ) from freqtrade.exceptions import ConfigurationError, OperationalException from freqtrade.util import print_df_rich_table @@ -332,7 +330,7 @@ def process_entry_exit_reasons(config: Config): do_rejected = config.get("analysis_rejected", False) to_csv = config.get("analysis_to_csv", False) csv_path = Path( - config.get("analysis_csv_path", config["exportfilename"]), # type: ignore[arg-type] + config.get("analysis_csv_path", config["exportdirectory"]), # type: ignore[arg-type] ) if entry_only is True and exit_only is True: @@ -346,20 +344,30 @@ def process_entry_exit_reasons(config: Config): None if config.get("timerange") is None else str(config.get("timerange")) ) try: - backtest_stats = load_backtest_stats(config["exportfilename"]) + backtest_stats = load_backtest_stats( + config["exportdirectory"], config["exportfilename"] + ) except ValueError as e: raise ConfigurationError(e) from e for strategy_name, results in backtest_stats["strategy"].items(): - trades = load_backtest_data(config["exportfilename"], strategy_name) + trades = load_backtest_data( + config["exportdirectory"], strategy_name, config["exportfilename"] + ) if trades is not None and not trades.empty: - signal_candles = load_signal_candles(config["exportfilename"]) - exit_signals = load_exit_signal_candles(config["exportfilename"]) + signal_candles = load_backtest_analysis_data( + config["exportdirectory"], "signals", config["exportfilename"] + ) + exit_signals = load_backtest_analysis_data( + config["exportdirectory"], "exited", config["exportfilename"] + ) rej_df = None if do_rejected: - rejected_signals_dict = load_rejected_signals(config["exportfilename"]) + rejected_signals_dict = load_backtest_analysis_data( + config["exportdirectory"], "rejected", config["exportfilename"] + ) rej_df = prepare_results( rejected_signals_dict, strategy_name, diff --git a/freqtrade/data/history/history_utils.py b/freqtrade/data/history/history_utils.py index 9fd254057..9cb14e3e0 100644 --- a/freqtrade/data/history/history_utils.py +++ b/freqtrade/data/history/history_utils.py @@ -97,7 +97,7 @@ def load_data( """ result: dict[str, DataFrame] = {} if startup_candles > 0 and timerange: - logger.info(f"Using indicator startup period: {startup_candles} ...") + logger.debug(f"Using indicator startup period: {startup_candles} ...") data_handler = get_datahandler(datadir, data_format) diff --git a/freqtrade/exchange/__init__.py b/freqtrade/exchange/__init__.py index 36aadcad1..031a6e897 100644 --- a/freqtrade/exchange/__init__.py +++ b/freqtrade/exchange/__init__.py @@ -6,6 +6,7 @@ from freqtrade.exchange.exchange import Exchange # isort: on from freqtrade.exchange.binance import Binance from freqtrade.exchange.bingx import Bingx +from freqtrade.exchange.bitget import Bitget from freqtrade.exchange.bitmart import Bitmart from freqtrade.exchange.bitpanda import Bitpanda from freqtrade.exchange.bitvavo import Bitvavo @@ -45,4 +46,4 @@ from freqtrade.exchange.kucoin import Kucoin from freqtrade.exchange.lbank import Lbank from freqtrade.exchange.luno import Luno from freqtrade.exchange.modetrade import Modetrade -from freqtrade.exchange.okx import Okx +from freqtrade.exchange.okx import MyOkx, Okx diff --git a/freqtrade/exchange/binance.py b/freqtrade/exchange/binance.py index 1a6bcc18f..67ae53997 100644 --- a/freqtrade/exchange/binance.py +++ b/freqtrade/exchange/binance.py @@ -45,7 +45,6 @@ class Binance(Exchange): "funding_fee_candle_limit": 1000, "stoploss_order_types": {"limit": "stop", "market": "stop_market"}, "stoploss_blocks_assets": False, # Stoploss orders do not block assets - "order_time_in_force": ["GTC", "FOK", "IOC"], "tickers_have_price": False, "floor_leverage": True, "fetch_orders_limit_minutes": 7 * 1440, # "fetch_orders" is limited to 7 days diff --git a/freqtrade/exchange/binance_leverage_tiers.json b/freqtrade/exchange/binance_leverage_tiers.json index 07fa1c438..f878a09bd 100644 --- a/freqtrade/exchange/binance_leverage_tiers.json +++ b/freqtrade/exchange/binance_leverage_tiers.json @@ -23,15 +23,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -39,71 +39,54 @@ "symbol": "1000000BOB/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "1000000BOB/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "1000000BOB/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "1000000BOB/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "1000000BOB/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -111,16 +94,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "1000000BOB/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -128,16 +111,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "1000000BOB/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -145,12 +128,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -2450,15 +2433,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -2466,71 +2449,54 @@ "symbol": "1000X/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "1000X/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "1000X/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "1000X/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "1000X/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -2538,16 +2504,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "1000X/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -2555,16 +2521,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "1000X/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -2572,12 +2538,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -3619,13 +3585,13 @@ "symbol": "AAVE/USDT:USDT", "currency": "USDT", "minNotional": 0.0, - "maxNotional": 10000.0, + "maxNotional": 50000.0, "maintenanceMarginRate": 0.01, "maxLeverage": 75.0, "info": { "bracket": "1", "initialLeverage": "75", - "notionalCap": "10000", + "notionalCap": "50000", "notionalFloor": "0", "maintMarginRatio": "0.01", "cum": "0.0" @@ -3635,41 +3601,41 @@ "tier": 2.0, "symbol": "AAVE/USDT:USDT", "currency": "USDT", - "minNotional": 10000.0, - "maxNotional": 60000.0, + "minNotional": 50000.0, + "maxNotional": 150000.0, "maintenanceMarginRate": 0.015, "maxLeverage": 50.0, "info": { "bracket": "2", "initialLeverage": "50", - "notionalCap": "60000", - "notionalFloor": "10000", + "notionalCap": "150000", + "notionalFloor": "50000", "maintMarginRatio": "0.015", - "cum": "50.0" + "cum": "250.0" } }, { "tier": 3.0, "symbol": "AAVE/USDT:USDT", "currency": "USDT", - "minNotional": 60000.0, - "maxNotional": 300000.0, + "minNotional": 150000.0, + "maxNotional": 500000.0, "maintenanceMarginRate": 0.02, "maxLeverage": 25.0, "info": { "bracket": "3", "initialLeverage": "25", - "notionalCap": "300000", - "notionalFloor": "60000", + "notionalCap": "500000", + "notionalFloor": "150000", "maintMarginRatio": "0.02", - "cum": "350.0" + "cum": "1000.0" } }, { "tier": 4.0, "symbol": "AAVE/USDT:USDT", "currency": "USDT", - "minNotional": 300000.0, + "minNotional": 500000.0, "maxNotional": 600000.0, "maintenanceMarginRate": 0.025, "maxLeverage": 20.0, @@ -3677,9 +3643,9 @@ "bracket": "4", "initialLeverage": "20", "notionalCap": "600000", - "notionalFloor": "300000", + "notionalFloor": "500000", "maintMarginRatio": "0.025", - "cum": "1850.0" + "cum": "3500.0" } }, { @@ -3696,7 +3662,7 @@ "notionalCap": "3000000", "notionalFloor": "600000", "maintMarginRatio": "0.05", - "cum": "16850.0" + "cum": "18500.0" } }, { @@ -3713,7 +3679,7 @@ "notionalCap": "6000000", "notionalFloor": "3000000", "maintMarginRatio": "0.1", - "cum": "166850.0" + "cum": "168500.0" } }, { @@ -3730,7 +3696,7 @@ "notionalCap": "7500000", "notionalFloor": "6000000", "maintMarginRatio": "0.125", - "cum": "316850.0" + "cum": "318500.0" } }, { @@ -3747,7 +3713,7 @@ "notionalCap": "15000000", "notionalFloor": "7500000", "maintMarginRatio": "0.25", - "cum": "1254350.0" + "cum": "1256000.0" } }, { @@ -3764,7 +3730,7 @@ "notionalCap": "30000000", "notionalFloor": "15000000", "maintMarginRatio": "0.5", - "cum": "5004350.0" + "cum": "5006000.0" } } ], @@ -3792,15 +3758,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -3808,71 +3774,54 @@ "symbol": "ACE/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "ACE/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "ACE/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "ACE/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "ACE/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -3880,16 +3829,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "ACE/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -3897,16 +3846,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "ACE/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -3914,12 +3863,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -4101,13 +4050,13 @@ "symbol": "ACT/USDT:USDT", "currency": "USDT", "minNotional": 0.0, - "maxNotional": 5000.0, + "maxNotional": 1000.0, "maintenanceMarginRate": 0.01, "maxLeverage": 75.0, "info": { "bracket": "1", "initialLeverage": "75", - "notionalCap": "5000", + "notionalCap": "1000", "notionalFloor": "0", "maintMarginRatio": "0.01", "cum": "0.0" @@ -4117,109 +4066,109 @@ "tier": 2.0, "symbol": "ACT/USDT:USDT", "currency": "USDT", - "minNotional": 5000.0, - "maxNotional": 10000.0, + "minNotional": 1000.0, + "maxNotional": 5000.0, "maintenanceMarginRate": 0.015, "maxLeverage": 50.0, "info": { "bracket": "2", "initialLeverage": "50", - "notionalCap": "10000", - "notionalFloor": "5000", + "notionalCap": "5000", + "notionalFloor": "1000", "maintMarginRatio": "0.015", - "cum": "25.0" + "cum": "5.0" } }, { "tier": 3.0, "symbol": "ACT/USDT:USDT", "currency": "USDT", - "minNotional": 10000.0, - "maxNotional": 25000.0, + "minNotional": 5000.0, + "maxNotional": 9000.0, "maintenanceMarginRate": 0.02, "maxLeverage": 25.0, "info": { "bracket": "3", "initialLeverage": "25", - "notionalCap": "25000", - "notionalFloor": "10000", + "notionalCap": "9000", + "notionalFloor": "5000", "maintMarginRatio": "0.02", - "cum": "75.0" + "cum": "30.0" } }, { "tier": 4.0, "symbol": "ACT/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 50000.0, + "minNotional": 9000.0, + "maxNotional": 26000.0, "maintenanceMarginRate": 0.025, "maxLeverage": 20.0, "info": { "bracket": "4", "initialLeverage": "20", - "notionalCap": "50000", - "notionalFloor": "25000", + "notionalCap": "26000", + "notionalFloor": "9000", "maintMarginRatio": "0.025", - "cum": "200.0" + "cum": "75.0" } }, { "tier": 5.0, "symbol": "ACT/USDT:USDT", "currency": "USDT", - "minNotional": 50000.0, - "maxNotional": 125000.0, + "minNotional": 26000.0, + "maxNotional": 65000.0, "maintenanceMarginRate": 0.05, "maxLeverage": 10.0, "info": { "bracket": "5", "initialLeverage": "10", - "notionalCap": "125000", - "notionalFloor": "50000", + "notionalCap": "65000", + "notionalFloor": "26000", "maintMarginRatio": "0.05", - "cum": "1450.0" + "cum": "725.0" } }, { "tier": 6.0, "symbol": "ACT/USDT:USDT", "currency": "USDT", - "minNotional": 125000.0, - "maxNotional": 250000.0, + "minNotional": 65000.0, + "maxNotional": 138000.0, "maintenanceMarginRate": 0.1, "maxLeverage": 5.0, "info": { "bracket": "6", "initialLeverage": "5", - "notionalCap": "250000", - "notionalFloor": "125000", + "notionalCap": "138000", + "notionalFloor": "65000", "maintMarginRatio": "0.1", - "cum": "7700.0" + "cum": "3975.0" } }, { "tier": 7.0, "symbol": "ACT/USDT:USDT", "currency": "USDT", - "minNotional": 250000.0, - "maxNotional": 500000.0, + "minNotional": 138000.0, + "maxNotional": 360000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { "bracket": "7", "initialLeverage": "4", - "notionalCap": "500000", - "notionalFloor": "250000", + "notionalCap": "360000", + "notionalFloor": "138000", "maintMarginRatio": "0.125", - "cum": "13950.0" + "cum": "7425.0" } }, { "tier": 8.0, "symbol": "ACT/USDT:USDT", "currency": "USDT", - "minNotional": 500000.0, + "minNotional": 360000.0, "maxNotional": 4500000.0, "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, @@ -4227,9 +4176,9 @@ "bracket": "8", "initialLeverage": "3", "notionalCap": "4500000", - "notionalFloor": "500000", + "notionalFloor": "360000", "maintMarginRatio": "0.1667", - "cum": "34800.0" + "cum": "22437.0" } }, { @@ -4246,7 +4195,7 @@ "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "409650.0" + "cum": "397287.0" } }, { @@ -4263,7 +4212,7 @@ "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2284650.0" + "cum": "2272287.0" } } ], @@ -4944,13 +4893,13 @@ "symbol": "AERO/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, + "maxNotional": 50000.0, "maintenanceMarginRate": 0.02, "maxLeverage": 25.0, "info": { "bracket": "3", "initialLeverage": "25", - "notionalCap": "25000", + "notionalCap": "50000", "notionalFloor": "10000", "maintMarginRatio": "0.02", "cum": "75.0" @@ -4960,51 +4909,51 @@ "tier": 4.0, "symbol": "AERO/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 50000.0, + "minNotional": 50000.0, + "maxNotional": 100000.0, "maintenanceMarginRate": 0.025, "maxLeverage": 20.0, "info": { "bracket": "4", "initialLeverage": "20", - "notionalCap": "50000", - "notionalFloor": "25000", + "notionalCap": "100000", + "notionalFloor": "50000", "maintMarginRatio": "0.025", - "cum": "200.0" + "cum": "325.0" } }, { "tier": 5.0, "symbol": "AERO/USDT:USDT", "currency": "USDT", - "minNotional": 50000.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 100000.0, + "maxNotional": 175000.0, + "maintenanceMarginRate": 0.0333, + "maxLeverage": 15.0, "info": { "bracket": "5", - "initialLeverage": "10", - "notionalCap": "125000", - "notionalFloor": "50000", - "maintMarginRatio": "0.05", - "cum": "1450.0" + "initialLeverage": "15", + "notionalCap": "175000", + "notionalFloor": "100000", + "maintMarginRatio": "0.0333", + "cum": "1155.0" } }, { "tier": 6.0, "symbol": "AERO/USDT:USDT", "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 175000.0, "maxNotional": 250000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "6", - "initialLeverage": "5", + "initialLeverage": "10", "notionalCap": "250000", - "notionalFloor": "125000", - "maintMarginRatio": "0.1", - "cum": "7700.0" + "notionalFloor": "175000", + "maintMarginRatio": "0.05", + "cum": "4077.5" } }, { @@ -5012,54 +4961,71 @@ "symbol": "AERO/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, - "maxNotional": 500000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, + "maxNotional": 750000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "7", - "initialLeverage": "4", - "notionalCap": "500000", + "initialLeverage": "5", + "notionalCap": "750000", "notionalFloor": "250000", - "maintMarginRatio": "0.125", - "cum": "13950.0" + "maintMarginRatio": "0.1", + "cum": "16577.5" } }, { "tier": 8.0, "symbol": "AERO/USDT:USDT", "currency": "USDT", - "minNotional": 500000.0, - "maxNotional": 4500000.0, - "maintenanceMarginRate": 0.1667, - "maxLeverage": 3.0, + "minNotional": 750000.0, + "maxNotional": 1500000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "8", - "initialLeverage": "3", - "notionalCap": "4500000", - "notionalFloor": "500000", - "maintMarginRatio": "0.1667", - "cum": "34800.0" + "initialLeverage": "4", + "notionalCap": "1500000", + "notionalFloor": "750000", + "maintMarginRatio": "0.125", + "cum": "35327.5" } }, { "tier": 9.0, "symbol": "AERO/USDT:USDT", "currency": "USDT", + "minNotional": 1500000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "9", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "1500000", + "maintMarginRatio": "0.1667", + "cum": "97877.5" + } + }, + { + "tier": 10.0, + "symbol": "AERO/USDT:USDT", + "currency": "USDT", "minNotional": 4500000.0, "maxNotional": 7500000.0, "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "9", + "bracket": "10", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "409650.0" + "cum": "472727.5" } }, { - "tier": 10.0, + "tier": 11.0, "symbol": "AERO/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -5067,12 +5033,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "10", + "bracket": "11", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2284650.0" + "cum": "2347727.5" } } ], @@ -5531,15 +5497,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -5547,50 +5513,50 @@ "symbol": "AGT/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 50000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "50000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "AGT/USDT:USDT", "currency": "USDT", - "minNotional": 50000.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "125000", - "notionalFloor": "50000", - "maintMarginRatio": "0.05", - "cum": "1325.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "AGT/USDT:USDT", "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "5", - "initialLeverage": "5", + "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", - "maintMarginRatio": "0.1", - "cum": "7575.0" + "notionalFloor": "50000", + "maintMarginRatio": "0.125", + "cum": "2550.0" } }, { @@ -5598,37 +5564,20 @@ "symbol": "AGT/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, - "maxNotional": 500000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, - "info": { - "bracket": "6", - "initialLeverage": "4", - "notionalCap": "500000", - "notionalFloor": "250000", - "maintMarginRatio": "0.125", - "cum": "13825.0" - } - }, - { - "tier": 7.0, - "symbol": "AGT/USDT:USDT", - "currency": "USDT", - "minNotional": 500000.0, "maxNotional": 4500000.0, "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", - "notionalFloor": "500000", + "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "34675.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "AGT/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -5636,16 +5585,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "409525.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "AGT/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -5653,12 +5602,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2284525.0" + "cum": "2262825.0" } } ], @@ -5686,15 +5635,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -5702,71 +5651,54 @@ "symbol": "AI/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "AI/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "AI/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "AI/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "AI/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -5774,16 +5706,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "AI/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -5791,16 +5723,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "AI/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -5808,12 +5740,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -5996,6 +5928,144 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, + "info": { + "bracket": "2", + "initialLeverage": "20", + "notionalCap": "10000", + "notionalFloor": "5000", + "maintMarginRatio": "0.025", + "cum": "50.0" + } + }, + { + "tier": 3.0, + "symbol": "AIN/USDT:USDT", + "currency": "USDT", + "minNotional": 10000.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, + "info": { + "bracket": "3", + "initialLeverage": "10", + "notionalCap": "20000", + "notionalFloor": "10000", + "maintMarginRatio": "0.05", + "cum": "300.0" + } + }, + { + "tier": 4.0, + "symbol": "AIN/USDT:USDT", + "currency": "USDT", + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, + "info": { + "bracket": "4", + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" + } + }, + { + "tier": 5.0, + "symbol": "AIN/USDT:USDT", + "currency": "USDT", + "minNotional": 50000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, + "info": { + "bracket": "5", + "initialLeverage": "4", + "notionalCap": "250000", + "notionalFloor": "50000", + "maintMarginRatio": "0.125", + "cum": "2550.0" + } + }, + { + "tier": 6.0, + "symbol": "AIN/USDT:USDT", + "currency": "USDT", + "minNotional": 250000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "6", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "250000", + "maintMarginRatio": "0.1667", + "cum": "12975.0" + } + }, + { + "tier": 7.0, + "symbol": "AIN/USDT:USDT", + "currency": "USDT", + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "7", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "387825.0" + } + }, + { + "tier": 8.0, + "symbol": "AIN/USDT:USDT", + "currency": "USDT", + "minNotional": 7500000.0, + "maxNotional": 12500000.0, + "maintenanceMarginRate": 0.5, + "maxLeverage": 1.0, + "info": { + "bracket": "8", + "initialLeverage": "1", + "notionalCap": "12500000", + "notionalFloor": "7500000", + "maintMarginRatio": "0.5", + "cum": "2262825.0" + } + } + ], + "AIO/USDT:USDT": [ + { + "tier": 1.0, + "symbol": "AIO/USDT:USDT", + "currency": "USDT", + "minNotional": 0.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, + "info": { + "bracket": "1", + "initialLeverage": "50", + "notionalCap": "5000", + "notionalFloor": "0", + "maintMarginRatio": "0.015", + "cum": "0.0" + } + }, + { + "tier": 2.0, + "symbol": "AIO/USDT:USDT", + "currency": "USDT", + "minNotional": 5000.0, + "maxNotional": 10000.0, "maintenanceMarginRate": 0.02, "maxLeverage": 25.0, "info": { @@ -6009,7 +6079,7 @@ }, { "tier": 3.0, - "symbol": "AIN/USDT:USDT", + "symbol": "AIO/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, "maxNotional": 25000.0, @@ -6026,7 +6096,7 @@ }, { "tier": 4.0, - "symbol": "AIN/USDT:USDT", + "symbol": "AIO/USDT:USDT", "currency": "USDT", "minNotional": 25000.0, "maxNotional": 62500.0, @@ -6043,7 +6113,7 @@ }, { "tier": 5.0, - "symbol": "AIN/USDT:USDT", + "symbol": "AIO/USDT:USDT", "currency": "USDT", "minNotional": 62500.0, "maxNotional": 125000.0, @@ -6060,7 +6130,7 @@ }, { "tier": 6.0, - "symbol": "AIN/USDT:USDT", + "symbol": "AIO/USDT:USDT", "currency": "USDT", "minNotional": 125000.0, "maxNotional": 250000.0, @@ -6077,7 +6147,7 @@ }, { "tier": 7.0, - "symbol": "AIN/USDT:USDT", + "symbol": "AIO/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, "maxNotional": 4500000.0, @@ -6094,7 +6164,7 @@ }, { "tier": 8.0, - "symbol": "AIN/USDT:USDT", + "symbol": "AIO/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, "maxNotional": 7500000.0, @@ -6111,7 +6181,7 @@ }, { "tier": 9.0, - "symbol": "AIN/USDT:USDT", + "symbol": "AIO/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, "maxNotional": 12500000.0, @@ -6133,15 +6203,15 @@ "symbol": "AIOT/USDT:USDT", "currency": "USDT", "minNotional": 0.0, - "maxNotional": 1000.0, - "maintenanceMarginRate": 0.035, - "maxLeverage": 20.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, "info": { "bracket": "1", - "initialLeverage": "20", - "notionalCap": "1000", + "initialLeverage": "50", + "notionalCap": "5000", "notionalFloor": "0", - "maintMarginRatio": "0.035", + "maintMarginRatio": "0.015", "cum": "0.0" } }, @@ -6149,102 +6219,119 @@ "tier": 2.0, "symbol": "AIOT/USDT:USDT", "currency": "USDT", - "minNotional": 1000.0, - "maxNotional": 7500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 5000.0, + "maxNotional": 10000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "10", - "notionalCap": "7500", - "notionalFloor": "1000", - "maintMarginRatio": "0.05", - "cum": "15.0" + "initialLeverage": "20", + "notionalCap": "10000", + "notionalFloor": "5000", + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { "tier": 3.0, "symbol": "AIOT/USDT:USDT", "currency": "USDT", - "minNotional": 7500.0, - "maxNotional": 50000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "minNotional": 10000.0, + "maxNotional": 25000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "5", - "notionalCap": "50000", - "notionalFloor": "7500", - "maintMarginRatio": "0.1", - "cum": "390.0" + "initialLeverage": "10", + "notionalCap": "25000", + "notionalFloor": "10000", + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "AIOT/USDT:USDT", "currency": "USDT", - "minNotional": 50000.0, - "maxNotional": 100000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, + "minNotional": 25000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "4", - "notionalCap": "100000", - "notionalFloor": "50000", - "maintMarginRatio": "0.125", - "cum": "1640.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "25000", + "maintMarginRatio": "0.1", + "cum": "1550.0" } }, { "tier": 5.0, "symbol": "AIOT/USDT:USDT", "currency": "USDT", - "minNotional": 100000.0, - "maxNotional": 200000.0, - "maintenanceMarginRate": 0.1667, - "maxLeverage": 3.0, + "minNotional": 50000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "5", - "initialLeverage": "3", - "notionalCap": "200000", - "notionalFloor": "100000", - "maintMarginRatio": "0.1667", - "cum": "5810.0" + "initialLeverage": "4", + "notionalCap": "250000", + "notionalFloor": "50000", + "maintMarginRatio": "0.125", + "cum": "2800.0" } }, { "tier": 6.0, "symbol": "AIOT/USDT:USDT", "currency": "USDT", - "minNotional": 200000.0, - "maxNotional": 300000.0, - "maintenanceMarginRate": 0.25, - "maxLeverage": 2.0, + "minNotional": 250000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, "info": { "bracket": "6", - "initialLeverage": "2", - "notionalCap": "300000", - "notionalFloor": "200000", - "maintMarginRatio": "0.25", - "cum": "22470.0" + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "250000", + "maintMarginRatio": "0.1667", + "cum": "13225.0" } }, { "tier": 7.0, "symbol": "AIOT/USDT:USDT", "currency": "USDT", - "minNotional": 300000.0, - "maxNotional": 500000.0, + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "7", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "388075.0" + } + }, + { + "tier": 8.0, + "symbol": "AIOT/USDT:USDT", + "currency": "USDT", + "minNotional": 7500000.0, + "maxNotional": 12500000.0, "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "7", + "bracket": "8", "initialLeverage": "1", - "notionalCap": "500000", - "notionalFloor": "300000", + "notionalCap": "12500000", + "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "97470.0" + "cum": "2263075.0" } } ], @@ -6770,13 +6857,13 @@ "symbol": "ALGO/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, + "maxNotional": 50000.0, "maintenanceMarginRate": 0.02, "maxLeverage": 25.0, "info": { "bracket": "3", "initialLeverage": "25", - "notionalCap": "25000", + "notionalCap": "50000", "notionalFloor": "10000", "maintMarginRatio": "0.02", "cum": "75.0" @@ -6786,51 +6873,51 @@ "tier": 4.0, "symbol": "ALGO/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 50000.0, + "minNotional": 50000.0, + "maxNotional": 100000.0, "maintenanceMarginRate": 0.025, "maxLeverage": 20.0, "info": { "bracket": "4", "initialLeverage": "20", - "notionalCap": "50000", - "notionalFloor": "25000", + "notionalCap": "100000", + "notionalFloor": "50000", "maintMarginRatio": "0.025", - "cum": "200.0" + "cum": "325.0" } }, { "tier": 5.0, "symbol": "ALGO/USDT:USDT", "currency": "USDT", - "minNotional": 50000.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 100000.0, + "maxNotional": 175000.0, + "maintenanceMarginRate": 0.0333, + "maxLeverage": 15.0, "info": { "bracket": "5", - "initialLeverage": "10", - "notionalCap": "125000", - "notionalFloor": "50000", - "maintMarginRatio": "0.05", - "cum": "1450.0" + "initialLeverage": "15", + "notionalCap": "175000", + "notionalFloor": "100000", + "maintMarginRatio": "0.0333", + "cum": "1155.0" } }, { "tier": 6.0, "symbol": "ALGO/USDT:USDT", "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 175000.0, "maxNotional": 250000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "6", - "initialLeverage": "5", + "initialLeverage": "10", "notionalCap": "250000", - "notionalFloor": "125000", - "maintMarginRatio": "0.1", - "cum": "7700.0" + "notionalFloor": "175000", + "maintMarginRatio": "0.05", + "cum": "4077.5" } }, { @@ -6838,54 +6925,71 @@ "symbol": "ALGO/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, - "maxNotional": 500000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, + "maxNotional": 750000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "7", - "initialLeverage": "4", - "notionalCap": "500000", + "initialLeverage": "5", + "notionalCap": "750000", "notionalFloor": "250000", - "maintMarginRatio": "0.125", - "cum": "13950.0" + "maintMarginRatio": "0.1", + "cum": "16577.5" } }, { "tier": 8.0, "symbol": "ALGO/USDT:USDT", "currency": "USDT", - "minNotional": 500000.0, - "maxNotional": 4500000.0, - "maintenanceMarginRate": 0.1667, - "maxLeverage": 3.0, + "minNotional": 750000.0, + "maxNotional": 1500000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "8", - "initialLeverage": "3", - "notionalCap": "4500000", - "notionalFloor": "500000", - "maintMarginRatio": "0.1667", - "cum": "34800.0" + "initialLeverage": "4", + "notionalCap": "1500000", + "notionalFloor": "750000", + "maintMarginRatio": "0.125", + "cum": "35327.5" } }, { "tier": 9.0, "symbol": "ALGO/USDT:USDT", "currency": "USDT", + "minNotional": 1500000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "9", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "1500000", + "maintMarginRatio": "0.1667", + "cum": "97877.5" + } + }, + { + "tier": 10.0, + "symbol": "ALGO/USDT:USDT", + "currency": "USDT", "minNotional": 4500000.0, "maxNotional": 7500000.0, "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "9", + "bracket": "10", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "409650.0" + "cum": "472727.5" } }, { - "tier": 10.0, + "tier": 11.0, "symbol": "ALGO/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -6893,12 +6997,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "10", + "bracket": "11", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2284650.0" + "cum": "2347727.5" } } ], @@ -6926,15 +7030,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -6942,71 +7046,54 @@ "symbol": "ALICE/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "ALICE/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "ALICE/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "ALICE/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "ALICE/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -7014,16 +7101,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "ALICE/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -7031,16 +7118,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "ALICE/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -7048,12 +7135,201 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" + } + } + ], + "ALL/USDT:USDT": [ + { + "tier": 1.0, + "symbol": "ALL/USDT:USDT", + "currency": "USDT", + "minNotional": 0.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.01, + "maxLeverage": 75.0, + "info": { + "bracket": "1", + "initialLeverage": "75", + "notionalCap": "5000", + "notionalFloor": "0", + "maintMarginRatio": "0.01", + "cum": "0.0" + } + }, + { + "tier": 2.0, + "symbol": "ALL/USDT:USDT", + "currency": "USDT", + "minNotional": 5000.0, + "maxNotional": 10000.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, + "info": { + "bracket": "2", + "initialLeverage": "50", + "notionalCap": "10000", + "notionalFloor": "5000", + "maintMarginRatio": "0.015", + "cum": "25.0" + } + }, + { + "tier": 3.0, + "symbol": "ALL/USDT:USDT", + "currency": "USDT", + "minNotional": 10000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, + "info": { + "bracket": "3", + "initialLeverage": "25", + "notionalCap": "50000", + "notionalFloor": "10000", + "maintMarginRatio": "0.02", + "cum": "75.0" + } + }, + { + "tier": 4.0, + "symbol": "ALL/USDT:USDT", + "currency": "USDT", + "minNotional": 50000.0, + "maxNotional": 100000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, + "info": { + "bracket": "4", + "initialLeverage": "20", + "notionalCap": "100000", + "notionalFloor": "50000", + "maintMarginRatio": "0.025", + "cum": "325.0" + } + }, + { + "tier": 5.0, + "symbol": "ALL/USDT:USDT", + "currency": "USDT", + "minNotional": 100000.0, + "maxNotional": 175000.0, + "maintenanceMarginRate": 0.0333, + "maxLeverage": 15.0, + "info": { + "bracket": "5", + "initialLeverage": "15", + "notionalCap": "175000", + "notionalFloor": "100000", + "maintMarginRatio": "0.0333", + "cum": "1155.0" + } + }, + { + "tier": 6.0, + "symbol": "ALL/USDT:USDT", + "currency": "USDT", + "minNotional": 175000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, + "info": { + "bracket": "6", + "initialLeverage": "10", + "notionalCap": "250000", + "notionalFloor": "175000", + "maintMarginRatio": "0.05", + "cum": "4077.5" + } + }, + { + "tier": 7.0, + "symbol": "ALL/USDT:USDT", + "currency": "USDT", + "minNotional": 250000.0, + "maxNotional": 750000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, + "info": { + "bracket": "7", + "initialLeverage": "5", + "notionalCap": "750000", + "notionalFloor": "250000", + "maintMarginRatio": "0.1", + "cum": "16577.5" + } + }, + { + "tier": 8.0, + "symbol": "ALL/USDT:USDT", + "currency": "USDT", + "minNotional": 750000.0, + "maxNotional": 1500000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, + "info": { + "bracket": "8", + "initialLeverage": "4", + "notionalCap": "1500000", + "notionalFloor": "750000", + "maintMarginRatio": "0.125", + "cum": "35327.5" + } + }, + { + "tier": 9.0, + "symbol": "ALL/USDT:USDT", + "currency": "USDT", + "minNotional": 1500000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "9", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "1500000", + "maintMarginRatio": "0.1667", + "cum": "97877.5" + } + }, + { + "tier": 10.0, + "symbol": "ALL/USDT:USDT", + "currency": "USDT", + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "10", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "472727.5" + } + }, + { + "tier": 11.0, + "symbol": "ALL/USDT:USDT", + "currency": "USDT", + "minNotional": 7500000.0, + "maxNotional": 12000000.0, + "maintenanceMarginRate": 0.5, + "maxLeverage": 1.0, + "info": { + "bracket": "11", + "initialLeverage": "1", + "notionalCap": "12000000", + "notionalFloor": "7500000", + "maintMarginRatio": "0.5", + "cum": "2347727.5" } } ], @@ -7306,15 +7582,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -7322,71 +7598,54 @@ "symbol": "ALPINE/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "ALPINE/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "ALPINE/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "ALPINE/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "ALPINE/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -7394,16 +7653,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "ALPINE/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -7411,16 +7670,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "ALPINE/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -7428,12 +7687,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -8202,14 +8461,14 @@ "currency": "USDT", "minNotional": 0.0, "maxNotional": 5000.0, - "maintenanceMarginRate": 0.015, - "maxLeverage": 50.0, + "maintenanceMarginRate": 0.01, + "maxLeverage": 75.0, "info": { "bracket": "1", - "initialLeverage": "50", + "initialLeverage": "75", "notionalCap": "5000", "notionalFloor": "0", - "maintMarginRatio": "0.015", + "maintMarginRatio": "0.01", "cum": "0.0" } }, @@ -8219,14 +8478,14 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "50", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", + "maintMarginRatio": "0.015", "cum": "25.0" } }, @@ -8236,14 +8495,14 @@ "currency": "USDT", "minNotional": 10000.0, "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, "info": { "bracket": "3", - "initialLeverage": "20", + "initialLeverage": "25", "notionalCap": "25000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", + "maintMarginRatio": "0.02", "cum": "75.0" } }, @@ -8252,33 +8511,33 @@ "symbol": "API3/USDT:USDT", "currency": "USDT", "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", + "initialLeverage": "20", + "notionalCap": "50000", "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "maintMarginRatio": "0.025", + "cum": "200.0" } }, { "tier": 5.0, "symbol": "API3/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, + "minNotional": 50000.0, "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "5", - "initialLeverage": "5", + "initialLeverage": "10", "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" + "notionalFloor": "50000", + "maintMarginRatio": "0.05", + "cum": "1450.0" } }, { @@ -8287,15 +8546,15 @@ "currency": "USDT", "minNotional": 125000.0, "maxNotional": 250000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "6", - "initialLeverage": "4", + "initialLeverage": "5", "notionalCap": "250000", "notionalFloor": "125000", - "maintMarginRatio": "0.125", - "cum": "6950.0" + "maintMarginRatio": "0.1", + "cum": "7700.0" } }, { @@ -8303,37 +8562,54 @@ "symbol": "API3/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, - "maxNotional": 4500000.0, - "maintenanceMarginRate": 0.1667, - "maxLeverage": 3.0, + "maxNotional": 500000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "7", - "initialLeverage": "3", - "notionalCap": "4500000", + "initialLeverage": "4", + "notionalCap": "500000", "notionalFloor": "250000", - "maintMarginRatio": "0.1667", - "cum": "17375.0" + "maintMarginRatio": "0.125", + "cum": "13950.0" } }, { "tier": 8.0, "symbol": "API3/USDT:USDT", "currency": "USDT", + "minNotional": 500000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "8", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "500000", + "maintMarginRatio": "0.1667", + "cum": "34800.0" + } + }, + { + "tier": 9.0, + "symbol": "API3/USDT:USDT", + "currency": "USDT", "minNotional": 4500000.0, "maxNotional": 7500000.0, "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "9", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "409650.0" } }, { - "tier": 9.0, + "tier": 10.0, "symbol": "API3/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -8341,12 +8617,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "10", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2284650.0" } } ], @@ -9011,15 +9287,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -9027,71 +9303,54 @@ "symbol": "ARC/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "ARC/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "ARC/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "ARC/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "ARC/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -9099,16 +9358,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "ARC/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -9116,16 +9375,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "ARC/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -9133,12 +9392,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -9476,15 +9735,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -9492,71 +9751,54 @@ "symbol": "ARPA/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "ARPA/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "ARPA/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "ARPA/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "ARPA/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -9564,16 +9806,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "ARPA/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -9581,16 +9823,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "ARPA/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -9598,12 +9840,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -9631,15 +9873,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -9647,71 +9889,54 @@ "symbol": "ASR/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "ASR/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "ASR/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "ASR/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "ASR/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -9719,16 +9944,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "ASR/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -9736,16 +9961,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "ASR/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -9753,12 +9978,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -9941,15 +10166,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -9957,71 +10182,54 @@ "symbol": "ATA/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "ATA/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "ATA/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "ATA/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "ATA/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -10029,16 +10237,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "ATA/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -10046,16 +10254,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "ATA/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -10063,12 +10271,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -10612,15 +10820,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -10628,71 +10836,54 @@ "symbol": "AVA/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "AVA/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "AVA/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "AVA/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "AVA/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -10700,16 +10891,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "AVA/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -10717,16 +10908,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "AVA/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -10734,12 +10925,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -10767,15 +10958,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -10783,71 +10974,54 @@ "symbol": "AVAAI/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "AVAAI/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "AVAAI/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "AVAAI/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "AVAAI/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -10855,16 +11029,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "AVAAI/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -10872,16 +11046,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "AVAAI/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -10889,12 +11063,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -11920,15 +12094,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -11936,50 +12110,50 @@ "symbol": "B2/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 50000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "50000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "B2/USDT:USDT", "currency": "USDT", - "minNotional": 50000.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "125000", - "notionalFloor": "50000", - "maintMarginRatio": "0.05", - "cum": "1325.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "B2/USDT:USDT", "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "5", - "initialLeverage": "5", + "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", - "maintMarginRatio": "0.1", - "cum": "7575.0" + "notionalFloor": "50000", + "maintMarginRatio": "0.125", + "cum": "2550.0" } }, { @@ -11987,37 +12161,20 @@ "symbol": "B2/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, - "maxNotional": 500000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, - "info": { - "bracket": "6", - "initialLeverage": "4", - "notionalCap": "500000", - "notionalFloor": "250000", - "maintMarginRatio": "0.125", - "cum": "13825.0" - } - }, - { - "tier": 7.0, - "symbol": "B2/USDT:USDT", - "currency": "USDT", - "minNotional": 500000.0, "maxNotional": 4500000.0, "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", - "notionalFloor": "500000", + "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "34675.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "B2/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -12025,16 +12182,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "409525.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "B2/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -12042,12 +12199,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2284525.0" + "cum": "2262825.0" } } ], @@ -13402,6 +13559,144 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, + "info": { + "bracket": "2", + "initialLeverage": "20", + "notionalCap": "10000", + "notionalFloor": "5000", + "maintMarginRatio": "0.025", + "cum": "50.0" + } + }, + { + "tier": 3.0, + "symbol": "BANK/USDT:USDT", + "currency": "USDT", + "minNotional": 10000.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, + "info": { + "bracket": "3", + "initialLeverage": "10", + "notionalCap": "20000", + "notionalFloor": "10000", + "maintMarginRatio": "0.05", + "cum": "300.0" + } + }, + { + "tier": 4.0, + "symbol": "BANK/USDT:USDT", + "currency": "USDT", + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, + "info": { + "bracket": "4", + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" + } + }, + { + "tier": 5.0, + "symbol": "BANK/USDT:USDT", + "currency": "USDT", + "minNotional": 50000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, + "info": { + "bracket": "5", + "initialLeverage": "4", + "notionalCap": "250000", + "notionalFloor": "50000", + "maintMarginRatio": "0.125", + "cum": "2550.0" + } + }, + { + "tier": 6.0, + "symbol": "BANK/USDT:USDT", + "currency": "USDT", + "minNotional": 250000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "6", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "250000", + "maintMarginRatio": "0.1667", + "cum": "12975.0" + } + }, + { + "tier": 7.0, + "symbol": "BANK/USDT:USDT", + "currency": "USDT", + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "7", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "387825.0" + } + }, + { + "tier": 8.0, + "symbol": "BANK/USDT:USDT", + "currency": "USDT", + "minNotional": 7500000.0, + "maxNotional": 12500000.0, + "maintenanceMarginRate": 0.5, + "maxLeverage": 1.0, + "info": { + "bracket": "8", + "initialLeverage": "1", + "notionalCap": "12500000", + "notionalFloor": "7500000", + "maintMarginRatio": "0.5", + "cum": "2262825.0" + } + } + ], + "BAS/USDT:USDT": [ + { + "tier": 1.0, + "symbol": "BAS/USDT:USDT", + "currency": "USDT", + "minNotional": 0.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, + "info": { + "bracket": "1", + "initialLeverage": "50", + "notionalCap": "5000", + "notionalFloor": "0", + "maintMarginRatio": "0.015", + "cum": "0.0" + } + }, + { + "tier": 2.0, + "symbol": "BAS/USDT:USDT", + "currency": "USDT", + "minNotional": 5000.0, + "maxNotional": 10000.0, "maintenanceMarginRate": 0.02, "maxLeverage": 25.0, "info": { @@ -13415,16 +13710,16 @@ }, { "tier": 3.0, - "symbol": "BANK/USDT:USDT", + "symbol": "BAS/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 50000.0, + "maxNotional": 25000.0, "maintenanceMarginRate": 0.025, "maxLeverage": 20.0, "info": { "bracket": "3", "initialLeverage": "20", - "notionalCap": "50000", + "notionalCap": "25000", "notionalFloor": "10000", "maintMarginRatio": "0.025", "cum": "75.0" @@ -13432,60 +13727,60 @@ }, { "tier": 4.0, - "symbol": "BANK/USDT:USDT", + "symbol": "BAS/USDT:USDT", "currency": "USDT", - "minNotional": 50000.0, - "maxNotional": 125000.0, + "minNotional": 25000.0, + "maxNotional": 62500.0, "maintenanceMarginRate": 0.05, "maxLeverage": 10.0, "info": { "bracket": "4", "initialLeverage": "10", - "notionalCap": "125000", - "notionalFloor": "50000", + "notionalCap": "62500", + "notionalFloor": "25000", "maintMarginRatio": "0.05", - "cum": "1325.0" + "cum": "700.0" } }, { "tier": 5.0, - "symbol": "BANK/USDT:USDT", + "symbol": "BAS/USDT:USDT", "currency": "USDT", - "minNotional": 125000.0, - "maxNotional": 250000.0, + "minNotional": 62500.0, + "maxNotional": 125000.0, "maintenanceMarginRate": 0.1, "maxLeverage": 5.0, "info": { "bracket": "5", "initialLeverage": "5", - "notionalCap": "250000", - "notionalFloor": "125000", + "notionalCap": "125000", + "notionalFloor": "62500", "maintMarginRatio": "0.1", - "cum": "7575.0" + "cum": "3825.0" } }, { "tier": 6.0, - "symbol": "BANK/USDT:USDT", + "symbol": "BAS/USDT:USDT", "currency": "USDT", - "minNotional": 250000.0, - "maxNotional": 500000.0, + "minNotional": 125000.0, + "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { "bracket": "6", "initialLeverage": "4", - "notionalCap": "500000", - "notionalFloor": "250000", + "notionalCap": "250000", + "notionalFloor": "125000", "maintMarginRatio": "0.125", - "cum": "13825.0" + "cum": "6950.0" } }, { "tier": 7.0, - "symbol": "BANK/USDT:USDT", + "symbol": "BAS/USDT:USDT", "currency": "USDT", - "minNotional": 500000.0, + "minNotional": 250000.0, "maxNotional": 4500000.0, "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, @@ -13493,14 +13788,14 @@ "bracket": "7", "initialLeverage": "3", "notionalCap": "4500000", - "notionalFloor": "500000", + "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "34675.0" + "cum": "17375.0" } }, { "tier": 8.0, - "symbol": "BANK/USDT:USDT", + "symbol": "BAS/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, "maxNotional": 7500000.0, @@ -13512,12 +13807,12 @@ "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "409525.0" + "cum": "392225.0" } }, { "tier": 9.0, - "symbol": "BANK/USDT:USDT", + "symbol": "BAS/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, "maxNotional": 12500000.0, @@ -13529,7 +13824,7 @@ "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2284525.0" + "cum": "2267225.0" } } ], @@ -14521,15 +14816,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, + "maintenanceMarginRate": 0.025, "maxLeverage": 20.0, "info": { "bracket": "2", "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -14537,71 +14832,54 @@ "symbol": "BEL/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, "maxLeverage": 10.0, "info": { "bracket": "3", "initialLeverage": "10", - "notionalCap": "25000", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "BEL/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 8.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "8", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "BEL/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "BEL/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "BEL/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -14609,16 +14887,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "BEL/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -14626,16 +14904,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "BEL/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -14643,12 +14921,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -15003,15 +15281,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -15019,71 +15297,54 @@ "symbol": "BID/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "BID/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "BID/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "BID/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "BID/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -15091,16 +15352,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "BID/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -15108,16 +15369,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "BID/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -15125,12 +15386,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -15306,6 +15567,178 @@ } } ], + "BIO/USDC:USDC": [ + { + "tier": 1.0, + "symbol": "BIO/USDC:USDC", + "currency": "USDC", + "minNotional": 0.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.01, + "maxLeverage": 75.0, + "info": { + "bracket": "1", + "initialLeverage": "75", + "notionalCap": "5000", + "notionalFloor": "0", + "maintMarginRatio": "0.01", + "cum": "0.0" + } + }, + { + "tier": 2.0, + "symbol": "BIO/USDC:USDC", + "currency": "USDC", + "minNotional": 5000.0, + "maxNotional": 10000.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, + "info": { + "bracket": "2", + "initialLeverage": "50", + "notionalCap": "10000", + "notionalFloor": "5000", + "maintMarginRatio": "0.015", + "cum": "25.0" + } + }, + { + "tier": 3.0, + "symbol": "BIO/USDC:USDC", + "currency": "USDC", + "minNotional": 10000.0, + "maxNotional": 25000.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, + "info": { + "bracket": "3", + "initialLeverage": "25", + "notionalCap": "25000", + "notionalFloor": "10000", + "maintMarginRatio": "0.02", + "cum": "75.0" + } + }, + { + "tier": 4.0, + "symbol": "BIO/USDC:USDC", + "currency": "USDC", + "minNotional": 25000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, + "info": { + "bracket": "4", + "initialLeverage": "20", + "notionalCap": "50000", + "notionalFloor": "25000", + "maintMarginRatio": "0.025", + "cum": "200.0" + } + }, + { + "tier": 5.0, + "symbol": "BIO/USDC:USDC", + "currency": "USDC", + "minNotional": 50000.0, + "maxNotional": 125000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, + "info": { + "bracket": "5", + "initialLeverage": "10", + "notionalCap": "125000", + "notionalFloor": "50000", + "maintMarginRatio": "0.05", + "cum": "1450.0" + } + }, + { + "tier": 6.0, + "symbol": "BIO/USDC:USDC", + "currency": "USDC", + "minNotional": 125000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, + "info": { + "bracket": "6", + "initialLeverage": "5", + "notionalCap": "250000", + "notionalFloor": "125000", + "maintMarginRatio": "0.1", + "cum": "7700.0" + } + }, + { + "tier": 7.0, + "symbol": "BIO/USDC:USDC", + "currency": "USDC", + "minNotional": 250000.0, + "maxNotional": 500000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, + "info": { + "bracket": "7", + "initialLeverage": "4", + "notionalCap": "500000", + "notionalFloor": "250000", + "maintMarginRatio": "0.125", + "cum": "13950.0" + } + }, + { + "tier": 8.0, + "symbol": "BIO/USDC:USDC", + "currency": "USDC", + "minNotional": 500000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "8", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "500000", + "maintMarginRatio": "0.1667", + "cum": "34800.0" + } + }, + { + "tier": 9.0, + "symbol": "BIO/USDC:USDC", + "currency": "USDC", + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "9", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "409650.0" + } + }, + { + "tier": 10.0, + "symbol": "BIO/USDC:USDC", + "currency": "USDC", + "minNotional": 7500000.0, + "maxNotional": 12500000.0, + "maintenanceMarginRate": 0.5, + "maxLeverage": 1.0, + "info": { + "bracket": "10", + "initialLeverage": "1", + "notionalCap": "12500000", + "notionalFloor": "7500000", + "maintMarginRatio": "0.5", + "cum": "2284650.0" + } + } + ], "BIO/USDT:USDT": [ { "tier": 1.0, @@ -15346,13 +15779,13 @@ "symbol": "BIO/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, + "maxNotional": 50000.0, "maintenanceMarginRate": 0.02, "maxLeverage": 25.0, "info": { "bracket": "3", "initialLeverage": "25", - "notionalCap": "25000", + "notionalCap": "50000", "notionalFloor": "10000", "maintMarginRatio": "0.02", "cum": "75.0" @@ -15362,51 +15795,51 @@ "tier": 4.0, "symbol": "BIO/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 50000.0, + "minNotional": 50000.0, + "maxNotional": 100000.0, "maintenanceMarginRate": 0.025, "maxLeverage": 20.0, "info": { "bracket": "4", "initialLeverage": "20", - "notionalCap": "50000", - "notionalFloor": "25000", + "notionalCap": "100000", + "notionalFloor": "50000", "maintMarginRatio": "0.025", - "cum": "200.0" + "cum": "325.0" } }, { "tier": 5.0, "symbol": "BIO/USDT:USDT", "currency": "USDT", - "minNotional": 50000.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 100000.0, + "maxNotional": 175000.0, + "maintenanceMarginRate": 0.0333, + "maxLeverage": 15.0, "info": { "bracket": "5", - "initialLeverage": "10", - "notionalCap": "125000", - "notionalFloor": "50000", - "maintMarginRatio": "0.05", - "cum": "1450.0" + "initialLeverage": "15", + "notionalCap": "175000", + "notionalFloor": "100000", + "maintMarginRatio": "0.0333", + "cum": "1155.0" } }, { "tier": 6.0, "symbol": "BIO/USDT:USDT", "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 175000.0, "maxNotional": 250000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "6", - "initialLeverage": "5", + "initialLeverage": "10", "notionalCap": "250000", - "notionalFloor": "125000", - "maintMarginRatio": "0.1", - "cum": "7700.0" + "notionalFloor": "175000", + "maintMarginRatio": "0.05", + "cum": "4077.5" } }, { @@ -15414,54 +15847,71 @@ "symbol": "BIO/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, - "maxNotional": 500000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, + "maxNotional": 750000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "7", - "initialLeverage": "4", - "notionalCap": "500000", + "initialLeverage": "5", + "notionalCap": "750000", "notionalFloor": "250000", - "maintMarginRatio": "0.125", - "cum": "13950.0" + "maintMarginRatio": "0.1", + "cum": "16577.5" } }, { "tier": 8.0, "symbol": "BIO/USDT:USDT", "currency": "USDT", - "minNotional": 500000.0, - "maxNotional": 4500000.0, - "maintenanceMarginRate": 0.1667, - "maxLeverage": 3.0, + "minNotional": 750000.0, + "maxNotional": 1500000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "8", - "initialLeverage": "3", - "notionalCap": "4500000", - "notionalFloor": "500000", - "maintMarginRatio": "0.1667", - "cum": "34800.0" + "initialLeverage": "4", + "notionalCap": "1500000", + "notionalFloor": "750000", + "maintMarginRatio": "0.125", + "cum": "35327.5" } }, { "tier": 9.0, "symbol": "BIO/USDT:USDT", "currency": "USDT", + "minNotional": 1500000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "9", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "1500000", + "maintMarginRatio": "0.1667", + "cum": "97877.5" + } + }, + { + "tier": 10.0, + "symbol": "BIO/USDT:USDT", + "currency": "USDT", "minNotional": 4500000.0, "maxNotional": 7500000.0, "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "9", + "bracket": "10", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "409650.0" + "cum": "472727.5" } }, { - "tier": 10.0, + "tier": 11.0, "symbol": "BIO/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -15469,12 +15919,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "10", + "bracket": "11", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2284650.0" + "cum": "2347727.5" } } ], @@ -15778,15 +16228,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -15794,71 +16244,54 @@ "symbol": "BMT/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "BMT/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "BMT/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "BMT/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "BMT/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -15866,16 +16299,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "BMT/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -15883,16 +16316,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "BMT/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -15900,12 +16333,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -16104,13 +16537,13 @@ "symbol": "BNB/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 50000.0, + "maxNotional": 200000.0, "maintenanceMarginRate": 0.006, "maxLeverage": 50.0, "info": { "bracket": "2", "initialLeverage": "50", - "notionalCap": "50000", + "notionalCap": "200000", "notionalFloor": "10000", "maintMarginRatio": "0.006", "cum": "10.0" @@ -16120,24 +16553,24 @@ "tier": 3.0, "symbol": "BNB/USDT:USDT", "currency": "USDT", - "minNotional": 50000.0, - "maxNotional": 200000.0, + "minNotional": 200000.0, + "maxNotional": 400000.0, "maintenanceMarginRate": 0.01, "maxLeverage": 40.0, "info": { "bracket": "3", "initialLeverage": "40", - "notionalCap": "200000", - "notionalFloor": "50000", + "notionalCap": "400000", + "notionalFloor": "200000", "maintMarginRatio": "0.01", - "cum": "210.0" + "cum": "810.0" } }, { "tier": 4.0, "symbol": "BNB/USDT:USDT", "currency": "USDT", - "minNotional": 200000.0, + "minNotional": 400000.0, "maxNotional": 1500000.0, "maintenanceMarginRate": 0.02, "maxLeverage": 25.0, @@ -16145,9 +16578,9 @@ "bracket": "4", "initialLeverage": "25", "notionalCap": "1500000", - "notionalFloor": "200000", + "notionalFloor": "400000", "maintMarginRatio": "0.02", - "cum": "2210.0" + "cum": "4810.0" } }, { @@ -16164,7 +16597,7 @@ "notionalCap": "3000000", "notionalFloor": "1500000", "maintMarginRatio": "0.025", - "cum": "9710.0" + "cum": "12310.0" } }, { @@ -16181,7 +16614,7 @@ "notionalCap": "15000000", "notionalFloor": "3000000", "maintMarginRatio": "0.05", - "cum": "84710.0" + "cum": "87310.0" } }, { @@ -16198,7 +16631,7 @@ "notionalCap": "30000000", "notionalFloor": "15000000", "maintMarginRatio": "0.1", - "cum": "834710.0" + "cum": "837310.0" } }, { @@ -16215,7 +16648,7 @@ "notionalCap": "37500000", "notionalFloor": "30000000", "maintMarginRatio": "0.125", - "cum": "1584710.0" + "cum": "1587310.0" } }, { @@ -16232,7 +16665,7 @@ "notionalCap": "75000000", "notionalFloor": "37500000", "maintMarginRatio": "0.25", - "cum": "6272210.0" + "cum": "6274810.0" } }, { @@ -16249,7 +16682,7 @@ "notionalCap": "150000000", "notionalFloor": "75000000", "maintMarginRatio": "0.5", - "cum": "25022210.0" + "cum": "25024810.0" } } ], @@ -17311,15 +17744,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -17327,71 +17760,54 @@ "symbol": "BROCCOLI714/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "BROCCOLI714/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "BROCCOLI714/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "BROCCOLI714/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "BROCCOLI714/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -17399,16 +17815,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "BROCCOLI714/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -17416,16 +17832,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "BROCCOLI714/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -17433,12 +17849,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -18053,10 +18469,10 @@ "minNotional": 0.0, "maxNotional": 300000.0, "maintenanceMarginRate": 0.004, - "maxLeverage": 125.0, + "maxLeverage": 150.0, "info": { "bracket": "1", - "initialLeverage": "125", + "initialLeverage": "150", "notionalCap": "300000", "notionalFloor": "0", "maintMarginRatio": "0.004", @@ -18735,6 +19151,161 @@ } } ], + "BTR/USDT:USDT": [ + { + "tier": 1.0, + "symbol": "BTR/USDT:USDT", + "currency": "USDT", + "minNotional": 0.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, + "info": { + "bracket": "1", + "initialLeverage": "50", + "notionalCap": "5000", + "notionalFloor": "0", + "maintMarginRatio": "0.015", + "cum": "0.0" + } + }, + { + "tier": 2.0, + "symbol": "BTR/USDT:USDT", + "currency": "USDT", + "minNotional": 5000.0, + "maxNotional": 10000.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, + "info": { + "bracket": "2", + "initialLeverage": "25", + "notionalCap": "10000", + "notionalFloor": "5000", + "maintMarginRatio": "0.02", + "cum": "25.0" + } + }, + { + "tier": 3.0, + "symbol": "BTR/USDT:USDT", + "currency": "USDT", + "minNotional": 10000.0, + "maxNotional": 25000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, + "info": { + "bracket": "3", + "initialLeverage": "20", + "notionalCap": "25000", + "notionalFloor": "10000", + "maintMarginRatio": "0.025", + "cum": "75.0" + } + }, + { + "tier": 4.0, + "symbol": "BTR/USDT:USDT", + "currency": "USDT", + "minNotional": 25000.0, + "maxNotional": 62500.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, + "info": { + "bracket": "4", + "initialLeverage": "10", + "notionalCap": "62500", + "notionalFloor": "25000", + "maintMarginRatio": "0.05", + "cum": "700.0" + } + }, + { + "tier": 5.0, + "symbol": "BTR/USDT:USDT", + "currency": "USDT", + "minNotional": 62500.0, + "maxNotional": 125000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, + "info": { + "bracket": "5", + "initialLeverage": "5", + "notionalCap": "125000", + "notionalFloor": "62500", + "maintMarginRatio": "0.1", + "cum": "3825.0" + } + }, + { + "tier": 6.0, + "symbol": "BTR/USDT:USDT", + "currency": "USDT", + "minNotional": 125000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, + "info": { + "bracket": "6", + "initialLeverage": "4", + "notionalCap": "250000", + "notionalFloor": "125000", + "maintMarginRatio": "0.125", + "cum": "6950.0" + } + }, + { + "tier": 7.0, + "symbol": "BTR/USDT:USDT", + "currency": "USDT", + "minNotional": 250000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "7", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "250000", + "maintMarginRatio": "0.1667", + "cum": "17375.0" + } + }, + { + "tier": 8.0, + "symbol": "BTR/USDT:USDT", + "currency": "USDT", + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "8", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "392225.0" + } + }, + { + "tier": 9.0, + "symbol": "BTR/USDT:USDT", + "currency": "USDT", + "minNotional": 7500000.0, + "maxNotional": 12500000.0, + "maintenanceMarginRate": 0.5, + "maxLeverage": 1.0, + "info": { + "bracket": "9", + "initialLeverage": "1", + "notionalCap": "12500000", + "notionalFloor": "7500000", + "maintMarginRatio": "0.5", + "cum": "2267225.0" + } + } + ], "BULLA/USDT:USDT": [ { "tier": 1.0, @@ -18759,15 +19330,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -18775,71 +19346,54 @@ "symbol": "BULLA/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "BULLA/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "BULLA/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "BULLA/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "BULLA/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -18847,16 +19401,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "BULLA/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -18864,16 +19418,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "BULLA/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -18881,12 +19435,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -18914,15 +19468,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -18930,71 +19484,54 @@ "symbol": "C/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "C/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "C/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "C/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "C/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -19002,16 +19539,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "C/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -19019,16 +19556,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "C/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -19036,12 +19573,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -19372,6 +19909,161 @@ } } ], + "CARV/USDT:USDT": [ + { + "tier": 1.0, + "symbol": "CARV/USDT:USDT", + "currency": "USDT", + "minNotional": 0.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, + "info": { + "bracket": "1", + "initialLeverage": "50", + "notionalCap": "5000", + "notionalFloor": "0", + "maintMarginRatio": "0.015", + "cum": "0.0" + } + }, + { + "tier": 2.0, + "symbol": "CARV/USDT:USDT", + "currency": "USDT", + "minNotional": 5000.0, + "maxNotional": 10000.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, + "info": { + "bracket": "2", + "initialLeverage": "25", + "notionalCap": "10000", + "notionalFloor": "5000", + "maintMarginRatio": "0.02", + "cum": "25.0" + } + }, + { + "tier": 3.0, + "symbol": "CARV/USDT:USDT", + "currency": "USDT", + "minNotional": 10000.0, + "maxNotional": 25000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, + "info": { + "bracket": "3", + "initialLeverage": "20", + "notionalCap": "25000", + "notionalFloor": "10000", + "maintMarginRatio": "0.025", + "cum": "75.0" + } + }, + { + "tier": 4.0, + "symbol": "CARV/USDT:USDT", + "currency": "USDT", + "minNotional": 25000.0, + "maxNotional": 62500.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, + "info": { + "bracket": "4", + "initialLeverage": "10", + "notionalCap": "62500", + "notionalFloor": "25000", + "maintMarginRatio": "0.05", + "cum": "700.0" + } + }, + { + "tier": 5.0, + "symbol": "CARV/USDT:USDT", + "currency": "USDT", + "minNotional": 62500.0, + "maxNotional": 125000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, + "info": { + "bracket": "5", + "initialLeverage": "5", + "notionalCap": "125000", + "notionalFloor": "62500", + "maintMarginRatio": "0.1", + "cum": "3825.0" + } + }, + { + "tier": 6.0, + "symbol": "CARV/USDT:USDT", + "currency": "USDT", + "minNotional": 125000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, + "info": { + "bracket": "6", + "initialLeverage": "4", + "notionalCap": "250000", + "notionalFloor": "125000", + "maintMarginRatio": "0.125", + "cum": "6950.0" + } + }, + { + "tier": 7.0, + "symbol": "CARV/USDT:USDT", + "currency": "USDT", + "minNotional": 250000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "7", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "250000", + "maintMarginRatio": "0.1667", + "cum": "17375.0" + } + }, + { + "tier": 8.0, + "symbol": "CARV/USDT:USDT", + "currency": "USDT", + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "8", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "392225.0" + } + }, + { + "tier": 9.0, + "symbol": "CARV/USDT:USDT", + "currency": "USDT", + "minNotional": 7500000.0, + "maxNotional": 12500000.0, + "maintenanceMarginRate": 0.5, + "maxLeverage": 1.0, + "info": { + "bracket": "9", + "initialLeverage": "1", + "notionalCap": "12500000", + "notionalFloor": "7500000", + "maintMarginRatio": "0.5", + "cum": "2267225.0" + } + } + ], "CATI/USDT:USDT": [ { "tier": 1.0, @@ -19396,15 +20088,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -19412,71 +20104,54 @@ "symbol": "CATI/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "CATI/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "CATI/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "CATI/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "CATI/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -19484,16 +20159,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "CATI/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -19501,16 +20176,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "CATI/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -19518,12 +20193,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -20377,15 +21052,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -20393,71 +21068,54 @@ "symbol": "CHESS/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "CHESS/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "CHESS/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "CHESS/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "CHESS/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -20465,16 +21123,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "CHESS/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -20482,16 +21140,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "CHESS/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -20499,12 +21157,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -21651,15 +22309,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -21667,71 +22325,54 @@ "symbol": "COS/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "COS/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "COS/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "COS/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "COS/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -21739,16 +22380,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "COS/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -21756,16 +22397,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "COS/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -21773,12 +22414,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -22867,6 +23508,161 @@ } } ], + "CUDIS/USDT:USDT": [ + { + "tier": 1.0, + "symbol": "CUDIS/USDT:USDT", + "currency": "USDT", + "minNotional": 0.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, + "info": { + "bracket": "1", + "initialLeverage": "50", + "notionalCap": "5000", + "notionalFloor": "0", + "maintMarginRatio": "0.015", + "cum": "0.0" + } + }, + { + "tier": 2.0, + "symbol": "CUDIS/USDT:USDT", + "currency": "USDT", + "minNotional": 5000.0, + "maxNotional": 10000.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, + "info": { + "bracket": "2", + "initialLeverage": "25", + "notionalCap": "10000", + "notionalFloor": "5000", + "maintMarginRatio": "0.02", + "cum": "25.0" + } + }, + { + "tier": 3.0, + "symbol": "CUDIS/USDT:USDT", + "currency": "USDT", + "minNotional": 10000.0, + "maxNotional": 25000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, + "info": { + "bracket": "3", + "initialLeverage": "20", + "notionalCap": "25000", + "notionalFloor": "10000", + "maintMarginRatio": "0.025", + "cum": "75.0" + } + }, + { + "tier": 4.0, + "symbol": "CUDIS/USDT:USDT", + "currency": "USDT", + "minNotional": 25000.0, + "maxNotional": 62500.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, + "info": { + "bracket": "4", + "initialLeverage": "10", + "notionalCap": "62500", + "notionalFloor": "25000", + "maintMarginRatio": "0.05", + "cum": "700.0" + } + }, + { + "tier": 5.0, + "symbol": "CUDIS/USDT:USDT", + "currency": "USDT", + "minNotional": 62500.0, + "maxNotional": 125000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, + "info": { + "bracket": "5", + "initialLeverage": "5", + "notionalCap": "125000", + "notionalFloor": "62500", + "maintMarginRatio": "0.1", + "cum": "3825.0" + } + }, + { + "tier": 6.0, + "symbol": "CUDIS/USDT:USDT", + "currency": "USDT", + "minNotional": 125000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, + "info": { + "bracket": "6", + "initialLeverage": "4", + "notionalCap": "250000", + "notionalFloor": "125000", + "maintMarginRatio": "0.125", + "cum": "6950.0" + } + }, + { + "tier": 7.0, + "symbol": "CUDIS/USDT:USDT", + "currency": "USDT", + "minNotional": 250000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "7", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "250000", + "maintMarginRatio": "0.1667", + "cum": "17375.0" + } + }, + { + "tier": 8.0, + "symbol": "CUDIS/USDT:USDT", + "currency": "USDT", + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "8", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "392225.0" + } + }, + { + "tier": 9.0, + "symbol": "CUDIS/USDT:USDT", + "currency": "USDT", + "minNotional": 7500000.0, + "maxNotional": 12500000.0, + "maintenanceMarginRate": 0.5, + "maxLeverage": 1.0, + "info": { + "bracket": "9", + "initialLeverage": "1", + "notionalCap": "12500000", + "notionalFloor": "7500000", + "maintMarginRatio": "0.5", + "cum": "2267225.0" + } + } + ], "CVC/USDT:USDT": [ { "tier": 1.0, @@ -23373,6 +24169,144 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, + "info": { + "bracket": "2", + "initialLeverage": "20", + "notionalCap": "10000", + "notionalFloor": "5000", + "maintMarginRatio": "0.025", + "cum": "50.0" + } + }, + { + "tier": 3.0, + "symbol": "D/USDT:USDT", + "currency": "USDT", + "minNotional": 10000.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, + "info": { + "bracket": "3", + "initialLeverage": "10", + "notionalCap": "20000", + "notionalFloor": "10000", + "maintMarginRatio": "0.05", + "cum": "300.0" + } + }, + { + "tier": 4.0, + "symbol": "D/USDT:USDT", + "currency": "USDT", + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, + "info": { + "bracket": "4", + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" + } + }, + { + "tier": 5.0, + "symbol": "D/USDT:USDT", + "currency": "USDT", + "minNotional": 50000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, + "info": { + "bracket": "5", + "initialLeverage": "4", + "notionalCap": "250000", + "notionalFloor": "50000", + "maintMarginRatio": "0.125", + "cum": "2550.0" + } + }, + { + "tier": 6.0, + "symbol": "D/USDT:USDT", + "currency": "USDT", + "minNotional": 250000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "6", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "250000", + "maintMarginRatio": "0.1667", + "cum": "12975.0" + } + }, + { + "tier": 7.0, + "symbol": "D/USDT:USDT", + "currency": "USDT", + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "7", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "387825.0" + } + }, + { + "tier": 8.0, + "symbol": "D/USDT:USDT", + "currency": "USDT", + "minNotional": 7500000.0, + "maxNotional": 12500000.0, + "maintenanceMarginRate": 0.5, + "maxLeverage": 1.0, + "info": { + "bracket": "8", + "initialLeverage": "1", + "notionalCap": "12500000", + "notionalFloor": "7500000", + "maintMarginRatio": "0.5", + "cum": "2262825.0" + } + } + ], + "DAM/USDT:USDT": [ + { + "tier": 1.0, + "symbol": "DAM/USDT:USDT", + "currency": "USDT", + "minNotional": 0.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, + "info": { + "bracket": "1", + "initialLeverage": "50", + "notionalCap": "5000", + "notionalFloor": "0", + "maintMarginRatio": "0.015", + "cum": "0.0" + } + }, + { + "tier": 2.0, + "symbol": "DAM/USDT:USDT", + "currency": "USDT", + "minNotional": 5000.0, + "maxNotional": 10000.0, "maintenanceMarginRate": 0.02, "maxLeverage": 25.0, "info": { @@ -23386,7 +24320,7 @@ }, { "tier": 3.0, - "symbol": "D/USDT:USDT", + "symbol": "DAM/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, "maxNotional": 25000.0, @@ -23403,7 +24337,7 @@ }, { "tier": 4.0, - "symbol": "D/USDT:USDT", + "symbol": "DAM/USDT:USDT", "currency": "USDT", "minNotional": 25000.0, "maxNotional": 62500.0, @@ -23420,7 +24354,7 @@ }, { "tier": 5.0, - "symbol": "D/USDT:USDT", + "symbol": "DAM/USDT:USDT", "currency": "USDT", "minNotional": 62500.0, "maxNotional": 125000.0, @@ -23437,7 +24371,7 @@ }, { "tier": 6.0, - "symbol": "D/USDT:USDT", + "symbol": "DAM/USDT:USDT", "currency": "USDT", "minNotional": 125000.0, "maxNotional": 250000.0, @@ -23454,7 +24388,7 @@ }, { "tier": 7.0, - "symbol": "D/USDT:USDT", + "symbol": "DAM/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, "maxNotional": 4500000.0, @@ -23471,7 +24405,7 @@ }, { "tier": 8.0, - "symbol": "D/USDT:USDT", + "symbol": "DAM/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, "maxNotional": 7500000.0, @@ -23488,7 +24422,7 @@ }, { "tier": 9.0, - "symbol": "D/USDT:USDT", + "symbol": "DAM/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, "maxNotional": 12500000.0, @@ -24269,15 +25203,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -24285,71 +25219,54 @@ "symbol": "DEGO/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "DEGO/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "DEGO/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "DEGO/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "DEGO/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -24357,16 +25274,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "DEGO/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -24374,16 +25291,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "DEGO/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -24391,12 +25308,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -24734,15 +25651,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -24750,71 +25667,54 @@ "symbol": "DF/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "DF/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "DF/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "DF/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "DF/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -24822,16 +25722,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "DF/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -24839,16 +25739,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "DF/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -24856,12 +25756,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -25148,15 +26048,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -25164,71 +26064,54 @@ "symbol": "DMC/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "DMC/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "DMC/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "DMC/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "DMC/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -25236,16 +26119,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "DMC/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -25253,16 +26136,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "DMC/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -25270,12 +26153,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -25303,15 +26186,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 20.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 15.0, "info": { "bracket": "2", - "initialLeverage": "20", + "initialLeverage": "15", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -25319,71 +26202,54 @@ "symbol": "DODOX/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 15.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "15", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "DODOX/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "DODOX/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "DODOX/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "DODOX/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -25391,16 +26257,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "DODOX/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -25408,16 +26274,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "DODOX/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -25425,12 +26291,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -26129,15 +26995,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -26145,50 +27011,50 @@ "symbol": "DOOD/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 50000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "50000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "DOOD/USDT:USDT", "currency": "USDT", - "minNotional": 50000.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "125000", - "notionalFloor": "50000", - "maintMarginRatio": "0.05", - "cum": "1325.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "DOOD/USDT:USDT", "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "5", - "initialLeverage": "5", + "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", - "maintMarginRatio": "0.1", - "cum": "7575.0" + "notionalFloor": "50000", + "maintMarginRatio": "0.125", + "cum": "2550.0" } }, { @@ -26196,37 +27062,20 @@ "symbol": "DOOD/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, - "maxNotional": 500000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, - "info": { - "bracket": "6", - "initialLeverage": "4", - "notionalCap": "500000", - "notionalFloor": "250000", - "maintMarginRatio": "0.125", - "cum": "13825.0" - } - }, - { - "tier": 7.0, - "symbol": "DOOD/USDT:USDT", - "currency": "USDT", - "minNotional": 500000.0, "maxNotional": 4500000.0, "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", - "notionalFloor": "500000", + "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "34675.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "DOOD/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -26234,16 +27083,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "409525.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "DOOD/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -26251,12 +27100,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2284525.0" + "cum": "2262825.0" } } ], @@ -26611,15 +27460,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -26627,71 +27476,54 @@ "symbol": "DUSK/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "DUSK/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "DUSK/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "DUSK/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "DUSK/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -26699,16 +27531,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "DUSK/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -26716,16 +27548,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "DUSK/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -26733,12 +27565,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -28022,13 +28854,13 @@ "symbol": "ENS/USDT:USDT", "currency": "USDT", "minNotional": 0.0, - "maxNotional": 10000.0, + "maxNotional": 5000.0, "maintenanceMarginRate": 0.01, - "maxLeverage": 25.0, + "maxLeverage": 75.0, "info": { "bracket": "1", - "initialLeverage": "25", - "notionalCap": "10000", + "initialLeverage": "75", + "notionalCap": "5000", "notionalFloor": "0", "maintMarginRatio": "0.01", "cum": "0.0" @@ -28038,136 +28870,170 @@ "tier": 2.0, "symbol": "ENS/USDT:USDT", "currency": "USDT", - "minNotional": 10000.0, - "maxNotional": 40000.0, + "minNotional": 5000.0, + "maxNotional": 10000.0, "maintenanceMarginRate": 0.015, - "maxLeverage": 20.0, + "maxLeverage": 50.0, "info": { "bracket": "2", - "initialLeverage": "20", - "notionalCap": "40000", - "notionalFloor": "10000", + "initialLeverage": "50", + "notionalCap": "10000", + "notionalFloor": "5000", "maintMarginRatio": "0.015", - "cum": "50.0" + "cum": "25.0" } }, { "tier": 3.0, "symbol": "ENS/USDT:USDT", "currency": "USDT", - "minNotional": 40000.0, - "maxNotional": 200000.0, + "minNotional": 10000.0, + "maxNotional": 50000.0, "maintenanceMarginRate": 0.02, - "maxLeverage": 15.0, + "maxLeverage": 25.0, "info": { "bracket": "3", - "initialLeverage": "15", - "notionalCap": "200000", - "notionalFloor": "40000", + "initialLeverage": "25", + "notionalCap": "50000", + "notionalFloor": "10000", "maintMarginRatio": "0.02", - "cum": "250.0" + "cum": "75.0" } }, { "tier": 4.0, "symbol": "ENS/USDT:USDT", "currency": "USDT", - "minNotional": 200000.0, - "maxNotional": 400000.0, + "minNotional": 50000.0, + "maxNotional": 100000.0, "maintenanceMarginRate": 0.025, - "maxLeverage": 10.0, + "maxLeverage": 20.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "400000", - "notionalFloor": "200000", + "initialLeverage": "20", + "notionalCap": "100000", + "notionalFloor": "50000", "maintMarginRatio": "0.025", - "cum": "1250.0" + "cum": "325.0" } }, { "tier": 5.0, "symbol": "ENS/USDT:USDT", "currency": "USDT", - "minNotional": 400000.0, - "maxNotional": 2000000.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 8.0, + "minNotional": 100000.0, + "maxNotional": 175000.0, + "maintenanceMarginRate": 0.0333, + "maxLeverage": 15.0, "info": { "bracket": "5", - "initialLeverage": "8", - "notionalCap": "2000000", - "notionalFloor": "400000", - "maintMarginRatio": "0.05", - "cum": "11250.0" + "initialLeverage": "15", + "notionalCap": "175000", + "notionalFloor": "100000", + "maintMarginRatio": "0.0333", + "cum": "1155.0" } }, { "tier": 6.0, "symbol": "ENS/USDT:USDT", "currency": "USDT", - "minNotional": 2000000.0, - "maxNotional": 4000000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "minNotional": 175000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "6", - "initialLeverage": "5", - "notionalCap": "4000000", - "notionalFloor": "2000000", - "maintMarginRatio": "0.1", - "cum": "111250.0" + "initialLeverage": "10", + "notionalCap": "250000", + "notionalFloor": "175000", + "maintMarginRatio": "0.05", + "cum": "4077.5" } }, { "tier": 7.0, "symbol": "ENS/USDT:USDT", "currency": "USDT", - "minNotional": 4000000.0, - "maxNotional": 4500000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, + "minNotional": 250000.0, + "maxNotional": 750000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "7", - "initialLeverage": "4", - "notionalCap": "4500000", - "notionalFloor": "4000000", - "maintMarginRatio": "0.125", - "cum": "211250.0" + "initialLeverage": "5", + "notionalCap": "750000", + "notionalFloor": "250000", + "maintMarginRatio": "0.1", + "cum": "16577.5" } }, { "tier": 8.0, "symbol": "ENS/USDT:USDT", "currency": "USDT", - "minNotional": 4500000.0, - "maxNotional": 5000000.0, - "maintenanceMarginRate": 0.25, - "maxLeverage": 2.0, + "minNotional": 750000.0, + "maxNotional": 1500000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "8", - "initialLeverage": "2", - "notionalCap": "5000000", - "notionalFloor": "4500000", - "maintMarginRatio": "0.25", - "cum": "773750.0" + "initialLeverage": "4", + "notionalCap": "1500000", + "notionalFloor": "750000", + "maintMarginRatio": "0.125", + "cum": "35327.5" } }, { "tier": 9.0, "symbol": "ENS/USDT:USDT", "currency": "USDT", - "minNotional": 5000000.0, - "maxNotional": 5500000.0, + "minNotional": 1500000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "9", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "1500000", + "maintMarginRatio": "0.1667", + "cum": "97877.5" + } + }, + { + "tier": 10.0, + "symbol": "ENS/USDT:USDT", + "currency": "USDT", + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "10", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "472727.5" + } + }, + { + "tier": 11.0, + "symbol": "ENS/USDT:USDT", + "currency": "USDT", + "minNotional": 7500000.0, + "maxNotional": 12500000.0, "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "11", "initialLeverage": "1", - "notionalCap": "5500000", - "notionalFloor": "5000000", + "notionalCap": "12500000", + "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2023750.0" + "cum": "2347727.5" } } ], @@ -28350,15 +29216,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -28366,50 +29232,50 @@ "symbol": "EPT/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 50000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "50000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "EPT/USDT:USDT", "currency": "USDT", - "minNotional": 50000.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "125000", - "notionalFloor": "50000", - "maintMarginRatio": "0.05", - "cum": "1325.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "EPT/USDT:USDT", "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "5", - "initialLeverage": "5", + "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", - "maintMarginRatio": "0.1", - "cum": "7575.0" + "notionalFloor": "50000", + "maintMarginRatio": "0.125", + "cum": "2550.0" } }, { @@ -28417,37 +29283,20 @@ "symbol": "EPT/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, - "maxNotional": 500000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, - "info": { - "bracket": "6", - "initialLeverage": "4", - "notionalCap": "500000", - "notionalFloor": "250000", - "maintMarginRatio": "0.125", - "cum": "13825.0" - } - }, - { - "tier": 7.0, - "symbol": "EPT/USDT:USDT", - "currency": "USDT", - "minNotional": 500000.0, "maxNotional": 4500000.0, "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", - "notionalFloor": "500000", + "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "34675.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "EPT/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -28455,16 +29304,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "409525.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "EPT/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -28472,12 +29321,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2284525.0" + "cum": "2262825.0" } } ], @@ -29366,10 +30215,10 @@ "minNotional": 0.0, "maxNotional": 300000.0, "maintenanceMarginRate": 0.004, - "maxLeverage": 125.0, + "maxLeverage": 150.0, "info": { "bracket": "1", - "initialLeverage": "125", + "initialLeverage": "150", "notionalCap": "300000", "notionalFloor": "0", "maintMarginRatio": "0.004", @@ -30363,15 +31212,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -30379,71 +31228,54 @@ "symbol": "F/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "F/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "F/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "F/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "F/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -30451,16 +31283,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "F/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -30468,16 +31300,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "F/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -30485,12 +31317,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -30862,15 +31694,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, + "maintenanceMarginRate": 0.025, "maxLeverage": 20.0, "info": { "bracket": "2", "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -30878,71 +31710,54 @@ "symbol": "FHE/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 15.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "15", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "FHE/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "FHE/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "FHE/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "FHE/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -30950,16 +31765,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "FHE/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -30967,16 +31782,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "FHE/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -30984,12 +31799,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -32412,15 +33227,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -32428,71 +33243,54 @@ "symbol": "FORTH/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "FORTH/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "FORTH/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "FORTH/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "FORTH/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -32500,16 +33298,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "FORTH/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -32517,16 +33315,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "FORTH/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -32534,12 +33332,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -33652,15 +34450,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -33668,71 +34466,54 @@ "symbol": "GHST/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "GHST/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "GHST/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "GHST/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "GHST/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -33740,16 +34521,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "GHST/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -33757,16 +34538,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "GHST/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -33774,12 +34555,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -34875,15 +35656,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -34891,71 +35672,54 @@ "symbol": "GRIFFAIN/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "GRIFFAIN/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "GRIFFAIN/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "GRIFFAIN/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "GRIFFAIN/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -34963,16 +35727,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "GRIFFAIN/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -34980,16 +35744,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "GRIFFAIN/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -34997,12 +35761,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -35202,15 +35966,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -35218,71 +35982,54 @@ "symbol": "GTC/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "GTC/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "GTC/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "GTC/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "GTC/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -35290,16 +36037,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "GTC/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -35307,16 +36054,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "GTC/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -35324,12 +36071,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -35340,14 +36087,14 @@ "currency": "USDT", "minNotional": 0.0, "maxNotional": 5000.0, - "maintenanceMarginRate": 0.01, - "maxLeverage": 75.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, "info": { "bracket": "1", - "initialLeverage": "75", + "initialLeverage": "50", "notionalCap": "5000", "notionalFloor": "0", - "maintMarginRatio": "0.01", + "maintMarginRatio": "0.015", "cum": "0.0" } }, @@ -35357,15 +36104,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.015, - "maxLeverage": 50.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "50", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.015", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -35373,33 +36120,33 @@ "symbol": "GUN/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "25", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.02", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "GUN/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, + "minNotional": 20000.0, "maxNotional": 50000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "20", + "initialLeverage": "5", "notionalCap": "50000", - "notionalFloor": "25000", - "maintMarginRatio": "0.025", - "cum": "200.0" + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { @@ -35407,71 +36154,37 @@ "symbol": "GUN/USDT:USDT", "currency": "USDT", "minNotional": 50000.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "5", - "initialLeverage": "10", - "notionalCap": "125000", + "initialLeverage": "4", + "notionalCap": "250000", "notionalFloor": "50000", - "maintMarginRatio": "0.05", - "cum": "1450.0" + "maintMarginRatio": "0.125", + "cum": "2550.0" } }, { "tier": 6.0, "symbol": "GUN/USDT:USDT", "currency": "USDT", - "minNotional": 125000.0, - "maxNotional": 250000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "6", - "initialLeverage": "5", - "notionalCap": "250000", - "notionalFloor": "125000", - "maintMarginRatio": "0.1", - "cum": "7700.0" - } - }, - { - "tier": 7.0, - "symbol": "GUN/USDT:USDT", - "currency": "USDT", "minNotional": 250000.0, - "maxNotional": 500000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, - "info": { - "bracket": "7", - "initialLeverage": "4", - "notionalCap": "500000", - "notionalFloor": "250000", - "maintMarginRatio": "0.125", - "cum": "13950.0" - } - }, - { - "tier": 8.0, - "symbol": "GUN/USDT:USDT", - "currency": "USDT", - "minNotional": 500000.0, "maxNotional": 4500000.0, "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "8", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", - "notionalFloor": "500000", + "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "34800.0" + "cum": "12975.0" } }, { - "tier": 9.0, + "tier": 7.0, "symbol": "GUN/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -35479,16 +36192,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "9", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "409650.0" + "cum": "387825.0" } }, { - "tier": 10.0, + "tier": 8.0, "symbol": "GUN/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -35496,12 +36209,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "10", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2284650.0" + "cum": "2262825.0" } } ], @@ -35684,15 +36397,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -35700,71 +36413,54 @@ "symbol": "HAEDAL/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "HAEDAL/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "HAEDAL/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "HAEDAL/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "HAEDAL/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -35772,16 +36468,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "HAEDAL/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -35789,16 +36485,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "HAEDAL/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -35806,12 +36502,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -36149,15 +36845,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -36165,71 +36861,54 @@ "symbol": "HEI/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "HEI/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "HEI/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "HEI/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "HEI/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -36237,16 +36916,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "HEI/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -36254,16 +36933,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "HEI/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -36271,12 +36950,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -36597,15 +37276,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -36613,71 +37292,54 @@ "symbol": "HIGH/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "HIGH/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "HIGH/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "HIGH/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "HIGH/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -36685,16 +37347,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "HIGH/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -36702,16 +37364,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "HIGH/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -36719,12 +37381,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -36752,15 +37414,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -36768,71 +37430,54 @@ "symbol": "HIPPO/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "HIPPO/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "HIPPO/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "HIPPO/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "HIPPO/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -36840,16 +37485,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "HIPPO/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -36857,16 +37502,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "HIPPO/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -36874,12 +37519,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -37062,15 +37707,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -37078,71 +37723,54 @@ "symbol": "HMSTR/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "HMSTR/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "HMSTR/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "HMSTR/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "HMSTR/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -37150,16 +37778,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "HMSTR/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -37167,16 +37795,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "HMSTR/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -37184,12 +37812,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -37389,15 +38017,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -37405,71 +38033,54 @@ "symbol": "HOOK/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "HOOK/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "HOOK/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "HOOK/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "HOOK/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -37477,16 +38088,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "HOOK/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -37494,16 +38105,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "HOOK/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -37511,12 +38122,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -39007,15 +39618,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -39023,71 +39634,54 @@ "symbol": "IDOL/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "IDOL/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "IDOL/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "IDOL/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "IDOL/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -39095,16 +39689,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "IDOL/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -39112,16 +39706,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "IDOL/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -39129,12 +39723,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -39465,6 +40059,161 @@ } } ], + "IN/USDT:USDT": [ + { + "tier": 1.0, + "symbol": "IN/USDT:USDT", + "currency": "USDT", + "minNotional": 0.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, + "info": { + "bracket": "1", + "initialLeverage": "50", + "notionalCap": "5000", + "notionalFloor": "0", + "maintMarginRatio": "0.015", + "cum": "0.0" + } + }, + { + "tier": 2.0, + "symbol": "IN/USDT:USDT", + "currency": "USDT", + "minNotional": 5000.0, + "maxNotional": 10000.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, + "info": { + "bracket": "2", + "initialLeverage": "25", + "notionalCap": "10000", + "notionalFloor": "5000", + "maintMarginRatio": "0.02", + "cum": "25.0" + } + }, + { + "tier": 3.0, + "symbol": "IN/USDT:USDT", + "currency": "USDT", + "minNotional": 10000.0, + "maxNotional": 25000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, + "info": { + "bracket": "3", + "initialLeverage": "20", + "notionalCap": "25000", + "notionalFloor": "10000", + "maintMarginRatio": "0.025", + "cum": "75.0" + } + }, + { + "tier": 4.0, + "symbol": "IN/USDT:USDT", + "currency": "USDT", + "minNotional": 25000.0, + "maxNotional": 62500.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, + "info": { + "bracket": "4", + "initialLeverage": "10", + "notionalCap": "62500", + "notionalFloor": "25000", + "maintMarginRatio": "0.05", + "cum": "700.0" + } + }, + { + "tier": 5.0, + "symbol": "IN/USDT:USDT", + "currency": "USDT", + "minNotional": 62500.0, + "maxNotional": 125000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, + "info": { + "bracket": "5", + "initialLeverage": "5", + "notionalCap": "125000", + "notionalFloor": "62500", + "maintMarginRatio": "0.1", + "cum": "3825.0" + } + }, + { + "tier": 6.0, + "symbol": "IN/USDT:USDT", + "currency": "USDT", + "minNotional": 125000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, + "info": { + "bracket": "6", + "initialLeverage": "4", + "notionalCap": "250000", + "notionalFloor": "125000", + "maintMarginRatio": "0.125", + "cum": "6950.0" + } + }, + { + "tier": 7.0, + "symbol": "IN/USDT:USDT", + "currency": "USDT", + "minNotional": 250000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "7", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "250000", + "maintMarginRatio": "0.1667", + "cum": "17375.0" + } + }, + { + "tier": 8.0, + "symbol": "IN/USDT:USDT", + "currency": "USDT", + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "8", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "392225.0" + } + }, + { + "tier": 9.0, + "symbol": "IN/USDT:USDT", + "currency": "USDT", + "minNotional": 7500000.0, + "maxNotional": 12500000.0, + "maintenanceMarginRate": 0.5, + "maxLeverage": 1.0, + "info": { + "bracket": "9", + "initialLeverage": "1", + "notionalCap": "12500000", + "notionalFloor": "7500000", + "maintMarginRatio": "0.5", + "cum": "2267225.0" + } + } + ], "INIT/USDT:USDT": [ { "tier": 1.0, @@ -40658,13 +41407,13 @@ "symbol": "IP/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, + "maxNotional": 50000.0, "maintenanceMarginRate": 0.02, "maxLeverage": 25.0, "info": { "bracket": "3", "initialLeverage": "25", - "notionalCap": "25000", + "notionalCap": "50000", "notionalFloor": "10000", "maintMarginRatio": "0.02", "cum": "75.0" @@ -40674,51 +41423,51 @@ "tier": 4.0, "symbol": "IP/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 50000.0, + "minNotional": 50000.0, + "maxNotional": 100000.0, "maintenanceMarginRate": 0.025, "maxLeverage": 20.0, "info": { "bracket": "4", "initialLeverage": "20", - "notionalCap": "50000", - "notionalFloor": "25000", + "notionalCap": "100000", + "notionalFloor": "50000", "maintMarginRatio": "0.025", - "cum": "200.0" + "cum": "325.0" } }, { "tier": 5.0, "symbol": "IP/USDT:USDT", "currency": "USDT", - "minNotional": 50000.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 100000.0, + "maxNotional": 175000.0, + "maintenanceMarginRate": 0.0333, + "maxLeverage": 15.0, "info": { "bracket": "5", - "initialLeverage": "10", - "notionalCap": "125000", - "notionalFloor": "50000", - "maintMarginRatio": "0.05", - "cum": "1450.0" + "initialLeverage": "15", + "notionalCap": "175000", + "notionalFloor": "100000", + "maintMarginRatio": "0.0333", + "cum": "1155.0" } }, { "tier": 6.0, "symbol": "IP/USDT:USDT", "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 175000.0, "maxNotional": 250000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "6", - "initialLeverage": "5", + "initialLeverage": "10", "notionalCap": "250000", - "notionalFloor": "125000", - "maintMarginRatio": "0.1", - "cum": "7700.0" + "notionalFloor": "175000", + "maintMarginRatio": "0.05", + "cum": "4077.5" } }, { @@ -40726,54 +41475,71 @@ "symbol": "IP/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, - "maxNotional": 500000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, + "maxNotional": 750000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "7", - "initialLeverage": "4", - "notionalCap": "500000", + "initialLeverage": "5", + "notionalCap": "750000", "notionalFloor": "250000", - "maintMarginRatio": "0.125", - "cum": "13950.0" + "maintMarginRatio": "0.1", + "cum": "16577.5" } }, { "tier": 8.0, "symbol": "IP/USDT:USDT", "currency": "USDT", - "minNotional": 500000.0, - "maxNotional": 4500000.0, - "maintenanceMarginRate": 0.1667, - "maxLeverage": 3.0, + "minNotional": 750000.0, + "maxNotional": 1500000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "8", - "initialLeverage": "3", - "notionalCap": "4500000", - "notionalFloor": "500000", - "maintMarginRatio": "0.1667", - "cum": "34800.0" + "initialLeverage": "4", + "notionalCap": "1500000", + "notionalFloor": "750000", + "maintMarginRatio": "0.125", + "cum": "35327.5" } }, { "tier": 9.0, "symbol": "IP/USDT:USDT", "currency": "USDT", + "minNotional": 1500000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "9", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "1500000", + "maintMarginRatio": "0.1667", + "cum": "97877.5" + } + }, + { + "tier": 10.0, + "symbol": "IP/USDT:USDT", + "currency": "USDT", "minNotional": 4500000.0, "maxNotional": 7500000.0, "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "9", + "bracket": "10", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "409650.0" + "cum": "472727.5" } }, { - "tier": 10.0, + "tier": 11.0, "symbol": "IP/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -40781,12 +41547,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "10", + "bracket": "11", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2284650.0" + "cum": "2347727.5" } } ], @@ -40797,14 +41563,14 @@ "currency": "USDT", "minNotional": 0.0, "maxNotional": 5000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, "info": { "bracket": "1", - "initialLeverage": "25", + "initialLeverage": "50", "notionalCap": "5000", "notionalFloor": "0", - "maintMarginRatio": "0.02", + "maintMarginRatio": "0.015", "cum": "0.0" } }, @@ -40814,14 +41580,14 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, "info": { "bracket": "2", - "initialLeverage": "20", + "initialLeverage": "25", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.025", + "maintMarginRatio": "0.02", "cum": "25.0" } }, @@ -40831,15 +41597,15 @@ "currency": "USDT", "minNotional": 10000.0, "maxNotional": 25000.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "3", - "initialLeverage": "10", + "initialLeverage": "20", "notionalCap": "25000", "notionalFloor": "10000", - "maintMarginRatio": "0.05", - "cum": "275.0" + "maintMarginRatio": "0.025", + "cum": "75.0" } }, { @@ -40847,50 +41613,50 @@ "symbol": "JASMY/USDT:USDT", "currency": "USDT", "minNotional": 25000.0, - "maxNotional": 50000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "maxNotional": 62500.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "4", - "initialLeverage": "5", - "notionalCap": "50000", + "initialLeverage": "10", + "notionalCap": "62500", "notionalFloor": "25000", - "maintMarginRatio": "0.1", - "cum": "1525.0" + "maintMarginRatio": "0.05", + "cum": "700.0" } }, { "tier": 5.0, "symbol": "JASMY/USDT:USDT", "currency": "USDT", - "minNotional": 50000.0, - "maxNotional": 100000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, + "minNotional": 62500.0, + "maxNotional": 125000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "5", - "initialLeverage": "4", - "notionalCap": "100000", - "notionalFloor": "50000", - "maintMarginRatio": "0.125", - "cum": "2775.0" + "initialLeverage": "5", + "notionalCap": "125000", + "notionalFloor": "62500", + "maintMarginRatio": "0.1", + "cum": "3825.0" } }, { "tier": 6.0, "symbol": "JASMY/USDT:USDT", "currency": "USDT", - "minNotional": 100000.0, + "minNotional": 125000.0, "maxNotional": 250000.0, - "maintenanceMarginRate": 0.1667, - "maxLeverage": 3.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "6", - "initialLeverage": "3", + "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "100000", - "maintMarginRatio": "0.1667", - "cum": "6945.0" + "notionalFloor": "125000", + "maintMarginRatio": "0.125", + "cum": "6950.0" } }, { @@ -40898,33 +41664,50 @@ "symbol": "JASMY/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, - "maxNotional": 500000.0, - "maintenanceMarginRate": 0.25, - "maxLeverage": 2.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, "info": { "bracket": "7", - "initialLeverage": "2", - "notionalCap": "500000", + "initialLeverage": "3", + "notionalCap": "4500000", "notionalFloor": "250000", - "maintMarginRatio": "0.25", - "cum": "27770.0" + "maintMarginRatio": "0.1667", + "cum": "17375.0" } }, { "tier": 8.0, "symbol": "JASMY/USDT:USDT", "currency": "USDT", - "minNotional": 500000.0, - "maxNotional": 800000.0, + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "8", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "392225.0" + } + }, + { + "tier": 9.0, + "symbol": "JASMY/USDT:USDT", + "currency": "USDT", + "minNotional": 7500000.0, + "maxNotional": 12500000.0, "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "8", + "bracket": "9", "initialLeverage": "1", - "notionalCap": "800000", - "notionalFloor": "500000", + "notionalCap": "12500000", + "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "152770.0" + "cum": "2267225.0" } } ], @@ -42776,15 +43559,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -42792,71 +43575,54 @@ "symbol": "KERNEL/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "KERNEL/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "KERNEL/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "KERNEL/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "KERNEL/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -42864,16 +43630,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "KERNEL/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -42881,16 +43647,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "KERNEL/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -42898,12 +43664,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -44705,13 +45471,13 @@ "symbol": "LINK/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 50000.0, + "maxNotional": 200000.0, "maintenanceMarginRate": 0.01, "maxLeverage": 50.0, "info": { "bracket": "2", "initialLeverage": "50", - "notionalCap": "50000", + "notionalCap": "200000", "notionalFloor": "10000", "maintMarginRatio": "0.01", "cum": "50.0" @@ -44721,24 +45487,24 @@ "tier": 3.0, "symbol": "LINK/USDT:USDT", "currency": "USDT", - "minNotional": 50000.0, - "maxNotional": 160000.0, + "minNotional": 200000.0, + "maxNotional": 400000.0, "maintenanceMarginRate": 0.015, "maxLeverage": 40.0, "info": { "bracket": "3", "initialLeverage": "40", - "notionalCap": "160000", - "notionalFloor": "50000", + "notionalCap": "400000", + "notionalFloor": "200000", "maintMarginRatio": "0.015", - "cum": "300.0" + "cum": "1050.0" } }, { "tier": 4.0, "symbol": "LINK/USDT:USDT", "currency": "USDT", - "minNotional": 160000.0, + "minNotional": 400000.0, "maxNotional": 800000.0, "maintenanceMarginRate": 0.02, "maxLeverage": 25.0, @@ -44746,9 +45512,9 @@ "bracket": "4", "initialLeverage": "25", "notionalCap": "800000", - "notionalFloor": "160000", + "notionalFloor": "400000", "maintMarginRatio": "0.02", - "cum": "1100.0" + "cum": "3050.0" } }, { @@ -44765,7 +45531,7 @@ "notionalCap": "1600000", "notionalFloor": "800000", "maintMarginRatio": "0.025", - "cum": "5100.0" + "cum": "7050.0" } }, { @@ -44782,7 +45548,7 @@ "notionalCap": "8000000", "notionalFloor": "1600000", "maintMarginRatio": "0.05", - "cum": "45100.0" + "cum": "47050.0" } }, { @@ -44799,7 +45565,7 @@ "notionalCap": "16000000", "notionalFloor": "8000000", "maintMarginRatio": "0.1", - "cum": "445100.0" + "cum": "447050.0" } }, { @@ -44816,7 +45582,7 @@ "notionalCap": "20000000", "notionalFloor": "16000000", "maintMarginRatio": "0.125", - "cum": "845100.0" + "cum": "847050.0" } }, { @@ -44833,7 +45599,7 @@ "notionalCap": "40000000", "notionalFloor": "20000000", "maintMarginRatio": "0.25", - "cum": "3345100.0" + "cum": "3347050.0" } }, { @@ -44850,7 +45616,7 @@ "notionalCap": "80000000", "notionalFloor": "40000000", "maintMarginRatio": "0.5", - "cum": "13345100.0" + "cum": "13347050.0" } } ], @@ -46394,15 +47160,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -46410,71 +47176,54 @@ "symbol": "LUMIA/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "LUMIA/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "LUMIA/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "LUMIA/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "LUMIA/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -46482,16 +47231,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "LUMIA/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -46499,16 +47248,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "LUMIA/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -46516,12 +47265,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -47530,15 +48279,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -47546,71 +48295,54 @@ "symbol": "MAV/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "MAV/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "MAV/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "MAV/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "MAV/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -47618,16 +48350,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "MAV/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -47635,16 +48367,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "MAV/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -47652,12 +48384,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -47685,15 +48417,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -47701,71 +48433,54 @@ "symbol": "MAVIA/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "MAVIA/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "MAVIA/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "MAVIA/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "MAVIA/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -47773,16 +48488,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "MAVIA/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -47790,16 +48505,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "MAVIA/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -47807,12 +48522,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -47840,15 +48555,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -47856,71 +48571,54 @@ "symbol": "MBOX/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "MBOX/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "MBOX/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "MBOX/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "MBOX/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -47928,16 +48626,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "MBOX/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -47945,16 +48643,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "MBOX/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -47962,12 +48660,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -48597,15 +49295,15 @@ "symbol": "MEMEFI/USDT:USDT", "currency": "USDT", "minNotional": 0.0, - "maxNotional": 5000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maxNotional": 2000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "1", - "initialLeverage": "25", - "notionalCap": "5000", + "initialLeverage": "20", + "notionalCap": "2000", "notionalFloor": "0", - "maintMarginRatio": "0.02", + "maintMarginRatio": "0.025", "cum": "0.0" } }, @@ -48613,55 +49311,38 @@ "tier": 2.0, "symbol": "MEMEFI/USDT:USDT", "currency": "USDT", - "minNotional": 5000.0, - "maxNotional": 10000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "minNotional": 2000.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "2", - "initialLeverage": "20", - "notionalCap": "10000", - "notionalFloor": "5000", - "maintMarginRatio": "0.025", - "cum": "25.0" + "initialLeverage": "10", + "notionalCap": "5000", + "notionalFloor": "2000", + "maintMarginRatio": "0.05", + "cum": "50.0" } }, { "tier": 3.0, "symbol": "MEMEFI/USDT:USDT", "currency": "USDT", - "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, - "info": { - "bracket": "3", - "initialLeverage": "10", - "notionalCap": "25000", - "notionalFloor": "10000", - "maintMarginRatio": "0.05", - "cum": "275.0" - } - }, - { - "tier": 4.0, - "symbol": "MEMEFI/USDT:USDT", - "currency": "USDT", - "minNotional": 25000.0, + "minNotional": 5000.0, "maxNotional": 50000.0, "maintenanceMarginRate": 0.1, "maxLeverage": 5.0, "info": { - "bracket": "4", + "bracket": "3", "initialLeverage": "5", "notionalCap": "50000", - "notionalFloor": "25000", + "notionalFloor": "5000", "maintMarginRatio": "0.1", - "cum": "1525.0" + "cum": "300.0" } }, { - "tier": 5.0, + "tier": 4.0, "symbol": "MEMEFI/USDT:USDT", "currency": "USDT", "minNotional": 50000.0, @@ -48669,16 +49350,16 @@ "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "5", + "bracket": "4", "initialLeverage": "4", "notionalCap": "100000", "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "2775.0" + "cum": "1550.0" } }, { - "tier": 6.0, + "tier": 5.0, "symbol": "MEMEFI/USDT:USDT", "currency": "USDT", "minNotional": 100000.0, @@ -48686,16 +49367,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "3", "notionalCap": "250000", "notionalFloor": "100000", "maintMarginRatio": "0.1667", - "cum": "6945.0" + "cum": "5720.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "MEMEFI/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -48703,16 +49384,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "2", "notionalCap": "500000", "notionalFloor": "250000", "maintMarginRatio": "0.25", - "cum": "27770.0" + "cum": "26545.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "MEMEFI/USDT:USDT", "currency": "USDT", "minNotional": 500000.0, @@ -48720,12 +49401,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "1", "notionalCap": "800000", "notionalFloor": "500000", "maintMarginRatio": "0.5", - "cum": "152770.0" + "cum": "151545.0" } } ], @@ -49218,15 +49899,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -49234,50 +49915,50 @@ "symbol": "MILK/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 50000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "50000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "MILK/USDT:USDT", "currency": "USDT", - "minNotional": 50000.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "125000", - "notionalFloor": "50000", - "maintMarginRatio": "0.05", - "cum": "1325.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "MILK/USDT:USDT", "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "5", - "initialLeverage": "5", + "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", - "maintMarginRatio": "0.1", - "cum": "7575.0" + "notionalFloor": "50000", + "maintMarginRatio": "0.125", + "cum": "2550.0" } }, { @@ -49285,37 +49966,20 @@ "symbol": "MILK/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, - "maxNotional": 500000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, - "info": { - "bracket": "6", - "initialLeverage": "4", - "notionalCap": "500000", - "notionalFloor": "250000", - "maintMarginRatio": "0.125", - "cum": "13825.0" - } - }, - { - "tier": 7.0, - "symbol": "MILK/USDT:USDT", - "currency": "USDT", - "minNotional": 500000.0, "maxNotional": 4500000.0, "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", - "notionalFloor": "500000", + "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "34675.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "MILK/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -49323,16 +49987,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "409525.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "MILK/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -49340,12 +50004,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2284525.0" + "cum": "2262825.0" } } ], @@ -49717,15 +50381,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -49733,71 +50397,54 @@ "symbol": "MLN/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "MLN/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "MLN/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "MLN/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "MLN/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -49805,16 +50452,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "MLN/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -49822,16 +50469,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "MLN/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -49839,12 +50486,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -50853,14 +51500,14 @@ "currency": "USDT", "minNotional": 0.0, "maxNotional": 5000.0, - "maintenanceMarginRate": 0.01, - "maxLeverage": 75.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, "info": { "bracket": "1", - "initialLeverage": "75", + "initialLeverage": "50", "notionalCap": "5000", "notionalFloor": "0", - "maintMarginRatio": "0.01", + "maintMarginRatio": "0.015", "cum": "0.0" } }, @@ -50869,15 +51516,15 @@ "symbol": "MUBARAK/USDT:USDT", "currency": "USDT", "minNotional": 5000.0, - "maxNotional": 10000.0, - "maintenanceMarginRate": 0.015, - "maxLeverage": 50.0, + "maxNotional": 6000.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, "info": { "bracket": "2", - "initialLeverage": "50", - "notionalCap": "10000", + "initialLeverage": "25", + "notionalCap": "6000", "notionalFloor": "5000", - "maintMarginRatio": "0.015", + "maintMarginRatio": "0.02", "cum": "25.0" } }, @@ -50885,106 +51532,89 @@ "tier": 3.0, "symbol": "MUBARAK/USDT:USDT", "currency": "USDT", - "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "minNotional": 6000.0, + "maxNotional": 14000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "3", - "initialLeverage": "25", - "notionalCap": "25000", - "notionalFloor": "10000", - "maintMarginRatio": "0.02", - "cum": "75.0" + "initialLeverage": "20", + "notionalCap": "14000", + "notionalFloor": "6000", + "maintMarginRatio": "0.025", + "cum": "55.0" } }, { "tier": 4.0, "symbol": "MUBARAK/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 50000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "minNotional": 14000.0, + "maxNotional": 35000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "4", - "initialLeverage": "20", - "notionalCap": "50000", - "notionalFloor": "25000", - "maintMarginRatio": "0.025", - "cum": "200.0" + "initialLeverage": "10", + "notionalCap": "35000", + "notionalFloor": "14000", + "maintMarginRatio": "0.05", + "cum": "405.0" } }, { "tier": 5.0, "symbol": "MUBARAK/USDT:USDT", "currency": "USDT", - "minNotional": 50000.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 35000.0, + "maxNotional": 82000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "5", - "initialLeverage": "10", - "notionalCap": "125000", - "notionalFloor": "50000", - "maintMarginRatio": "0.05", - "cum": "1450.0" + "initialLeverage": "5", + "notionalCap": "82000", + "notionalFloor": "35000", + "maintMarginRatio": "0.1", + "cum": "2155.0" } }, { "tier": 6.0, "symbol": "MUBARAK/USDT:USDT", "currency": "USDT", - "minNotional": 125000.0, - "maxNotional": 250000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "minNotional": 82000.0, + "maxNotional": 290000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "6", - "initialLeverage": "5", - "notionalCap": "250000", - "notionalFloor": "125000", - "maintMarginRatio": "0.1", - "cum": "7700.0" + "initialLeverage": "4", + "notionalCap": "290000", + "notionalFloor": "82000", + "maintMarginRatio": "0.125", + "cum": "4205.0" } }, { "tier": 7.0, "symbol": "MUBARAK/USDT:USDT", "currency": "USDT", - "minNotional": 250000.0, - "maxNotional": 500000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, - "info": { - "bracket": "7", - "initialLeverage": "4", - "notionalCap": "500000", - "notionalFloor": "250000", - "maintMarginRatio": "0.125", - "cum": "13950.0" - } - }, - { - "tier": 8.0, - "symbol": "MUBARAK/USDT:USDT", - "currency": "USDT", - "minNotional": 500000.0, + "minNotional": 290000.0, "maxNotional": 4500000.0, "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "3", "notionalCap": "4500000", - "notionalFloor": "500000", + "notionalFloor": "290000", "maintMarginRatio": "0.1667", - "cum": "34800.0" + "cum": "16298.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "MUBARAK/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -50992,16 +51622,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "409650.0" + "cum": "391148.0" } }, { - "tier": 10.0, + "tier": 9.0, "symbol": "MUBARAK/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -51009,12 +51639,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "10", + "bracket": "9", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2284650.0" + "cum": "2266148.0" } } ], @@ -51042,15 +51672,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -51058,71 +51688,54 @@ "symbol": "MYRO/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "MYRO/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "MYRO/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "MYRO/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "MYRO/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -51130,16 +51743,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "MYRO/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -51147,16 +51760,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "MYRO/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -51164,12 +51777,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -51328,6 +51941,161 @@ } } ], + "NAORIS/USDT:USDT": [ + { + "tier": 1.0, + "symbol": "NAORIS/USDT:USDT", + "currency": "USDT", + "minNotional": 0.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, + "info": { + "bracket": "1", + "initialLeverage": "50", + "notionalCap": "5000", + "notionalFloor": "0", + "maintMarginRatio": "0.015", + "cum": "0.0" + } + }, + { + "tier": 2.0, + "symbol": "NAORIS/USDT:USDT", + "currency": "USDT", + "minNotional": 5000.0, + "maxNotional": 10000.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, + "info": { + "bracket": "2", + "initialLeverage": "25", + "notionalCap": "10000", + "notionalFloor": "5000", + "maintMarginRatio": "0.02", + "cum": "25.0" + } + }, + { + "tier": 3.0, + "symbol": "NAORIS/USDT:USDT", + "currency": "USDT", + "minNotional": 10000.0, + "maxNotional": 25000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, + "info": { + "bracket": "3", + "initialLeverage": "20", + "notionalCap": "25000", + "notionalFloor": "10000", + "maintMarginRatio": "0.025", + "cum": "75.0" + } + }, + { + "tier": 4.0, + "symbol": "NAORIS/USDT:USDT", + "currency": "USDT", + "minNotional": 25000.0, + "maxNotional": 62500.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, + "info": { + "bracket": "4", + "initialLeverage": "10", + "notionalCap": "62500", + "notionalFloor": "25000", + "maintMarginRatio": "0.05", + "cum": "700.0" + } + }, + { + "tier": 5.0, + "symbol": "NAORIS/USDT:USDT", + "currency": "USDT", + "minNotional": 62500.0, + "maxNotional": 125000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, + "info": { + "bracket": "5", + "initialLeverage": "5", + "notionalCap": "125000", + "notionalFloor": "62500", + "maintMarginRatio": "0.1", + "cum": "3825.0" + } + }, + { + "tier": 6.0, + "symbol": "NAORIS/USDT:USDT", + "currency": "USDT", + "minNotional": 125000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, + "info": { + "bracket": "6", + "initialLeverage": "4", + "notionalCap": "250000", + "notionalFloor": "125000", + "maintMarginRatio": "0.125", + "cum": "6950.0" + } + }, + { + "tier": 7.0, + "symbol": "NAORIS/USDT:USDT", + "currency": "USDT", + "minNotional": 250000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "7", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "250000", + "maintMarginRatio": "0.1667", + "cum": "17375.0" + } + }, + { + "tier": 8.0, + "symbol": "NAORIS/USDT:USDT", + "currency": "USDT", + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "8", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "392225.0" + } + }, + { + "tier": 9.0, + "symbol": "NAORIS/USDT:USDT", + "currency": "USDT", + "minNotional": 7500000.0, + "maxNotional": 12500000.0, + "maintenanceMarginRate": 0.5, + "maxLeverage": 1.0, + "info": { + "bracket": "9", + "initialLeverage": "1", + "notionalCap": "12500000", + "notionalFloor": "7500000", + "maintMarginRatio": "0.5", + "cum": "2267225.0" + } + } + ], "NEAR/USDC:USDC": [ { "tier": 1.0, @@ -52488,15 +53256,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -52504,71 +53272,54 @@ "symbol": "NFP/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "NFP/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "NFP/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "NFP/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "NFP/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -52576,16 +53327,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "NFP/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -52593,16 +53344,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "NFP/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -52610,12 +53361,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -52919,14 +53670,14 @@ "currency": "USDT", "minNotional": 0.0, "maxNotional": 5000.0, - "maintenanceMarginRate": 0.015, - "maxLeverage": 50.0, + "maintenanceMarginRate": 0.01, + "maxLeverage": 75.0, "info": { "bracket": "1", - "initialLeverage": "50", + "initialLeverage": "75", "notionalCap": "5000", "notionalFloor": "0", - "maintMarginRatio": "0.015", + "maintMarginRatio": "0.01", "cum": "0.0" } }, @@ -52936,14 +53687,14 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "50", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", + "maintMarginRatio": "0.015", "cum": "25.0" } }, @@ -52953,14 +53704,14 @@ "currency": "USDT", "minNotional": 10000.0, "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, "info": { "bracket": "3", - "initialLeverage": "20", + "initialLeverage": "25", "notionalCap": "25000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", + "maintMarginRatio": "0.02", "cum": "75.0" } }, @@ -52969,33 +53720,33 @@ "symbol": "NMR/USDT:USDT", "currency": "USDT", "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", + "initialLeverage": "20", + "notionalCap": "50000", "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "maintMarginRatio": "0.025", + "cum": "200.0" } }, { "tier": 5.0, "symbol": "NMR/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, + "minNotional": 50000.0, "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "5", - "initialLeverage": "5", + "initialLeverage": "10", "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" + "notionalFloor": "50000", + "maintMarginRatio": "0.05", + "cum": "1450.0" } }, { @@ -53004,15 +53755,15 @@ "currency": "USDT", "minNotional": 125000.0, "maxNotional": 250000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "6", - "initialLeverage": "4", + "initialLeverage": "5", "notionalCap": "250000", "notionalFloor": "125000", - "maintMarginRatio": "0.125", - "cum": "6950.0" + "maintMarginRatio": "0.1", + "cum": "7700.0" } }, { @@ -53020,37 +53771,54 @@ "symbol": "NMR/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, - "maxNotional": 4500000.0, - "maintenanceMarginRate": 0.1667, - "maxLeverage": 3.0, + "maxNotional": 500000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "7", - "initialLeverage": "3", - "notionalCap": "4500000", + "initialLeverage": "4", + "notionalCap": "500000", "notionalFloor": "250000", - "maintMarginRatio": "0.1667", - "cum": "17375.0" + "maintMarginRatio": "0.125", + "cum": "13950.0" } }, { "tier": 8.0, "symbol": "NMR/USDT:USDT", "currency": "USDT", + "minNotional": 500000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "8", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "500000", + "maintMarginRatio": "0.1667", + "cum": "34800.0" + } + }, + { + "tier": 9.0, + "symbol": "NMR/USDT:USDT", + "currency": "USDT", "minNotional": 4500000.0, "maxNotional": 7500000.0, "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "9", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "409650.0" } }, { - "tier": 9.0, + "tier": 10.0, "symbol": "NMR/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -53058,12 +53826,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "10", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2284650.0" } } ], @@ -53745,15 +54513,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -53761,50 +54529,50 @@ "symbol": "OBOL/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 50000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "50000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "OBOL/USDT:USDT", "currency": "USDT", - "minNotional": 50000.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "125000", - "notionalFloor": "50000", - "maintMarginRatio": "0.05", - "cum": "1325.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "OBOL/USDT:USDT", "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "5", - "initialLeverage": "5", + "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", - "maintMarginRatio": "0.1", - "cum": "7575.0" + "notionalFloor": "50000", + "maintMarginRatio": "0.125", + "cum": "2550.0" } }, { @@ -53812,37 +54580,20 @@ "symbol": "OBOL/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, - "maxNotional": 500000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, - "info": { - "bracket": "6", - "initialLeverage": "4", - "notionalCap": "500000", - "notionalFloor": "250000", - "maintMarginRatio": "0.125", - "cum": "13825.0" - } - }, - { - "tier": 7.0, - "symbol": "OBOL/USDT:USDT", - "currency": "USDT", - "minNotional": 500000.0, "maxNotional": 4500000.0, "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", - "notionalFloor": "500000", + "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "34675.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "OBOL/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -53850,16 +54601,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "409525.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "OBOL/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -53867,12 +54618,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2284525.0" + "cum": "2262825.0" } } ], @@ -54159,15 +54910,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -54175,71 +54926,54 @@ "symbol": "OGN/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "OGN/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "OGN/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "OGN/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "OGN/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -54247,16 +54981,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "OGN/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -54264,16 +54998,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "OGN/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -54281,12 +55015,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -54314,15 +55048,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -54330,71 +55064,54 @@ "symbol": "OL/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "OL/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "OL/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "OL/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "OL/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -54402,16 +55119,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "OL/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -54419,16 +55136,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "OL/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -54436,12 +55153,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -55416,14 +56133,14 @@ "currency": "USDT", "minNotional": 0.0, "maxNotional": 5000.0, - "maintenanceMarginRate": 0.015, - "maxLeverage": 50.0, + "maintenanceMarginRate": 0.01, + "maxLeverage": 75.0, "info": { "bracket": "1", - "initialLeverage": "50", + "initialLeverage": "75", "notionalCap": "5000", "notionalFloor": "0", - "maintMarginRatio": "0.015", + "maintMarginRatio": "0.01", "cum": "0.0" } }, @@ -55433,14 +56150,14 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "50", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", + "maintMarginRatio": "0.015", "cum": "25.0" } }, @@ -55450,14 +56167,14 @@ "currency": "USDT", "minNotional": 10000.0, "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, "info": { "bracket": "3", - "initialLeverage": "20", + "initialLeverage": "25", "notionalCap": "25000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", + "maintMarginRatio": "0.02", "cum": "75.0" } }, @@ -55466,33 +56183,33 @@ "symbol": "ONT/USDT:USDT", "currency": "USDT", "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", + "initialLeverage": "20", + "notionalCap": "50000", "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "maintMarginRatio": "0.025", + "cum": "200.0" } }, { "tier": 5.0, "symbol": "ONT/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, + "minNotional": 50000.0, "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "5", - "initialLeverage": "5", + "initialLeverage": "10", "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" + "notionalFloor": "50000", + "maintMarginRatio": "0.05", + "cum": "1450.0" } }, { @@ -55501,15 +56218,15 @@ "currency": "USDT", "minNotional": 125000.0, "maxNotional": 250000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "6", - "initialLeverage": "4", + "initialLeverage": "5", "notionalCap": "250000", "notionalFloor": "125000", - "maintMarginRatio": "0.125", - "cum": "6950.0" + "maintMarginRatio": "0.1", + "cum": "7700.0" } }, { @@ -55517,37 +56234,54 @@ "symbol": "ONT/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, - "maxNotional": 4500000.0, - "maintenanceMarginRate": 0.1667, - "maxLeverage": 3.0, + "maxNotional": 500000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "7", - "initialLeverage": "3", - "notionalCap": "4500000", + "initialLeverage": "4", + "notionalCap": "500000", "notionalFloor": "250000", - "maintMarginRatio": "0.1667", - "cum": "17375.0" + "maintMarginRatio": "0.125", + "cum": "13950.0" } }, { "tier": 8.0, "symbol": "ONT/USDT:USDT", "currency": "USDT", + "minNotional": 500000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "8", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "500000", + "maintMarginRatio": "0.1667", + "cum": "34800.0" + } + }, + { + "tier": 9.0, + "symbol": "ONT/USDT:USDT", + "currency": "USDT", "minNotional": 4500000.0, "maxNotional": 7500000.0, "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "9", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "409650.0" } }, { - "tier": 9.0, + "tier": 10.0, "symbol": "ONT/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -55555,12 +56289,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "10", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2284650.0" } } ], @@ -56551,13 +57285,13 @@ "symbol": "PARTI/USDT:USDT", "currency": "USDT", "minNotional": 0.0, - "maxNotional": 5000.0, + "maxNotional": 1000.0, "maintenanceMarginRate": 0.01, "maxLeverage": 75.0, "info": { "bracket": "1", "initialLeverage": "75", - "notionalCap": "5000", + "notionalCap": "1000", "notionalFloor": "0", "maintMarginRatio": "0.01", "cum": "0.0" @@ -56567,109 +57301,109 @@ "tier": 2.0, "symbol": "PARTI/USDT:USDT", "currency": "USDT", - "minNotional": 5000.0, - "maxNotional": 10000.0, + "minNotional": 1000.0, + "maxNotional": 5000.0, "maintenanceMarginRate": 0.015, "maxLeverage": 50.0, "info": { "bracket": "2", "initialLeverage": "50", - "notionalCap": "10000", - "notionalFloor": "5000", + "notionalCap": "5000", + "notionalFloor": "1000", "maintMarginRatio": "0.015", - "cum": "25.0" + "cum": "5.0" } }, { "tier": 3.0, "symbol": "PARTI/USDT:USDT", "currency": "USDT", - "minNotional": 10000.0, - "maxNotional": 25000.0, + "minNotional": 5000.0, + "maxNotional": 9000.0, "maintenanceMarginRate": 0.02, "maxLeverage": 25.0, "info": { "bracket": "3", "initialLeverage": "25", - "notionalCap": "25000", - "notionalFloor": "10000", + "notionalCap": "9000", + "notionalFloor": "5000", "maintMarginRatio": "0.02", - "cum": "75.0" + "cum": "30.0" } }, { "tier": 4.0, "symbol": "PARTI/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 50000.0, + "minNotional": 9000.0, + "maxNotional": 26000.0, "maintenanceMarginRate": 0.025, "maxLeverage": 20.0, "info": { "bracket": "4", "initialLeverage": "20", - "notionalCap": "50000", - "notionalFloor": "25000", + "notionalCap": "26000", + "notionalFloor": "9000", "maintMarginRatio": "0.025", - "cum": "200.0" + "cum": "75.0" } }, { "tier": 5.0, "symbol": "PARTI/USDT:USDT", "currency": "USDT", - "minNotional": 50000.0, - "maxNotional": 125000.0, + "minNotional": 26000.0, + "maxNotional": 65000.0, "maintenanceMarginRate": 0.05, "maxLeverage": 10.0, "info": { "bracket": "5", "initialLeverage": "10", - "notionalCap": "125000", - "notionalFloor": "50000", + "notionalCap": "65000", + "notionalFloor": "26000", "maintMarginRatio": "0.05", - "cum": "1450.0" + "cum": "725.0" } }, { "tier": 6.0, "symbol": "PARTI/USDT:USDT", "currency": "USDT", - "minNotional": 125000.0, - "maxNotional": 250000.0, + "minNotional": 65000.0, + "maxNotional": 138000.0, "maintenanceMarginRate": 0.1, "maxLeverage": 5.0, "info": { "bracket": "6", "initialLeverage": "5", - "notionalCap": "250000", - "notionalFloor": "125000", + "notionalCap": "138000", + "notionalFloor": "65000", "maintMarginRatio": "0.1", - "cum": "7700.0" + "cum": "3975.0" } }, { "tier": 7.0, "symbol": "PARTI/USDT:USDT", "currency": "USDT", - "minNotional": 250000.0, - "maxNotional": 500000.0, + "minNotional": 138000.0, + "maxNotional": 360000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { "bracket": "7", "initialLeverage": "4", - "notionalCap": "500000", - "notionalFloor": "250000", + "notionalCap": "360000", + "notionalFloor": "138000", "maintMarginRatio": "0.125", - "cum": "13950.0" + "cum": "7425.0" } }, { "tier": 8.0, "symbol": "PARTI/USDT:USDT", "currency": "USDT", - "minNotional": 500000.0, + "minNotional": 360000.0, "maxNotional": 4500000.0, "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, @@ -56677,9 +57411,9 @@ "bracket": "8", "initialLeverage": "3", "notionalCap": "4500000", - "notionalFloor": "500000", + "notionalFloor": "360000", "maintMarginRatio": "0.1667", - "cum": "34800.0" + "cum": "22437.0" } }, { @@ -56696,7 +57430,7 @@ "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "409650.0" + "cum": "397287.0" } }, { @@ -56713,7 +57447,7 @@ "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2284650.0" + "cum": "2272287.0" } } ], @@ -57945,15 +58679,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -57961,71 +58695,54 @@ "symbol": "PHB/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "PHB/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "PHB/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "PHB/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "PHB/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -58033,16 +58750,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "PHB/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -58050,16 +58767,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "PHB/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -58067,12 +58784,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -58100,15 +58817,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -58116,71 +58833,54 @@ "symbol": "PIPPIN/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "PIPPIN/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "PIPPIN/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "PIPPIN/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "PIPPIN/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -58188,16 +58888,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "PIPPIN/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -58205,16 +58905,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "PIPPIN/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -58222,12 +58922,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -58386,6 +59086,161 @@ } } ], + "PLAY/USDT:USDT": [ + { + "tier": 1.0, + "symbol": "PLAY/USDT:USDT", + "currency": "USDT", + "minNotional": 0.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, + "info": { + "bracket": "1", + "initialLeverage": "50", + "notionalCap": "5000", + "notionalFloor": "0", + "maintMarginRatio": "0.015", + "cum": "0.0" + } + }, + { + "tier": 2.0, + "symbol": "PLAY/USDT:USDT", + "currency": "USDT", + "minNotional": 5000.0, + "maxNotional": 10000.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, + "info": { + "bracket": "2", + "initialLeverage": "25", + "notionalCap": "10000", + "notionalFloor": "5000", + "maintMarginRatio": "0.02", + "cum": "25.0" + } + }, + { + "tier": 3.0, + "symbol": "PLAY/USDT:USDT", + "currency": "USDT", + "minNotional": 10000.0, + "maxNotional": 25000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, + "info": { + "bracket": "3", + "initialLeverage": "20", + "notionalCap": "25000", + "notionalFloor": "10000", + "maintMarginRatio": "0.025", + "cum": "75.0" + } + }, + { + "tier": 4.0, + "symbol": "PLAY/USDT:USDT", + "currency": "USDT", + "minNotional": 25000.0, + "maxNotional": 62500.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, + "info": { + "bracket": "4", + "initialLeverage": "10", + "notionalCap": "62500", + "notionalFloor": "25000", + "maintMarginRatio": "0.05", + "cum": "700.0" + } + }, + { + "tier": 5.0, + "symbol": "PLAY/USDT:USDT", + "currency": "USDT", + "minNotional": 62500.0, + "maxNotional": 125000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, + "info": { + "bracket": "5", + "initialLeverage": "5", + "notionalCap": "125000", + "notionalFloor": "62500", + "maintMarginRatio": "0.1", + "cum": "3825.0" + } + }, + { + "tier": 6.0, + "symbol": "PLAY/USDT:USDT", + "currency": "USDT", + "minNotional": 125000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, + "info": { + "bracket": "6", + "initialLeverage": "4", + "notionalCap": "250000", + "notionalFloor": "125000", + "maintMarginRatio": "0.125", + "cum": "6950.0" + } + }, + { + "tier": 7.0, + "symbol": "PLAY/USDT:USDT", + "currency": "USDT", + "minNotional": 250000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "7", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "250000", + "maintMarginRatio": "0.1667", + "cum": "17375.0" + } + }, + { + "tier": 8.0, + "symbol": "PLAY/USDT:USDT", + "currency": "USDT", + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "8", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "392225.0" + } + }, + { + "tier": 9.0, + "symbol": "PLAY/USDT:USDT", + "currency": "USDT", + "minNotional": 7500000.0, + "maxNotional": 12500000.0, + "maintenanceMarginRate": 0.5, + "maxLeverage": 1.0, + "info": { + "bracket": "9", + "initialLeverage": "1", + "notionalCap": "12500000", + "notionalFloor": "7500000", + "maintMarginRatio": "0.5", + "cum": "2267225.0" + } + } + ], "PLUME/USDT:USDT": [ { "tier": 1.0, @@ -59597,15 +60452,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -59613,71 +60468,54 @@ "symbol": "PORT3/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "PORT3/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "PORT3/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "PORT3/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "PORT3/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -59685,16 +60523,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "PORT3/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -59702,16 +60540,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "PORT3/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -59719,12 +60557,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -60183,14 +61021,14 @@ "currency": "USDT", "minNotional": 0.0, "maxNotional": 5000.0, - "maintenanceMarginRate": 0.015, - "maxLeverage": 50.0, + "maintenanceMarginRate": 0.01, + "maxLeverage": 75.0, "info": { "bracket": "1", - "initialLeverage": "50", + "initialLeverage": "75", "notionalCap": "5000", "notionalFloor": "0", - "maintMarginRatio": "0.015", + "maintMarginRatio": "0.01", "cum": "0.0" } }, @@ -60200,14 +61038,14 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "50", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", + "maintMarginRatio": "0.015", "cum": "25.0" } }, @@ -60217,14 +61055,14 @@ "currency": "USDT", "minNotional": 10000.0, "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, "info": { "bracket": "3", - "initialLeverage": "20", + "initialLeverage": "25", "notionalCap": "25000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", + "maintMarginRatio": "0.02", "cum": "75.0" } }, @@ -60233,33 +61071,33 @@ "symbol": "PROMPT/USDT:USDT", "currency": "USDT", "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", + "initialLeverage": "20", + "notionalCap": "50000", "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "maintMarginRatio": "0.025", + "cum": "200.0" } }, { "tier": 5.0, "symbol": "PROMPT/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, + "minNotional": 50000.0, "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "5", - "initialLeverage": "5", + "initialLeverage": "10", "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" + "notionalFloor": "50000", + "maintMarginRatio": "0.05", + "cum": "1450.0" } }, { @@ -60268,15 +61106,15 @@ "currency": "USDT", "minNotional": 125000.0, "maxNotional": 250000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "6", - "initialLeverage": "4", + "initialLeverage": "5", "notionalCap": "250000", "notionalFloor": "125000", - "maintMarginRatio": "0.125", - "cum": "6950.0" + "maintMarginRatio": "0.1", + "cum": "7700.0" } }, { @@ -60284,37 +61122,54 @@ "symbol": "PROMPT/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, - "maxNotional": 4500000.0, - "maintenanceMarginRate": 0.1667, - "maxLeverage": 3.0, + "maxNotional": 500000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "7", - "initialLeverage": "3", - "notionalCap": "4500000", + "initialLeverage": "4", + "notionalCap": "500000", "notionalFloor": "250000", - "maintMarginRatio": "0.1667", - "cum": "17375.0" + "maintMarginRatio": "0.125", + "cum": "13950.0" } }, { "tier": 8.0, "symbol": "PROMPT/USDT:USDT", "currency": "USDT", + "minNotional": 500000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "8", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "500000", + "maintMarginRatio": "0.1667", + "cum": "34800.0" + } + }, + { + "tier": 9.0, + "symbol": "PROMPT/USDT:USDT", + "currency": "USDT", "minNotional": 4500000.0, "maxNotional": 7500000.0, "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "9", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "409650.0" } }, { - "tier": 9.0, + "tier": 10.0, "symbol": "PROMPT/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -60322,12 +61177,201 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "10", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2284650.0" + } + } + ], + "PROVE/USDT:USDT": [ + { + "tier": 1.0, + "symbol": "PROVE/USDT:USDT", + "currency": "USDT", + "minNotional": 0.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.01, + "maxLeverage": 75.0, + "info": { + "bracket": "1", + "initialLeverage": "75", + "notionalCap": "5000", + "notionalFloor": "0", + "maintMarginRatio": "0.01", + "cum": "0.0" + } + }, + { + "tier": 2.0, + "symbol": "PROVE/USDT:USDT", + "currency": "USDT", + "minNotional": 5000.0, + "maxNotional": 10000.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, + "info": { + "bracket": "2", + "initialLeverage": "50", + "notionalCap": "10000", + "notionalFloor": "5000", + "maintMarginRatio": "0.015", + "cum": "25.0" + } + }, + { + "tier": 3.0, + "symbol": "PROVE/USDT:USDT", + "currency": "USDT", + "minNotional": 10000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, + "info": { + "bracket": "3", + "initialLeverage": "25", + "notionalCap": "50000", + "notionalFloor": "10000", + "maintMarginRatio": "0.02", + "cum": "75.0" + } + }, + { + "tier": 4.0, + "symbol": "PROVE/USDT:USDT", + "currency": "USDT", + "minNotional": 50000.0, + "maxNotional": 100000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, + "info": { + "bracket": "4", + "initialLeverage": "20", + "notionalCap": "100000", + "notionalFloor": "50000", + "maintMarginRatio": "0.025", + "cum": "325.0" + } + }, + { + "tier": 5.0, + "symbol": "PROVE/USDT:USDT", + "currency": "USDT", + "minNotional": 100000.0, + "maxNotional": 175000.0, + "maintenanceMarginRate": 0.0333, + "maxLeverage": 15.0, + "info": { + "bracket": "5", + "initialLeverage": "15", + "notionalCap": "175000", + "notionalFloor": "100000", + "maintMarginRatio": "0.0333", + "cum": "1155.0" + } + }, + { + "tier": 6.0, + "symbol": "PROVE/USDT:USDT", + "currency": "USDT", + "minNotional": 175000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, + "info": { + "bracket": "6", + "initialLeverage": "10", + "notionalCap": "250000", + "notionalFloor": "175000", + "maintMarginRatio": "0.05", + "cum": "4077.5" + } + }, + { + "tier": 7.0, + "symbol": "PROVE/USDT:USDT", + "currency": "USDT", + "minNotional": 250000.0, + "maxNotional": 750000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, + "info": { + "bracket": "7", + "initialLeverage": "5", + "notionalCap": "750000", + "notionalFloor": "250000", + "maintMarginRatio": "0.1", + "cum": "16577.5" + } + }, + { + "tier": 8.0, + "symbol": "PROVE/USDT:USDT", + "currency": "USDT", + "minNotional": 750000.0, + "maxNotional": 1500000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, + "info": { + "bracket": "8", + "initialLeverage": "4", + "notionalCap": "1500000", + "notionalFloor": "750000", + "maintMarginRatio": "0.125", + "cum": "35327.5" + } + }, + { + "tier": 9.0, + "symbol": "PROVE/USDT:USDT", + "currency": "USDT", + "minNotional": 1500000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "9", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "1500000", + "maintMarginRatio": "0.1667", + "cum": "97877.5" + } + }, + { + "tier": 10.0, + "symbol": "PROVE/USDT:USDT", + "currency": "USDT", + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "10", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "472727.5" + } + }, + { + "tier": 11.0, + "symbol": "PROVE/USDT:USDT", + "currency": "USDT", + "minNotional": 7500000.0, + "maxNotional": 12000000.0, + "maintenanceMarginRate": 0.5, + "maxLeverage": 1.0, + "info": { + "bracket": "11", + "initialLeverage": "1", + "notionalCap": "12000000", + "notionalFloor": "7500000", + "maintMarginRatio": "0.5", + "cum": "2347727.5" } } ], @@ -60355,15 +61399,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -60371,71 +61415,54 @@ "symbol": "PUFFER/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "PUFFER/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "PUFFER/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "PUFFER/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "PUFFER/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -60443,16 +61470,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "PUFFER/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -60460,16 +61487,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "PUFFER/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -60477,12 +61504,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -60665,15 +61692,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -60681,71 +61708,54 @@ "symbol": "PUMPBTC/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "PUMPBTC/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "PUMPBTC/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "PUMPBTC/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "PUMPBTC/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -60753,16 +61763,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "PUMPBTC/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -60770,16 +61780,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "PUMPBTC/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -60787,12 +61797,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -61302,14 +62312,14 @@ "currency": "USDT", "minNotional": 0.0, "maxNotional": 5000.0, - "maintenanceMarginRate": 0.015, - "maxLeverage": 50.0, + "maintenanceMarginRate": 0.01, + "maxLeverage": 75.0, "info": { "bracket": "1", - "initialLeverage": "50", + "initialLeverage": "75", "notionalCap": "5000", "notionalFloor": "0", - "maintMarginRatio": "0.015", + "maintMarginRatio": "0.01", "cum": "0.0" } }, @@ -61319,14 +62329,14 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "50", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", + "maintMarginRatio": "0.015", "cum": "25.0" } }, @@ -61336,14 +62346,14 @@ "currency": "USDT", "minNotional": 10000.0, "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, "info": { "bracket": "3", - "initialLeverage": "20", + "initialLeverage": "25", "notionalCap": "25000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", + "maintMarginRatio": "0.02", "cum": "75.0" } }, @@ -61352,33 +62362,33 @@ "symbol": "QTUM/USDT:USDT", "currency": "USDT", "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", + "initialLeverage": "20", + "notionalCap": "50000", "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "maintMarginRatio": "0.025", + "cum": "200.0" } }, { "tier": 5.0, "symbol": "QTUM/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, + "minNotional": 50000.0, "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "5", - "initialLeverage": "5", + "initialLeverage": "10", "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" + "notionalFloor": "50000", + "maintMarginRatio": "0.05", + "cum": "1450.0" } }, { @@ -61387,15 +62397,15 @@ "currency": "USDT", "minNotional": 125000.0, "maxNotional": 250000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "6", - "initialLeverage": "4", + "initialLeverage": "5", "notionalCap": "250000", "notionalFloor": "125000", - "maintMarginRatio": "0.125", - "cum": "6950.0" + "maintMarginRatio": "0.1", + "cum": "7700.0" } }, { @@ -61403,37 +62413,54 @@ "symbol": "QTUM/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, - "maxNotional": 4500000.0, - "maintenanceMarginRate": 0.1667, - "maxLeverage": 3.0, + "maxNotional": 500000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "7", - "initialLeverage": "3", - "notionalCap": "4500000", + "initialLeverage": "4", + "notionalCap": "500000", "notionalFloor": "250000", - "maintMarginRatio": "0.1667", - "cum": "17375.0" + "maintMarginRatio": "0.125", + "cum": "13950.0" } }, { "tier": 8.0, "symbol": "QTUM/USDT:USDT", "currency": "USDT", + "minNotional": 500000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "8", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "500000", + "maintMarginRatio": "0.1667", + "cum": "34800.0" + } + }, + { + "tier": 9.0, + "symbol": "QTUM/USDT:USDT", + "currency": "USDT", "minNotional": 4500000.0, "maxNotional": 7500000.0, "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "9", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "409650.0" } }, { - "tier": 9.0, + "tier": 10.0, "symbol": "QTUM/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -61441,12 +62468,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "10", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2284650.0" } } ], @@ -61474,15 +62501,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -61490,71 +62517,54 @@ "symbol": "QUICK/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "QUICK/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "QUICK/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "QUICK/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "QUICK/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -61562,16 +62572,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "QUICK/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -61579,16 +62589,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "QUICK/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -61596,12 +62606,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -61750,15 +62760,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -61766,71 +62776,54 @@ "symbol": "RARE/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "RARE/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "RARE/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "RARE/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "RARE/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -61838,16 +62831,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "RARE/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -61855,16 +62848,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "RARE/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -61872,12 +62865,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -62181,15 +63174,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -62197,71 +63190,54 @@ "symbol": "RDNT/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "RDNT/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "RDNT/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "RDNT/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "RDNT/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -62269,16 +63245,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "RDNT/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -62286,16 +63262,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "RDNT/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -62303,12 +63279,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -62887,13 +63863,13 @@ "symbol": "RENDER/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, + "maxNotional": 50000.0, "maintenanceMarginRate": 0.02, "maxLeverage": 25.0, "info": { "bracket": "3", "initialLeverage": "25", - "notionalCap": "25000", + "notionalCap": "50000", "notionalFloor": "10000", "maintMarginRatio": "0.02", "cum": "75.0" @@ -62903,51 +63879,51 @@ "tier": 4.0, "symbol": "RENDER/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 50000.0, + "minNotional": 50000.0, + "maxNotional": 100000.0, "maintenanceMarginRate": 0.025, "maxLeverage": 20.0, "info": { "bracket": "4", "initialLeverage": "20", - "notionalCap": "50000", - "notionalFloor": "25000", + "notionalCap": "100000", + "notionalFloor": "50000", "maintMarginRatio": "0.025", - "cum": "200.0" + "cum": "325.0" } }, { "tier": 5.0, "symbol": "RENDER/USDT:USDT", "currency": "USDT", - "minNotional": 50000.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 100000.0, + "maxNotional": 175000.0, + "maintenanceMarginRate": 0.0333, + "maxLeverage": 15.0, "info": { "bracket": "5", - "initialLeverage": "10", - "notionalCap": "125000", - "notionalFloor": "50000", - "maintMarginRatio": "0.05", - "cum": "1450.0" + "initialLeverage": "15", + "notionalCap": "175000", + "notionalFloor": "100000", + "maintMarginRatio": "0.0333", + "cum": "1155.0" } }, { "tier": 6.0, "symbol": "RENDER/USDT:USDT", "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 175000.0, "maxNotional": 250000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "6", - "initialLeverage": "5", + "initialLeverage": "10", "notionalCap": "250000", - "notionalFloor": "125000", - "maintMarginRatio": "0.1", - "cum": "7700.0" + "notionalFloor": "175000", + "maintMarginRatio": "0.05", + "cum": "4077.5" } }, { @@ -62955,54 +63931,71 @@ "symbol": "RENDER/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, - "maxNotional": 500000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, + "maxNotional": 750000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "7", - "initialLeverage": "4", - "notionalCap": "500000", + "initialLeverage": "5", + "notionalCap": "750000", "notionalFloor": "250000", - "maintMarginRatio": "0.125", - "cum": "13950.0" + "maintMarginRatio": "0.1", + "cum": "16577.5" } }, { "tier": 8.0, "symbol": "RENDER/USDT:USDT", "currency": "USDT", - "minNotional": 500000.0, - "maxNotional": 4500000.0, - "maintenanceMarginRate": 0.1667, - "maxLeverage": 3.0, + "minNotional": 750000.0, + "maxNotional": 1500000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "8", - "initialLeverage": "3", - "notionalCap": "4500000", - "notionalFloor": "500000", - "maintMarginRatio": "0.1667", - "cum": "34800.0" + "initialLeverage": "4", + "notionalCap": "1500000", + "notionalFloor": "750000", + "maintMarginRatio": "0.125", + "cum": "35327.5" } }, { "tier": 9.0, "symbol": "RENDER/USDT:USDT", "currency": "USDT", + "minNotional": 1500000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "9", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "1500000", + "maintMarginRatio": "0.1667", + "cum": "97877.5" + } + }, + { + "tier": 10.0, + "symbol": "RENDER/USDT:USDT", + "currency": "USDT", "minNotional": 4500000.0, "maxNotional": 7500000.0, "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "9", + "bracket": "10", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "409650.0" + "cum": "472727.5" } }, { - "tier": 10.0, + "tier": 11.0, "symbol": "RENDER/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -63010,12 +64003,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "10", + "bracket": "11", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2284650.0" + "cum": "2347727.5" } } ], @@ -63043,15 +64036,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -63059,71 +64052,54 @@ "symbol": "RESOLV/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "RESOLV/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "RESOLV/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "RESOLV/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "RESOLV/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -63131,16 +64107,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "RESOLV/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -63148,16 +64124,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "RESOLV/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -63165,12 +64141,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -63198,15 +64174,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -63214,71 +64190,54 @@ "symbol": "REZ/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "REZ/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "REZ/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "REZ/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "REZ/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -63286,16 +64245,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "REZ/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -63303,16 +64262,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "REZ/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -63320,12 +64279,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -65555,6 +66514,144 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, + "info": { + "bracket": "2", + "initialLeverage": "20", + "notionalCap": "10000", + "notionalFloor": "5000", + "maintMarginRatio": "0.025", + "cum": "50.0" + } + }, + { + "tier": 3.0, + "symbol": "SANTOS/USDT:USDT", + "currency": "USDT", + "minNotional": 10000.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, + "info": { + "bracket": "3", + "initialLeverage": "10", + "notionalCap": "20000", + "notionalFloor": "10000", + "maintMarginRatio": "0.05", + "cum": "300.0" + } + }, + { + "tier": 4.0, + "symbol": "SANTOS/USDT:USDT", + "currency": "USDT", + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, + "info": { + "bracket": "4", + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" + } + }, + { + "tier": 5.0, + "symbol": "SANTOS/USDT:USDT", + "currency": "USDT", + "minNotional": 50000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, + "info": { + "bracket": "5", + "initialLeverage": "4", + "notionalCap": "250000", + "notionalFloor": "50000", + "maintMarginRatio": "0.125", + "cum": "2550.0" + } + }, + { + "tier": 6.0, + "symbol": "SANTOS/USDT:USDT", + "currency": "USDT", + "minNotional": 250000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "6", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "250000", + "maintMarginRatio": "0.1667", + "cum": "12975.0" + } + }, + { + "tier": 7.0, + "symbol": "SANTOS/USDT:USDT", + "currency": "USDT", + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "7", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "387825.0" + } + }, + { + "tier": 8.0, + "symbol": "SANTOS/USDT:USDT", + "currency": "USDT", + "minNotional": 7500000.0, + "maxNotional": 12500000.0, + "maintenanceMarginRate": 0.5, + "maxLeverage": 1.0, + "info": { + "bracket": "8", + "initialLeverage": "1", + "notionalCap": "12500000", + "notionalFloor": "7500000", + "maintMarginRatio": "0.5", + "cum": "2262825.0" + } + } + ], + "SAPIEN/USDT:USDT": [ + { + "tier": 1.0, + "symbol": "SAPIEN/USDT:USDT", + "currency": "USDT", + "minNotional": 0.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, + "info": { + "bracket": "1", + "initialLeverage": "50", + "notionalCap": "5000", + "notionalFloor": "0", + "maintMarginRatio": "0.015", + "cum": "0.0" + } + }, + { + "tier": 2.0, + "symbol": "SAPIEN/USDT:USDT", + "currency": "USDT", + "minNotional": 5000.0, + "maxNotional": 10000.0, "maintenanceMarginRate": 0.02, "maxLeverage": 25.0, "info": { @@ -65568,7 +66665,7 @@ }, { "tier": 3.0, - "symbol": "SANTOS/USDT:USDT", + "symbol": "SAPIEN/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, "maxNotional": 25000.0, @@ -65585,7 +66682,7 @@ }, { "tier": 4.0, - "symbol": "SANTOS/USDT:USDT", + "symbol": "SAPIEN/USDT:USDT", "currency": "USDT", "minNotional": 25000.0, "maxNotional": 62500.0, @@ -65602,7 +66699,7 @@ }, { "tier": 5.0, - "symbol": "SANTOS/USDT:USDT", + "symbol": "SAPIEN/USDT:USDT", "currency": "USDT", "minNotional": 62500.0, "maxNotional": 125000.0, @@ -65619,7 +66716,7 @@ }, { "tier": 6.0, - "symbol": "SANTOS/USDT:USDT", + "symbol": "SAPIEN/USDT:USDT", "currency": "USDT", "minNotional": 125000.0, "maxNotional": 250000.0, @@ -65636,7 +66733,7 @@ }, { "tier": 7.0, - "symbol": "SANTOS/USDT:USDT", + "symbol": "SAPIEN/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, "maxNotional": 4500000.0, @@ -65653,7 +66750,7 @@ }, { "tier": 8.0, - "symbol": "SANTOS/USDT:USDT", + "symbol": "SAPIEN/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, "maxNotional": 7500000.0, @@ -65670,7 +66767,7 @@ }, { "tier": 9.0, - "symbol": "SANTOS/USDT:USDT", + "symbol": "SAPIEN/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, "maxNotional": 12500000.0, @@ -66451,15 +67548,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -66467,71 +67564,54 @@ "symbol": "SHELL/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "SHELL/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "SHELL/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "SHELL/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "SHELL/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -66539,16 +67619,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "SHELL/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -66556,16 +67636,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "SHELL/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -66573,12 +67653,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -67381,15 +68461,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -67397,71 +68477,54 @@ "symbol": "SLERF/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "SLERF/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "SLERF/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "SLERF/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "SLERF/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -67469,16 +68532,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "SLERF/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -67486,16 +68549,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "SLERF/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -67503,12 +68566,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -68510,6 +69573,144 @@ } } ], + "SOMI/USDT:USDT": [ + { + "tier": 1.0, + "symbol": "SOMI/USDT:USDT", + "currency": "USDT", + "minNotional": 0.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, + "info": { + "bracket": "1", + "initialLeverage": "25", + "notionalCap": "5000", + "notionalFloor": "0", + "maintMarginRatio": "0.02", + "cum": "0.0" + } + }, + { + "tier": 2.0, + "symbol": "SOMI/USDT:USDT", + "currency": "USDT", + "minNotional": 5000.0, + "maxNotional": 10000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, + "info": { + "bracket": "2", + "initialLeverage": "20", + "notionalCap": "10000", + "notionalFloor": "5000", + "maintMarginRatio": "0.025", + "cum": "25.0" + } + }, + { + "tier": 3.0, + "symbol": "SOMI/USDT:USDT", + "currency": "USDT", + "minNotional": 10000.0, + "maxNotional": 25000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, + "info": { + "bracket": "3", + "initialLeverage": "10", + "notionalCap": "25000", + "notionalFloor": "10000", + "maintMarginRatio": "0.05", + "cum": "275.0" + } + }, + { + "tier": 4.0, + "symbol": "SOMI/USDT:USDT", + "currency": "USDT", + "minNotional": 25000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, + "info": { + "bracket": "4", + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "25000", + "maintMarginRatio": "0.1", + "cum": "1525.0" + } + }, + { + "tier": 5.0, + "symbol": "SOMI/USDT:USDT", + "currency": "USDT", + "minNotional": 50000.0, + "maxNotional": 100000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, + "info": { + "bracket": "5", + "initialLeverage": "4", + "notionalCap": "100000", + "notionalFloor": "50000", + "maintMarginRatio": "0.125", + "cum": "2775.0" + } + }, + { + "tier": 6.0, + "symbol": "SOMI/USDT:USDT", + "currency": "USDT", + "minNotional": 100000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "6", + "initialLeverage": "3", + "notionalCap": "250000", + "notionalFloor": "100000", + "maintMarginRatio": "0.1667", + "cum": "6945.0" + } + }, + { + "tier": 7.0, + "symbol": "SOMI/USDT:USDT", + "currency": "USDT", + "minNotional": 250000.0, + "maxNotional": 500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "7", + "initialLeverage": "2", + "notionalCap": "500000", + "notionalFloor": "250000", + "maintMarginRatio": "0.25", + "cum": "27770.0" + } + }, + { + "tier": 8.0, + "symbol": "SOMI/USDT:USDT", + "currency": "USDT", + "minNotional": 500000.0, + "maxNotional": 800000.0, + "maintenanceMarginRate": 0.5, + "maxLeverage": 1.0, + "info": { + "bracket": "8", + "initialLeverage": "1", + "notionalCap": "800000", + "notionalFloor": "500000", + "maintMarginRatio": "0.5", + "cum": "152770.0" + } + } + ], "SONIC/USDT:USDT": [ { "tier": 1.0, @@ -70273,15 +71474,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -70289,71 +71490,54 @@ "symbol": "STO/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "STO/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "STO/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "STO/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "STO/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -70361,16 +71545,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "STO/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -70378,16 +71562,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "STO/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -70395,12 +71579,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -71978,15 +73162,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -71994,71 +73178,54 @@ "symbol": "SWARMS/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "SWARMS/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "SWARMS/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "SWARMS/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "SWARMS/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -72066,16 +73233,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "SWARMS/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -72083,16 +73250,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "SWARMS/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -72100,12 +73267,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -72116,14 +73283,14 @@ "currency": "USDT", "minNotional": 0.0, "maxNotional": 5000.0, - "maintenanceMarginRate": 0.015, - "maxLeverage": 50.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, "info": { "bracket": "1", - "initialLeverage": "50", + "initialLeverage": "25", "notionalCap": "5000", "notionalFloor": "0", - "maintMarginRatio": "0.015", + "maintMarginRatio": "0.02", "cum": "0.0" } }, @@ -72133,14 +73300,14 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", + "maintMarginRatio": "0.025", "cum": "25.0" } }, @@ -72150,15 +73317,15 @@ "currency": "USDT", "minNotional": 10000.0, "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", + "initialLeverage": "10", "notionalCap": "25000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "275.0" } }, { @@ -72166,101 +73333,84 @@ "symbol": "SWELL/USDT:USDT", "currency": "USDT", "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", + "initialLeverage": "5", + "notionalCap": "50000", "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "maintMarginRatio": "0.1", + "cum": "1525.0" } }, { "tier": 5.0, "symbol": "SWELL/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "minNotional": 50000.0, + "maxNotional": 100000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" + "initialLeverage": "4", + "notionalCap": "100000", + "notionalFloor": "50000", + "maintMarginRatio": "0.125", + "cum": "2775.0" } }, { "tier": 6.0, "symbol": "SWELL/USDT:USDT", "currency": "USDT", - "minNotional": 125000.0, - "maxNotional": 250000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, + "minNotional": 100000.0, + "maxNotional": 500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, "info": { "bracket": "6", - "initialLeverage": "4", - "notionalCap": "250000", - "notionalFloor": "125000", - "maintMarginRatio": "0.125", - "cum": "6950.0" + "initialLeverage": "3", + "notionalCap": "500000", + "notionalFloor": "100000", + "maintMarginRatio": "0.1667", + "cum": "6945.0" } }, { "tier": 7.0, "symbol": "SWELL/USDT:USDT", "currency": "USDT", - "minNotional": 250000.0, - "maxNotional": 4500000.0, - "maintenanceMarginRate": 0.1667, - "maxLeverage": 3.0, + "minNotional": 500000.0, + "maxNotional": 1000000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, "info": { "bracket": "7", - "initialLeverage": "3", - "notionalCap": "4500000", - "notionalFloor": "250000", - "maintMarginRatio": "0.1667", - "cum": "17375.0" + "initialLeverage": "2", + "notionalCap": "1000000", + "notionalFloor": "500000", + "maintMarginRatio": "0.25", + "cum": "48595.0" } }, { "tier": 8.0, "symbol": "SWELL/USDT:USDT", "currency": "USDT", - "minNotional": 4500000.0, - "maxNotional": 7500000.0, - "maintenanceMarginRate": 0.25, - "maxLeverage": 2.0, - "info": { - "bracket": "8", - "initialLeverage": "2", - "notionalCap": "7500000", - "notionalFloor": "4500000", - "maintMarginRatio": "0.25", - "cum": "392225.0" - } - }, - { - "tier": 9.0, - "symbol": "SWELL/USDT:USDT", - "currency": "USDT", - "minNotional": 7500000.0, - "maxNotional": 12500000.0, + "minNotional": 1000000.0, + "maxNotional": 2000000.0, "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", - "notionalCap": "12500000", - "notionalFloor": "7500000", + "notionalCap": "2000000", + "notionalFloor": "1000000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "298595.0" } } ], @@ -72598,15 +73748,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -72614,71 +73764,54 @@ "symbol": "SYN/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "SYN/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "SYN/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "SYN/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "SYN/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -72686,16 +73819,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "SYN/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -72703,16 +73836,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "SYN/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -72720,12 +73853,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -72925,15 +74058,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -72941,71 +74074,54 @@ "symbol": "SYS/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "SYS/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "SYS/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "SYS/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "SYS/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -73013,16 +74129,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "SYS/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -73030,16 +74146,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "SYS/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -73047,12 +74163,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -73390,15 +74506,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -73406,71 +74522,54 @@ "symbol": "TAC/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "TAC/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "TAC/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "TAC/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "TAC/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -73478,16 +74577,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "TAC/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -73495,16 +74594,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "TAC/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -73512,12 +74611,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -73855,15 +74954,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -73871,71 +74970,54 @@ "symbol": "TANSSI/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "TANSSI/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "TANSSI/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "TANSSI/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "TANSSI/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -73943,16 +75025,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "TANSSI/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -73960,16 +75042,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "TANSSI/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -73977,12 +75059,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -74165,15 +75247,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -74181,71 +75263,54 @@ "symbol": "THE/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "THE/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "THE/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "THE/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "THE/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -74253,16 +75318,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "THE/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -74270,16 +75335,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "THE/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -74287,12 +75352,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -74802,15 +75867,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -74818,71 +75883,54 @@ "symbol": "TLM/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "TLM/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "TLM/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "TLM/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "TLM/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -74890,16 +75938,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "TLM/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -74907,16 +75955,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "TLM/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -74924,12 +75972,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -75112,15 +76160,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -75128,71 +76176,54 @@ "symbol": "TOKEN/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "TOKEN/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "TOKEN/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "TOKEN/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "TOKEN/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -75200,16 +76231,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "TOKEN/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -75217,16 +76248,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "TOKEN/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -75234,12 +76265,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -75398,6 +76429,178 @@ } } ], + "TOWNS/USDT:USDT": [ + { + "tier": 1.0, + "symbol": "TOWNS/USDT:USDT", + "currency": "USDT", + "minNotional": 0.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.01, + "maxLeverage": 75.0, + "info": { + "bracket": "1", + "initialLeverage": "75", + "notionalCap": "5000", + "notionalFloor": "0", + "maintMarginRatio": "0.01", + "cum": "0.0" + } + }, + { + "tier": 2.0, + "symbol": "TOWNS/USDT:USDT", + "currency": "USDT", + "minNotional": 5000.0, + "maxNotional": 10000.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, + "info": { + "bracket": "2", + "initialLeverage": "50", + "notionalCap": "10000", + "notionalFloor": "5000", + "maintMarginRatio": "0.015", + "cum": "25.0" + } + }, + { + "tier": 3.0, + "symbol": "TOWNS/USDT:USDT", + "currency": "USDT", + "minNotional": 10000.0, + "maxNotional": 25000.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, + "info": { + "bracket": "3", + "initialLeverage": "25", + "notionalCap": "25000", + "notionalFloor": "10000", + "maintMarginRatio": "0.02", + "cum": "75.0" + } + }, + { + "tier": 4.0, + "symbol": "TOWNS/USDT:USDT", + "currency": "USDT", + "minNotional": 25000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, + "info": { + "bracket": "4", + "initialLeverage": "20", + "notionalCap": "50000", + "notionalFloor": "25000", + "maintMarginRatio": "0.025", + "cum": "200.0" + } + }, + { + "tier": 5.0, + "symbol": "TOWNS/USDT:USDT", + "currency": "USDT", + "minNotional": 50000.0, + "maxNotional": 125000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, + "info": { + "bracket": "5", + "initialLeverage": "10", + "notionalCap": "125000", + "notionalFloor": "50000", + "maintMarginRatio": "0.05", + "cum": "1450.0" + } + }, + { + "tier": 6.0, + "symbol": "TOWNS/USDT:USDT", + "currency": "USDT", + "minNotional": 125000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, + "info": { + "bracket": "6", + "initialLeverage": "5", + "notionalCap": "250000", + "notionalFloor": "125000", + "maintMarginRatio": "0.1", + "cum": "7700.0" + } + }, + { + "tier": 7.0, + "symbol": "TOWNS/USDT:USDT", + "currency": "USDT", + "minNotional": 250000.0, + "maxNotional": 500000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, + "info": { + "bracket": "7", + "initialLeverage": "4", + "notionalCap": "500000", + "notionalFloor": "250000", + "maintMarginRatio": "0.125", + "cum": "13950.0" + } + }, + { + "tier": 8.0, + "symbol": "TOWNS/USDT:USDT", + "currency": "USDT", + "minNotional": 500000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "8", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "500000", + "maintMarginRatio": "0.1667", + "cum": "34800.0" + } + }, + { + "tier": 9.0, + "symbol": "TOWNS/USDT:USDT", + "currency": "USDT", + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "9", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "409650.0" + } + }, + { + "tier": 10.0, + "symbol": "TOWNS/USDT:USDT", + "currency": "USDT", + "minNotional": 7500000.0, + "maxNotional": 12500000.0, + "maintenanceMarginRate": 0.5, + "maxLeverage": 1.0, + "info": { + "bracket": "10", + "initialLeverage": "1", + "notionalCap": "12500000", + "notionalFloor": "7500000", + "maintMarginRatio": "0.5", + "cum": "2284650.0" + } + } + ], "TRB/USDT:USDT": [ { "tier": 1.0, @@ -75938,15 +77141,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -75954,71 +77157,54 @@ "symbol": "TRU/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "TRU/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "TRU/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "TRU/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "TRU/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -76026,16 +77212,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "TRU/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -76043,16 +77229,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "TRU/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -76060,12 +77246,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -76575,14 +77761,14 @@ "currency": "USDT", "minNotional": 0.0, "maxNotional": 5000.0, - "maintenanceMarginRate": 0.01, - "maxLeverage": 75.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, "info": { "bracket": "1", - "initialLeverage": "75", + "initialLeverage": "50", "notionalCap": "5000", "notionalFloor": "0", - "maintMarginRatio": "0.01", + "maintMarginRatio": "0.015", "cum": "0.0" } }, @@ -76592,15 +77778,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.015, - "maxLeverage": 50.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "50", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.015", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -76608,33 +77794,33 @@ "symbol": "TST/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "25", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.02", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "TST/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, + "minNotional": 20000.0, "maxNotional": 50000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "20", + "initialLeverage": "5", "notionalCap": "50000", - "notionalFloor": "25000", - "maintMarginRatio": "0.025", - "cum": "200.0" + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { @@ -76642,71 +77828,37 @@ "symbol": "TST/USDT:USDT", "currency": "USDT", "minNotional": 50000.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "5", - "initialLeverage": "10", - "notionalCap": "125000", + "initialLeverage": "4", + "notionalCap": "250000", "notionalFloor": "50000", - "maintMarginRatio": "0.05", - "cum": "1450.0" + "maintMarginRatio": "0.125", + "cum": "2550.0" } }, { "tier": 6.0, "symbol": "TST/USDT:USDT", "currency": "USDT", - "minNotional": 125000.0, - "maxNotional": 250000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "6", - "initialLeverage": "5", - "notionalCap": "250000", - "notionalFloor": "125000", - "maintMarginRatio": "0.1", - "cum": "7700.0" - } - }, - { - "tier": 7.0, - "symbol": "TST/USDT:USDT", - "currency": "USDT", "minNotional": 250000.0, - "maxNotional": 500000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, - "info": { - "bracket": "7", - "initialLeverage": "4", - "notionalCap": "500000", - "notionalFloor": "250000", - "maintMarginRatio": "0.125", - "cum": "13950.0" - } - }, - { - "tier": 8.0, - "symbol": "TST/USDT:USDT", - "currency": "USDT", - "minNotional": 500000.0, "maxNotional": 4500000.0, "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "8", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", - "notionalFloor": "500000", + "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "34800.0" + "cum": "12975.0" } }, { - "tier": 9.0, + "tier": 7.0, "symbol": "TST/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -76714,16 +77866,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "9", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "409650.0" + "cum": "387825.0" } }, { - "tier": 10.0, + "tier": 8.0, "symbol": "TST/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -76731,12 +77883,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "10", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2284650.0" + "cum": "2262825.0" } } ], @@ -76936,15 +78088,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -76952,71 +78104,54 @@ "symbol": "TUT/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "TUT/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "TUT/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "TUT/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "TUT/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -77024,16 +78159,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "TUT/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -77041,16 +78176,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "TUT/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -77058,12 +78193,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -77963,6 +79098,161 @@ } } ], + "USELESS/USDT:USDT": [ + { + "tier": 1.0, + "symbol": "USELESS/USDT:USDT", + "currency": "USDT", + "minNotional": 0.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, + "info": { + "bracket": "1", + "initialLeverage": "50", + "notionalCap": "5000", + "notionalFloor": "0", + "maintMarginRatio": "0.015", + "cum": "0.0" + } + }, + { + "tier": 2.0, + "symbol": "USELESS/USDT:USDT", + "currency": "USDT", + "minNotional": 5000.0, + "maxNotional": 10000.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, + "info": { + "bracket": "2", + "initialLeverage": "25", + "notionalCap": "10000", + "notionalFloor": "5000", + "maintMarginRatio": "0.02", + "cum": "25.0" + } + }, + { + "tier": 3.0, + "symbol": "USELESS/USDT:USDT", + "currency": "USDT", + "minNotional": 10000.0, + "maxNotional": 25000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, + "info": { + "bracket": "3", + "initialLeverage": "20", + "notionalCap": "25000", + "notionalFloor": "10000", + "maintMarginRatio": "0.025", + "cum": "75.0" + } + }, + { + "tier": 4.0, + "symbol": "USELESS/USDT:USDT", + "currency": "USDT", + "minNotional": 25000.0, + "maxNotional": 62500.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, + "info": { + "bracket": "4", + "initialLeverage": "10", + "notionalCap": "62500", + "notionalFloor": "25000", + "maintMarginRatio": "0.05", + "cum": "700.0" + } + }, + { + "tier": 5.0, + "symbol": "USELESS/USDT:USDT", + "currency": "USDT", + "minNotional": 62500.0, + "maxNotional": 125000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, + "info": { + "bracket": "5", + "initialLeverage": "5", + "notionalCap": "125000", + "notionalFloor": "62500", + "maintMarginRatio": "0.1", + "cum": "3825.0" + } + }, + { + "tier": 6.0, + "symbol": "USELESS/USDT:USDT", + "currency": "USDT", + "minNotional": 125000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, + "info": { + "bracket": "6", + "initialLeverage": "4", + "notionalCap": "250000", + "notionalFloor": "125000", + "maintMarginRatio": "0.125", + "cum": "6950.0" + } + }, + { + "tier": 7.0, + "symbol": "USELESS/USDT:USDT", + "currency": "USDT", + "minNotional": 250000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "7", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "250000", + "maintMarginRatio": "0.1667", + "cum": "17375.0" + } + }, + { + "tier": 8.0, + "symbol": "USELESS/USDT:USDT", + "currency": "USDT", + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "8", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "392225.0" + } + }, + { + "tier": 9.0, + "symbol": "USELESS/USDT:USDT", + "currency": "USDT", + "minNotional": 7500000.0, + "maxNotional": 12500000.0, + "maintenanceMarginRate": 0.5, + "maxLeverage": 1.0, + "info": { + "bracket": "9", + "initialLeverage": "1", + "notionalCap": "12500000", + "notionalFloor": "7500000", + "maintMarginRatio": "0.5", + "cum": "2267225.0" + } + } + ], "USTC/USDT:USDT": [ { "tier": 1.0, @@ -78951,15 +80241,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -78967,71 +80257,54 @@ "symbol": "VELVET/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "VELVET/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "VELVET/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "VELVET/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "VELVET/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -79039,16 +80312,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "VELVET/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -79056,16 +80329,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "VELVET/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -79073,12 +80346,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -79278,15 +80551,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -79294,71 +80567,54 @@ "symbol": "VIC/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "VIC/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "VIC/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "VIC/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "VIC/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -79366,16 +80622,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "VIC/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -79383,16 +80639,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "VIC/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -79400,12 +80656,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], @@ -81619,13 +82875,13 @@ "symbol": "WLD/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, + "maxNotional": 50000.0, "maintenanceMarginRate": 0.02, "maxLeverage": 25.0, "info": { "bracket": "3", "initialLeverage": "25", - "notionalCap": "25000", + "notionalCap": "50000", "notionalFloor": "10000", "maintMarginRatio": "0.02", "cum": "75.0" @@ -81635,51 +82891,51 @@ "tier": 4.0, "symbol": "WLD/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 50000.0, + "minNotional": 50000.0, + "maxNotional": 100000.0, "maintenanceMarginRate": 0.025, "maxLeverage": 20.0, "info": { "bracket": "4", "initialLeverage": "20", - "notionalCap": "50000", - "notionalFloor": "25000", + "notionalCap": "100000", + "notionalFloor": "50000", "maintMarginRatio": "0.025", - "cum": "200.0" + "cum": "325.0" } }, { "tier": 5.0, "symbol": "WLD/USDT:USDT", "currency": "USDT", - "minNotional": 50000.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 100000.0, + "maxNotional": 175000.0, + "maintenanceMarginRate": 0.0333, + "maxLeverage": 15.0, "info": { "bracket": "5", - "initialLeverage": "10", - "notionalCap": "125000", - "notionalFloor": "50000", - "maintMarginRatio": "0.05", - "cum": "1450.0" + "initialLeverage": "15", + "notionalCap": "175000", + "notionalFloor": "100000", + "maintMarginRatio": "0.0333", + "cum": "1155.0" } }, { "tier": 6.0, "symbol": "WLD/USDT:USDT", "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 175000.0, "maxNotional": 250000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "6", - "initialLeverage": "5", + "initialLeverage": "10", "notionalCap": "250000", - "notionalFloor": "125000", - "maintMarginRatio": "0.1", - "cum": "7700.0" + "notionalFloor": "175000", + "maintMarginRatio": "0.05", + "cum": "4077.5" } }, { @@ -81687,54 +82943,71 @@ "symbol": "WLD/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, - "maxNotional": 500000.0, - "maintenanceMarginRate": 0.125, - "maxLeverage": 4.0, + "maxNotional": 750000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "7", - "initialLeverage": "4", - "notionalCap": "500000", + "initialLeverage": "5", + "notionalCap": "750000", "notionalFloor": "250000", - "maintMarginRatio": "0.125", - "cum": "13950.0" + "maintMarginRatio": "0.1", + "cum": "16577.5" } }, { "tier": 8.0, "symbol": "WLD/USDT:USDT", "currency": "USDT", - "minNotional": 500000.0, - "maxNotional": 4500000.0, - "maintenanceMarginRate": 0.1667, - "maxLeverage": 3.0, + "minNotional": 750000.0, + "maxNotional": 1500000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, "info": { "bracket": "8", - "initialLeverage": "3", - "notionalCap": "4500000", - "notionalFloor": "500000", - "maintMarginRatio": "0.1667", - "cum": "34800.0" + "initialLeverage": "4", + "notionalCap": "1500000", + "notionalFloor": "750000", + "maintMarginRatio": "0.125", + "cum": "35327.5" } }, { "tier": 9.0, "symbol": "WLD/USDT:USDT", "currency": "USDT", + "minNotional": 1500000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "9", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "1500000", + "maintMarginRatio": "0.1667", + "cum": "97877.5" + } + }, + { + "tier": 10.0, + "symbol": "WLD/USDT:USDT", + "currency": "USDT", "minNotional": 4500000.0, "maxNotional": 7500000.0, "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "9", + "bracket": "10", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "409650.0" + "cum": "472727.5" } }, { - "tier": 10.0, + "tier": 11.0, "symbol": "WLD/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -81742,12 +83015,167 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "10", + "bracket": "11", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2284650.0" + "cum": "2347727.5" + } + } + ], + "WLFI/USDT:USDT": [ + { + "tier": 1.0, + "symbol": "WLFI/USDT:USDT", + "currency": "USDT", + "minNotional": 0.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, + "info": { + "bracket": "1", + "initialLeverage": "50", + "notionalCap": "5000", + "notionalFloor": "0", + "maintMarginRatio": "0.015", + "cum": "0.0" + } + }, + { + "tier": 2.0, + "symbol": "WLFI/USDT:USDT", + "currency": "USDT", + "minNotional": 5000.0, + "maxNotional": 10000.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, + "info": { + "bracket": "2", + "initialLeverage": "25", + "notionalCap": "10000", + "notionalFloor": "5000", + "maintMarginRatio": "0.02", + "cum": "25.0" + } + }, + { + "tier": 3.0, + "symbol": "WLFI/USDT:USDT", + "currency": "USDT", + "minNotional": 10000.0, + "maxNotional": 25000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, + "info": { + "bracket": "3", + "initialLeverage": "20", + "notionalCap": "25000", + "notionalFloor": "10000", + "maintMarginRatio": "0.025", + "cum": "75.0" + } + }, + { + "tier": 4.0, + "symbol": "WLFI/USDT:USDT", + "currency": "USDT", + "minNotional": 25000.0, + "maxNotional": 62500.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, + "info": { + "bracket": "4", + "initialLeverage": "10", + "notionalCap": "62500", + "notionalFloor": "25000", + "maintMarginRatio": "0.05", + "cum": "700.0" + } + }, + { + "tier": 5.0, + "symbol": "WLFI/USDT:USDT", + "currency": "USDT", + "minNotional": 62500.0, + "maxNotional": 125000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, + "info": { + "bracket": "5", + "initialLeverage": "5", + "notionalCap": "125000", + "notionalFloor": "62500", + "maintMarginRatio": "0.1", + "cum": "3825.0" + } + }, + { + "tier": 6.0, + "symbol": "WLFI/USDT:USDT", + "currency": "USDT", + "minNotional": 125000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, + "info": { + "bracket": "6", + "initialLeverage": "4", + "notionalCap": "250000", + "notionalFloor": "125000", + "maintMarginRatio": "0.125", + "cum": "6950.0" + } + }, + { + "tier": 7.0, + "symbol": "WLFI/USDT:USDT", + "currency": "USDT", + "minNotional": 250000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "7", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "250000", + "maintMarginRatio": "0.1667", + "cum": "17375.0" + } + }, + { + "tier": 8.0, + "symbol": "WLFI/USDT:USDT", + "currency": "USDT", + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "8", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "392225.0" + } + }, + { + "tier": 9.0, + "symbol": "WLFI/USDT:USDT", + "currency": "USDT", + "minNotional": 7500000.0, + "maxNotional": 12500000.0, + "maintenanceMarginRate": 0.5, + "maxLeverage": 1.0, + "info": { + "bracket": "9", + "initialLeverage": "1", + "notionalCap": "12500000", + "notionalFloor": "7500000", + "maintMarginRatio": "0.5", + "cum": "2267225.0" } } ], @@ -82698,6 +84126,316 @@ } } ], + "XNY/USDT:USDT": [ + { + "tier": 1.0, + "symbol": "XNY/USDT:USDT", + "currency": "USDT", + "minNotional": 0.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, + "info": { + "bracket": "1", + "initialLeverage": "50", + "notionalCap": "5000", + "notionalFloor": "0", + "maintMarginRatio": "0.015", + "cum": "0.0" + } + }, + { + "tier": 2.0, + "symbol": "XNY/USDT:USDT", + "currency": "USDT", + "minNotional": 5000.0, + "maxNotional": 10000.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, + "info": { + "bracket": "2", + "initialLeverage": "25", + "notionalCap": "10000", + "notionalFloor": "5000", + "maintMarginRatio": "0.02", + "cum": "25.0" + } + }, + { + "tier": 3.0, + "symbol": "XNY/USDT:USDT", + "currency": "USDT", + "minNotional": 10000.0, + "maxNotional": 25000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, + "info": { + "bracket": "3", + "initialLeverage": "20", + "notionalCap": "25000", + "notionalFloor": "10000", + "maintMarginRatio": "0.025", + "cum": "75.0" + } + }, + { + "tier": 4.0, + "symbol": "XNY/USDT:USDT", + "currency": "USDT", + "minNotional": 25000.0, + "maxNotional": 62500.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, + "info": { + "bracket": "4", + "initialLeverage": "10", + "notionalCap": "62500", + "notionalFloor": "25000", + "maintMarginRatio": "0.05", + "cum": "700.0" + } + }, + { + "tier": 5.0, + "symbol": "XNY/USDT:USDT", + "currency": "USDT", + "minNotional": 62500.0, + "maxNotional": 125000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, + "info": { + "bracket": "5", + "initialLeverage": "5", + "notionalCap": "125000", + "notionalFloor": "62500", + "maintMarginRatio": "0.1", + "cum": "3825.0" + } + }, + { + "tier": 6.0, + "symbol": "XNY/USDT:USDT", + "currency": "USDT", + "minNotional": 125000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, + "info": { + "bracket": "6", + "initialLeverage": "4", + "notionalCap": "250000", + "notionalFloor": "125000", + "maintMarginRatio": "0.125", + "cum": "6950.0" + } + }, + { + "tier": 7.0, + "symbol": "XNY/USDT:USDT", + "currency": "USDT", + "minNotional": 250000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "7", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "250000", + "maintMarginRatio": "0.1667", + "cum": "17375.0" + } + }, + { + "tier": 8.0, + "symbol": "XNY/USDT:USDT", + "currency": "USDT", + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "8", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "392225.0" + } + }, + { + "tier": 9.0, + "symbol": "XNY/USDT:USDT", + "currency": "USDT", + "minNotional": 7500000.0, + "maxNotional": 12500000.0, + "maintenanceMarginRate": 0.5, + "maxLeverage": 1.0, + "info": { + "bracket": "9", + "initialLeverage": "1", + "notionalCap": "12500000", + "notionalFloor": "7500000", + "maintMarginRatio": "0.5", + "cum": "2267225.0" + } + } + ], + "XPL/USDT:USDT": [ + { + "tier": 1.0, + "symbol": "XPL/USDT:USDT", + "currency": "USDT", + "minNotional": 0.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, + "info": { + "bracket": "1", + "initialLeverage": "50", + "notionalCap": "5000", + "notionalFloor": "0", + "maintMarginRatio": "0.015", + "cum": "0.0" + } + }, + { + "tier": 2.0, + "symbol": "XPL/USDT:USDT", + "currency": "USDT", + "minNotional": 5000.0, + "maxNotional": 10000.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, + "info": { + "bracket": "2", + "initialLeverage": "25", + "notionalCap": "10000", + "notionalFloor": "5000", + "maintMarginRatio": "0.02", + "cum": "25.0" + } + }, + { + "tier": 3.0, + "symbol": "XPL/USDT:USDT", + "currency": "USDT", + "minNotional": 10000.0, + "maxNotional": 25000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, + "info": { + "bracket": "3", + "initialLeverage": "20", + "notionalCap": "25000", + "notionalFloor": "10000", + "maintMarginRatio": "0.025", + "cum": "75.0" + } + }, + { + "tier": 4.0, + "symbol": "XPL/USDT:USDT", + "currency": "USDT", + "minNotional": 25000.0, + "maxNotional": 62500.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, + "info": { + "bracket": "4", + "initialLeverage": "10", + "notionalCap": "62500", + "notionalFloor": "25000", + "maintMarginRatio": "0.05", + "cum": "700.0" + } + }, + { + "tier": 5.0, + "symbol": "XPL/USDT:USDT", + "currency": "USDT", + "minNotional": 62500.0, + "maxNotional": 125000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, + "info": { + "bracket": "5", + "initialLeverage": "5", + "notionalCap": "125000", + "notionalFloor": "62500", + "maintMarginRatio": "0.1", + "cum": "3825.0" + } + }, + { + "tier": 6.0, + "symbol": "XPL/USDT:USDT", + "currency": "USDT", + "minNotional": 125000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, + "info": { + "bracket": "6", + "initialLeverage": "4", + "notionalCap": "250000", + "notionalFloor": "125000", + "maintMarginRatio": "0.125", + "cum": "6950.0" + } + }, + { + "tier": 7.0, + "symbol": "XPL/USDT:USDT", + "currency": "USDT", + "minNotional": 250000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "7", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "250000", + "maintMarginRatio": "0.1667", + "cum": "17375.0" + } + }, + { + "tier": 8.0, + "symbol": "XPL/USDT:USDT", + "currency": "USDT", + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "8", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "392225.0" + } + }, + { + "tier": 9.0, + "symbol": "XPL/USDT:USDT", + "currency": "USDT", + "minNotional": 7500000.0, + "maxNotional": 12500000.0, + "maintenanceMarginRate": 0.5, + "maxLeverage": 1.0, + "info": { + "bracket": "9", + "initialLeverage": "1", + "notionalCap": "12500000", + "notionalFloor": "7500000", + "maintMarginRatio": "0.5", + "cum": "2267225.0" + } + } + ], "XRP/USDC:USDC": [ { "tier": 1.0, @@ -83558,6 +85296,161 @@ } } ], + "YALA/USDT:USDT": [ + { + "tier": 1.0, + "symbol": "YALA/USDT:USDT", + "currency": "USDT", + "minNotional": 0.0, + "maxNotional": 5000.0, + "maintenanceMarginRate": 0.015, + "maxLeverage": 50.0, + "info": { + "bracket": "1", + "initialLeverage": "50", + "notionalCap": "5000", + "notionalFloor": "0", + "maintMarginRatio": "0.015", + "cum": "0.0" + } + }, + { + "tier": 2.0, + "symbol": "YALA/USDT:USDT", + "currency": "USDT", + "minNotional": 5000.0, + "maxNotional": 10000.0, + "maintenanceMarginRate": 0.02, + "maxLeverage": 25.0, + "info": { + "bracket": "2", + "initialLeverage": "25", + "notionalCap": "10000", + "notionalFloor": "5000", + "maintMarginRatio": "0.02", + "cum": "25.0" + } + }, + { + "tier": 3.0, + "symbol": "YALA/USDT:USDT", + "currency": "USDT", + "minNotional": 10000.0, + "maxNotional": 25000.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, + "info": { + "bracket": "3", + "initialLeverage": "20", + "notionalCap": "25000", + "notionalFloor": "10000", + "maintMarginRatio": "0.025", + "cum": "75.0" + } + }, + { + "tier": 4.0, + "symbol": "YALA/USDT:USDT", + "currency": "USDT", + "minNotional": 25000.0, + "maxNotional": 62500.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, + "info": { + "bracket": "4", + "initialLeverage": "10", + "notionalCap": "62500", + "notionalFloor": "25000", + "maintMarginRatio": "0.05", + "cum": "700.0" + } + }, + { + "tier": 5.0, + "symbol": "YALA/USDT:USDT", + "currency": "USDT", + "minNotional": 62500.0, + "maxNotional": 125000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, + "info": { + "bracket": "5", + "initialLeverage": "5", + "notionalCap": "125000", + "notionalFloor": "62500", + "maintMarginRatio": "0.1", + "cum": "3825.0" + } + }, + { + "tier": 6.0, + "symbol": "YALA/USDT:USDT", + "currency": "USDT", + "minNotional": 125000.0, + "maxNotional": 250000.0, + "maintenanceMarginRate": 0.125, + "maxLeverage": 4.0, + "info": { + "bracket": "6", + "initialLeverage": "4", + "notionalCap": "250000", + "notionalFloor": "125000", + "maintMarginRatio": "0.125", + "cum": "6950.0" + } + }, + { + "tier": 7.0, + "symbol": "YALA/USDT:USDT", + "currency": "USDT", + "minNotional": 250000.0, + "maxNotional": 4500000.0, + "maintenanceMarginRate": 0.1667, + "maxLeverage": 3.0, + "info": { + "bracket": "7", + "initialLeverage": "3", + "notionalCap": "4500000", + "notionalFloor": "250000", + "maintMarginRatio": "0.1667", + "cum": "17375.0" + } + }, + { + "tier": 8.0, + "symbol": "YALA/USDT:USDT", + "currency": "USDT", + "minNotional": 4500000.0, + "maxNotional": 7500000.0, + "maintenanceMarginRate": 0.25, + "maxLeverage": 2.0, + "info": { + "bracket": "8", + "initialLeverage": "2", + "notionalCap": "7500000", + "notionalFloor": "4500000", + "maintMarginRatio": "0.25", + "cum": "392225.0" + } + }, + { + "tier": 9.0, + "symbol": "YALA/USDT:USDT", + "currency": "USDT", + "minNotional": 7500000.0, + "maxNotional": 12500000.0, + "maintenanceMarginRate": 0.5, + "maxLeverage": 1.0, + "info": { + "bracket": "9", + "initialLeverage": "1", + "notionalCap": "12500000", + "notionalFloor": "7500000", + "maintMarginRatio": "0.5", + "cum": "2267225.0" + } + } + ], "YFI/USDT:USDT": [ { "tier": 1.0, @@ -84236,15 +86129,15 @@ "currency": "USDT", "minNotional": 5000.0, "maxNotional": 10000.0, - "maintenanceMarginRate": 0.02, - "maxLeverage": 25.0, + "maintenanceMarginRate": 0.025, + "maxLeverage": 20.0, "info": { "bracket": "2", - "initialLeverage": "25", + "initialLeverage": "20", "notionalCap": "10000", "notionalFloor": "5000", - "maintMarginRatio": "0.02", - "cum": "25.0" + "maintMarginRatio": "0.025", + "cum": "50.0" } }, { @@ -84252,71 +86145,54 @@ "symbol": "ZEREBRO/USDT:USDT", "currency": "USDT", "minNotional": 10000.0, - "maxNotional": 25000.0, - "maintenanceMarginRate": 0.025, - "maxLeverage": 20.0, + "maxNotional": 20000.0, + "maintenanceMarginRate": 0.05, + "maxLeverage": 10.0, "info": { "bracket": "3", - "initialLeverage": "20", - "notionalCap": "25000", + "initialLeverage": "10", + "notionalCap": "20000", "notionalFloor": "10000", - "maintMarginRatio": "0.025", - "cum": "75.0" + "maintMarginRatio": "0.05", + "cum": "300.0" } }, { "tier": 4.0, "symbol": "ZEREBRO/USDT:USDT", "currency": "USDT", - "minNotional": 25000.0, - "maxNotional": 62500.0, - "maintenanceMarginRate": 0.05, - "maxLeverage": 10.0, + "minNotional": 20000.0, + "maxNotional": 50000.0, + "maintenanceMarginRate": 0.1, + "maxLeverage": 5.0, "info": { "bracket": "4", - "initialLeverage": "10", - "notionalCap": "62500", - "notionalFloor": "25000", - "maintMarginRatio": "0.05", - "cum": "700.0" + "initialLeverage": "5", + "notionalCap": "50000", + "notionalFloor": "20000", + "maintMarginRatio": "0.1", + "cum": "1300.0" } }, { "tier": 5.0, "symbol": "ZEREBRO/USDT:USDT", "currency": "USDT", - "minNotional": 62500.0, - "maxNotional": 125000.0, - "maintenanceMarginRate": 0.1, - "maxLeverage": 5.0, - "info": { - "bracket": "5", - "initialLeverage": "5", - "notionalCap": "125000", - "notionalFloor": "62500", - "maintMarginRatio": "0.1", - "cum": "3825.0" - } - }, - { - "tier": 6.0, - "symbol": "ZEREBRO/USDT:USDT", - "currency": "USDT", - "minNotional": 125000.0, + "minNotional": 50000.0, "maxNotional": 250000.0, "maintenanceMarginRate": 0.125, "maxLeverage": 4.0, "info": { - "bracket": "6", + "bracket": "5", "initialLeverage": "4", "notionalCap": "250000", - "notionalFloor": "125000", + "notionalFloor": "50000", "maintMarginRatio": "0.125", - "cum": "6950.0" + "cum": "2550.0" } }, { - "tier": 7.0, + "tier": 6.0, "symbol": "ZEREBRO/USDT:USDT", "currency": "USDT", "minNotional": 250000.0, @@ -84324,16 +86200,16 @@ "maintenanceMarginRate": 0.1667, "maxLeverage": 3.0, "info": { - "bracket": "7", + "bracket": "6", "initialLeverage": "3", "notionalCap": "4500000", "notionalFloor": "250000", "maintMarginRatio": "0.1667", - "cum": "17375.0" + "cum": "12975.0" } }, { - "tier": 8.0, + "tier": 7.0, "symbol": "ZEREBRO/USDT:USDT", "currency": "USDT", "minNotional": 4500000.0, @@ -84341,16 +86217,16 @@ "maintenanceMarginRate": 0.25, "maxLeverage": 2.0, "info": { - "bracket": "8", + "bracket": "7", "initialLeverage": "2", "notionalCap": "7500000", "notionalFloor": "4500000", "maintMarginRatio": "0.25", - "cum": "392225.0" + "cum": "387825.0" } }, { - "tier": 9.0, + "tier": 8.0, "symbol": "ZEREBRO/USDT:USDT", "currency": "USDT", "minNotional": 7500000.0, @@ -84358,12 +86234,12 @@ "maintenanceMarginRate": 0.5, "maxLeverage": 1.0, "info": { - "bracket": "9", + "bracket": "8", "initialLeverage": "1", "notionalCap": "12500000", "notionalFloor": "7500000", "maintMarginRatio": "0.5", - "cum": "2267225.0" + "cum": "2262825.0" } } ], diff --git a/freqtrade/exchange/bitget.py b/freqtrade/exchange/bitget.py new file mode 100644 index 000000000..b6b347c34 --- /dev/null +++ b/freqtrade/exchange/bitget.py @@ -0,0 +1,128 @@ +import logging +from datetime import timedelta + +import ccxt + +from freqtrade.enums import CandleType +from freqtrade.exceptions import ( + DDosProtection, + OperationalException, + RetryableOrderError, + TemporaryError, +) +from freqtrade.exchange import Exchange +from freqtrade.exchange.common import API_RETRY_COUNT, retrier +from freqtrade.exchange.exchange_types import CcxtOrder, FtHas +from freqtrade.util.datetime_helpers import dt_now, dt_ts + + +logger = logging.getLogger(__name__) + + +class Bitget(Exchange): + """ + Bitget exchange class. Contains adjustments needed for Freqtrade to work + with this exchange. + + Please note that this exchange is not included in the list of exchanges + officially supported by the Freqtrade development team. So some features + may still not work as expected. + """ + + _ft_has: FtHas = { + "stoploss_on_exchange": True, + "stop_price_param": "stopPrice", + "stop_price_prop": "stopPrice", + "stoploss_order_types": {"limit": "limit", "market": "market"}, + "ohlcv_candle_limit": 200, # 200 for historical candles, 1000 for recent ones. + "order_time_in_force": ["GTC", "FOK", "IOC", "PO"], + } + _ft_has_futures: FtHas = { + "mark_ohlcv_timeframe": "4h", + } + + def ohlcv_candle_limit( + self, timeframe: str, candle_type: CandleType, since_ms: int | None = None + ) -> int: + """ + Exchange ohlcv candle limit + bitget has the following behaviour: + * 1000 candles for up-to-date data + * 200 candles for historic data (prior to a certain date) + :param timeframe: Timeframe to check + :param candle_type: Candle-type + :param since_ms: Starting timestamp + :return: Candle limit as integer + """ + timeframe_map = self._api.options["fetchOHLCV"]["maxRecentDaysPerTimeframe"] + days = timeframe_map.get(timeframe, 30) + + if candle_type in (CandleType.FUTURES, CandleType.SPOT, CandleType.MARK) and ( + not since_ms or dt_ts(dt_now() - timedelta(days=days)) < since_ms + ): + return 1000 + + return super().ohlcv_candle_limit(timeframe, candle_type, since_ms) + + def _convert_stop_order(self, pair: str, order_id: str, order: CcxtOrder) -> CcxtOrder: + if order.get("status", "open") == "closed": + # Use orderID as cliendOrderId filter to fetch the regular followup order. + # Could be done with "fetch_order" - but clientOid as filter doesn't seem to work + # https://www.bitget.com/api-doc/spot/trade/Get-Order-Info + + for method in ( + self._api.fetch_canceled_and_closed_orders, + self._api.fetch_open_orders, + ): + orders = method(pair) + orders_f = [order for order in orders if order["clientOrderId"] == order_id] + if orders_f: + order_reg = orders_f[0] + self._log_exchange_response("fetch_stoploss_order1", order_reg) + order_reg["id_stop"] = order_reg["id"] + order_reg["id"] = order_id + order_reg["type"] = "stoploss" + order_reg["status_stop"] = "triggered" + return order_reg + order = self._order_contracts_to_amount(order) + order["type"] = "stoploss" + return order + + def _fetch_stop_order_fallback(self, order_id: str, pair: str) -> CcxtOrder: + params2 = { + "stop": True, + } + for method in ( + self._api.fetch_open_orders, + self._api.fetch_canceled_and_closed_orders, + ): + try: + orders = method(pair, params=params2) + orders_f = [order for order in orders if order["id"] == order_id] + if orders_f: + order = orders_f[0] + self._log_exchange_response("get_stop_order_fallback", order) + return self._convert_stop_order(pair, order_id, order) + except (ccxt.OrderNotFound, ccxt.InvalidOrder): + pass + except ccxt.DDoSProtection as e: + raise DDosProtection(e) from e + except (ccxt.OperationFailed, ccxt.ExchangeError) as e: + raise TemporaryError( + f"Could not get order due to {e.__class__.__name__}. Message: {e}" + ) from e + except ccxt.BaseError as e: + raise OperationalException(e) from e + raise RetryableOrderError(f"StoplossOrder not found (pair: {pair} id: {order_id}).") + + @retrier(retries=API_RETRY_COUNT) + def fetch_stoploss_order( + self, order_id: str, pair: str, params: dict | None = None + ) -> CcxtOrder: + if self._config["dry_run"]: + return self.fetch_dry_run_order(order_id) + + return self._fetch_stop_order_fallback(order_id, pair) + + def cancel_stoploss_order(self, order_id: str, pair: str, params: dict | None = None) -> dict: + return self.cancel_order(order_id=order_id, pair=pair, params={"stop": True}) diff --git a/freqtrade/exchange/common.py b/freqtrade/exchange/common.py index 3780eab06..b13f7ae3b 100644 --- a/freqtrade/exchange/common.py +++ b/freqtrade/exchange/common.py @@ -46,10 +46,9 @@ BAD_EXCHANGES = { MAP_EXCHANGE_CHILDCLASS = { "binanceus": "binance", - "binanceje": "binance", "binanceusdm": "binance", "okex": "okx", - "myokx": "okx", + "okxus": "okx", "gateio": "gate", "huboi": "htx", } @@ -64,6 +63,7 @@ SUPPORTED_EXCHANGES = [ "hyperliquid", "kraken", "okx", + "myokx", ] # either the main, or replacement methods (array) is required diff --git a/freqtrade/exchange/exchange_utils.py b/freqtrade/exchange/exchange_utils.py index 550aab2c3..ddb57b123 100644 --- a/freqtrade/exchange/exchange_utils.py +++ b/freqtrade/exchange/exchange_utils.py @@ -213,9 +213,9 @@ def amount_to_precision( amount = float( decimal_to_precision( amount, - rounding_mode=TRUNCATE, - precision=precision, - counting_mode=precisionMode, + TRUNCATE, # rounding_mode + precision, # numPrecisionDigits + precisionMode, # counting_mode ) ) @@ -311,11 +311,11 @@ def price_to_precision( return float( decimal_to_precision( price, - rounding_mode=rounding_mode, - precision=int(price_precision) + rounding_mode, # rounding mode + int(price_precision) if precisionMode != TICK_SIZE - else price_precision, - counting_mode=precisionMode, + else price_precision, # numPrecisionDigits + precisionMode, # counting_mode ) ) diff --git a/freqtrade/exchange/okx.py b/freqtrade/exchange/okx.py index a30769b51..1b881366e 100644 --- a/freqtrade/exchange/okx.py +++ b/freqtrade/exchange/okx.py @@ -287,3 +287,14 @@ class Okx(Exchange): orders_open = self._api.fetch_open_orders(pair, since=since_ms) orders.extend(orders_open) return orders + + +class MyOkx(Okx): + """ + MyOkx exchange class. + Minimal adjustment to disable futures trading for the EU subsidiary of Okx + """ + + _supported_trading_mode_margin_pairs: list[tuple[TradingMode, MarginMode]] = [ + (TradingMode.SPOT, MarginMode.NONE), + ] diff --git a/freqtrade/freqai/data_drawer.py b/freqtrade/freqai/data_drawer.py index fef0ab73a..7886bc896 100644 --- a/freqtrade/freqai/data_drawer.py +++ b/freqtrade/freqai/data_drawer.py @@ -493,7 +493,7 @@ class FreqaiDataDrawer: dk.data["data_path"] = str(dk.data_path) dk.data["model_filename"] = str(dk.model_filename) - dk.data["training_features_list"] = list(dk.data_dictionary["train_features"].columns) + dk.data["training_features_list"] = dk.training_features_list dk.data["label_list"] = dk.label_list with (save_path / f"{dk.model_filename}_{METADATA}.json").open("w") as fp: diff --git a/freqtrade/freqai/freqai_interface.py b/freqtrade/freqai/freqai_interface.py index 1c66de46f..b70b7c67e 100644 --- a/freqtrade/freqai/freqai_interface.py +++ b/freqtrade/freqai/freqai_interface.py @@ -514,12 +514,7 @@ class IFreqaiModel(ABC): current coin/bot loop """ - if "training_features_list_raw" in dk.data: - feature_list = dk.data["training_features_list_raw"] - else: - feature_list = dk.data["training_features_list"] - - if dk.training_features_list != feature_list: + if dk.training_features_list != dk.data["training_features_list"]: raise OperationalException( "Trying to access pretrained model with `identifier` " "but found different features furnished by current strategy. " diff --git a/freqtrade/optimize/base_analysis.py b/freqtrade/optimize/analysis/base_analysis.py similarity index 100% rename from freqtrade/optimize/base_analysis.py rename to freqtrade/optimize/analysis/base_analysis.py diff --git a/freqtrade/optimize/analysis/lookahead.py b/freqtrade/optimize/analysis/lookahead.py index 879fa7c7f..f6d0bcfb7 100755 --- a/freqtrade/optimize/analysis/lookahead.py +++ b/freqtrade/optimize/analysis/lookahead.py @@ -13,8 +13,8 @@ from freqtrade.loggers.set_log_levels import ( reduce_verbosity_for_bias_tester, restore_verbosity_for_bias_tester, ) +from freqtrade.optimize.analysis.base_analysis import BaseAnalysis, VarHolder from freqtrade.optimize.backtesting import Backtesting -from freqtrade.optimize.base_analysis import BaseAnalysis, VarHolder logger = logging.getLogger(__name__) @@ -70,34 +70,29 @@ class LookaheadAnalysis(BaseAnalysis): cut_df: DataFrame = cut_vars.indicators[current_pair] full_df: DataFrame = full_vars.indicators[current_pair] - # cut longer dataframe to length of the shorter - full_df_cut = full_df[(full_df.date == cut_vars.compared_dt)].reset_index(drop=True) - cut_df_cut = cut_df[(cut_df.date == cut_vars.compared_dt)].reset_index(drop=True) + # trim full_df to the same index and length as cut_df + cut_full_df = full_df.loc[cut_df.index] + compare_df = cut_full_df.compare(cut_df) - # check if dataframes are not empty - if full_df_cut.shape[0] != 0 and cut_df_cut.shape[0] != 0: - # compare dataframes - compare_df = full_df_cut.compare(cut_df_cut) + if compare_df.shape[0] > 0: + for col_name in compare_df: + col_idx = compare_df.columns.get_loc(col_name) + compare_df_row = compare_df.iloc[0] + # compare_df now comprises tuples with [1] having either 'self' or 'other' + if "other" in col_name[1]: + continue + self_value = compare_df_row.iloc[col_idx] + other_value = compare_df_row.iloc[col_idx + 1] - if compare_df.shape[0] > 0: - for col_name, values in compare_df.items(): - col_idx = compare_df.columns.get_loc(col_name) - compare_df_row = compare_df.iloc[0] - # compare_df now comprises tuples with [1] having either 'self' or 'other' - if "other" in col_name[1]: - continue - self_value = compare_df_row.iloc[col_idx] - other_value = compare_df_row.iloc[col_idx + 1] - - # output differences - if self_value != other_value: - if not self.current_analysis.false_indicators.__contains__(col_name[0]): - self.current_analysis.false_indicators.append(col_name[0]) - logger.info( - f"=> found look ahead bias in indicator " - f"{col_name[0]}. " - f"{str(self_value)} != {str(other_value)}" - ) + # output differences + if self_value != other_value: + if not self.current_analysis.false_indicators.__contains__(col_name[0]): + self.current_analysis.false_indicators.append(col_name[0]) + logger.info( + f"=> found look ahead bias in column " + f"{col_name[0]}. " + f"{str(self_value)} != {str(other_value)}" + ) def prepare_data(self, varholder: VarHolder, pairs_to_load: list[DataFrame]): if "freqai" in self.local_config and "identifier" in self.local_config["freqai"]: @@ -132,7 +127,13 @@ class LookaheadAnalysis(BaseAnalysis): varholder.data, varholder.timerange = backtesting.load_bt_data() varholder.timeframe = backtesting.timeframe - varholder.indicators = backtesting.strategy.advise_all_indicators(varholder.data) + temp_indicators = backtesting.strategy.advise_all_indicators(varholder.data) + filled_indicators = dict() + for pair, dataframe in temp_indicators.items(): + filled_indicators[pair] = backtesting.strategy.ft_advise_signals( + dataframe, {"pair": pair} + ) + varholder.indicators = filled_indicators varholder.result = self.get_result(backtesting, varholder.indicators) def fill_entry_and_exit_varHolders(self, result_row): @@ -171,23 +172,23 @@ class LookaheadAnalysis(BaseAnalysis): self.fill_entry_and_exit_varHolders(result_row) # this will trigger a logger-message - buy_or_sell_biased: bool = False + entry_or_exit_biased: bool = False # register if buy signal is broken if not self.report_signal( self.entry_varHolders[idx].result, "open_date", self.entry_varHolders[idx].compared_dt ): self.current_analysis.false_entry_signals += 1 - buy_or_sell_biased = True + entry_or_exit_biased = True # register if buy or sell signal is broken if not self.report_signal( self.exit_varHolders[idx].result, "close_date", self.exit_varHolders[idx].compared_dt ): self.current_analysis.false_exit_signals += 1 - buy_or_sell_biased = True + entry_or_exit_biased = True - if buy_or_sell_biased: + if entry_or_exit_biased: logger.info( f"found lookahead-bias in trade " f"pair: {result_row['pair']}, " diff --git a/freqtrade/optimize/analysis/recursive.py b/freqtrade/optimize/analysis/recursive.py index 4d164d8b4..b65be6b4d 100644 --- a/freqtrade/optimize/analysis/recursive.py +++ b/freqtrade/optimize/analysis/recursive.py @@ -13,9 +13,8 @@ from freqtrade.loggers.set_log_levels import ( reduce_verbosity_for_bias_tester, restore_verbosity_for_bias_tester, ) +from freqtrade.optimize.analysis.base_analysis import BaseAnalysis, VarHolder from freqtrade.optimize.backtesting import Backtesting -from freqtrade.optimize.base_analysis import BaseAnalysis, VarHolder -from freqtrade.resolvers import StrategyResolver logger = logging.getLogger(__name__) @@ -33,13 +32,6 @@ class RecursiveAnalysis(BaseAnalysis): super().__init__(config, strategy_obj) - strat = StrategyResolver.load_strategy(config) - self._strat_scc = strat.startup_candle_count - - if self._strat_scc not in self._startup_candle: - self._startup_candle.append(self._strat_scc) - self._startup_candle.sort() - self.partial_varHolder_array: list[VarHolder] = [] self.partial_varHolder_lookahead_array: list[VarHolder] = [] @@ -146,8 +138,16 @@ class RecursiveAnalysis(BaseAnalysis): backtesting = Backtesting(prepare_data_config, self.exchange) self.exchange = backtesting.exchange + self.local_config["candle_type_def"] = prepare_data_config["candle_type_def"] backtesting._set_strategy(backtesting.strategylist[0]) + strat = backtesting.strategy + self._strat_scc = strat.startup_candle_count + + if self._strat_scc not in self._startup_candle: + self._startup_candle.append(self._strat_scc) + self._startup_candle.sort() + varholder.data, varholder.timerange = backtesting.load_bt_data() varholder.timeframe = backtesting.timeframe diff --git a/freqtrade/optimize/analysis/recursive_helpers.py b/freqtrade/optimize/analysis/recursive_helpers.py index 1d2ccdd0b..4a1deb5bf 100644 --- a/freqtrade/optimize/analysis/recursive_helpers.py +++ b/freqtrade/optimize/analysis/recursive_helpers.py @@ -17,7 +17,7 @@ class RecursiveAnalysisSubFunctions: @staticmethod def text_table_recursive_analysis_instances(recursive_instances: list[RecursiveAnalysis]): startups = recursive_instances[0]._startup_candle - strat_scc = recursive_instances[0]._strat_scc + strat_scc = getattr(recursive_instances[0], "_strat_scc", 0) or 0 headers = ["Indicators"] for candle in startups: if candle == strat_scc: diff --git a/freqtrade/optimize/backtesting.py b/freqtrade/optimize/backtesting.py index 56f349f25..65b4baff2 100644 --- a/freqtrade/optimize/backtesting.py +++ b/freqtrade/optimize/backtesting.py @@ -124,7 +124,7 @@ class Backtesting: self.trade_id_counter: int = 0 self.order_id_counter: int = 0 - config["dry_run"] = True + self.config["dry_run"] = True self.price_pair_prec: dict[str, Series] = {} self.run_ids: dict[str, str] = {} self.strategylist: list[IStrategy] = [] @@ -137,6 +137,7 @@ class Backtesting: self.rejected_dict: dict[str, list] = {} self._exchange_name = self.config["exchange"]["name"] + self.__initial_backtest = exchange is None if not exchange: exchange = ExchangeResolver.load_exchange(self.config, load_leverage_tiers=True) self.exchange = exchange @@ -179,20 +180,7 @@ class Backtesting: if len(self.pairlists.whitelist) == 0: raise OperationalException("No pair in whitelist.") - - if config.get("fee", None) is not None: - self.fee = config["fee"] - logger.info(f"Using fee {self.fee:.4%} from config.") - else: - fees = [ - self.exchange.get_fee( - symbol=self.pairlists.whitelist[0], - taker_or_maker=mt, # type: ignore - ) - for mt in ("taker", "maker") - ] - self.fee = max(fee for fee in fees if fee is not None) - logger.info(f"Using fee {self.fee:.4%} - worst case fee from exchange (lowest tier).") + self.set_fee() self.precision_mode = self.exchange.precisionMode self.precision_mode_price = self.exchange.precision_mode_price @@ -217,8 +205,8 @@ class Backtesting: # This value should NOT be written to startup_candle_count self.required_startup = self.dataprovider.get_required_startup(self.timeframe) - self.trading_mode: TradingMode = config.get("trading_mode", TradingMode.SPOT) - self.margin_mode: MarginMode = config.get("margin_mode", MarginMode.ISOLATED) + self.trading_mode: TradingMode = self.config.get("trading_mode", TradingMode.SPOT) + self.margin_mode: MarginMode = self.config.get("margin_mode", MarginMode.ISOLATED) # strategies which define "can_short=True" will fail to load in Spot mode. self._can_short = self.trading_mode != TradingMode.SPOT self._position_stacking: bool = self.config.get("position_stacking", False) @@ -238,6 +226,30 @@ class Backtesting: "PrecisionFilter not allowed for backtesting multiple strategies." ) + def log_once(self, msg: str) -> None: + """ + Partial reimplementation of log_once from the Login mixin. + only used by recursive, as __initial_backtest is false in all other cases. + + """ + if self.__initial_backtest: + logger.info(msg) + + def set_fee(self): + if self.config.get("fee", None) is not None: + self.fee = self.config["fee"] + self.log_once(f"Using fee {self.fee:.4%} from config.") + else: + fees = [ + self.exchange.get_fee( + symbol=self.pairlists.whitelist[0], + taker_or_maker=mt, + ) + for mt in ("taker", "maker") + ] + self.fee = max(fee for fee in fees if fee is not None) + self.log_once(f"Using fee {self.fee:.4%} - worst case fee from exchange (lowest tier).") + @staticmethod def cleanup(): LoggingMixin.show_output = True @@ -1649,7 +1661,7 @@ class Backtesting: pair_detail = self.get_detail_data(pair, row) if pair_detail is not None: pair_detail_cache[pair] = pair_detail - row = pair_detail_cache[pair][idx] + row = pair_detail_cache[pair][idx] is_last_row = current_time_det == end_date diff --git a/freqtrade/optimize/optimize_reports/bt_output.py b/freqtrade/optimize/optimize_reports/bt_output.py index a96ba4584..338fe5ca5 100644 --- a/freqtrade/optimize/optimize_reports/bt_output.py +++ b/freqtrade/optimize/optimize_reports/bt_output.py @@ -194,6 +194,7 @@ def text_table_strategy(strategy_results, stake_currency: str, title: str): def text_table_add_metrics(strat_results: dict) -> None: + stake = strat_results["stake_currency"] if len(strat_results["trades"]) > 0: best_trade = max(strat_results["trades"], key=lambda x: x["profit_ratio"]) worst_trade = min(strat_results["trades"], key=lambda x: x["profit_ratio"]) @@ -202,23 +203,19 @@ def text_table_add_metrics(strat_results: dict) -> None: [ ("", ""), # Empty line to improve readability ( - "Long / Short", + "Long / Short trades", f"{strat_results.get('trade_count_long', 'total_trades')} / " f"{strat_results.get('trade_count_short', 0)}", ), - ("Total profit Long %", f"{strat_results['profit_total_long']:.2%}"), - ("Total profit Short %", f"{strat_results['profit_total_short']:.2%}"), ( - "Absolute profit Long", - fmt_coin( - strat_results["profit_total_long_abs"], strat_results["stake_currency"] - ), + "Long / Short profit %", + f"{strat_results['profit_total_long']:.2%} / " + f"{strat_results['profit_total_short']:.2%}", ), ( - "Absolute profit Short", - fmt_coin( - strat_results["profit_total_short_abs"], strat_results["stake_currency"] - ), + f"Long / Short profit {stake}", + f"{strat_results['profit_total_long_abs']:.{decimals_per_coin(stake)}f} / " + f"{strat_results['profit_total_short_abs']:.{decimals_per_coin(stake)}f}", ), ] if strat_results.get("trade_count_short", 0) > 0 @@ -231,27 +228,34 @@ def text_table_add_metrics(strat_results: dict) -> None: drawdown_metrics.append( ("Max % of account underwater", f"{strat_results['max_relative_drawdown']:.2%}") ) + drawdown_account = ( + strat_results["max_drawdown_account"] + if "max_drawdown_account" in strat_results + else strat_results["max_drawdown"] + ) drawdown_metrics.extend( [ ( - ("Absolute Drawdown (Account)", f"{strat_results['max_drawdown_account']:.2%}") - if "max_drawdown_account" in strat_results - else ("Drawdown", f"{strat_results['max_drawdown']:.2%}") + "Absolute drawdown", + f"{fmt_coin(strat_results['max_drawdown_abs'], stake)} " + f"({drawdown_account:.2%})", ), ( - "Absolute Drawdown", - fmt_coin(strat_results["max_drawdown_abs"], strat_results["stake_currency"]), + "Drawdown duration", + strat_results["drawdown_duration"] + if "drawdown_duration" in strat_results + else "N/A", ), ( - "Drawdown high", - fmt_coin(strat_results["max_drawdown_high"], strat_results["stake_currency"]), + "Profit at drawdown start", + fmt_coin(strat_results["max_drawdown_high"], stake), ), ( - "Drawdown low", - fmt_coin(strat_results["max_drawdown_low"], strat_results["stake_currency"]), + "Profit at drawdown end", + fmt_coin(strat_results["max_drawdown_low"], stake), ), - ("Drawdown Start", strat_results["drawdown_start"]), - ("Drawdown End", strat_results["drawdown_end"]), + ("Drawdown start", strat_results["drawdown_start"]), + ("Drawdown end", strat_results["drawdown_end"]), ] ) @@ -299,15 +303,15 @@ def text_table_add_metrics(strat_results: dict) -> None: ), ( "Starting balance", - fmt_coin(strat_results["starting_balance"], strat_results["stake_currency"]), + fmt_coin(strat_results["starting_balance"], stake), ), ( "Final balance", - fmt_coin(strat_results["final_balance"], strat_results["stake_currency"]), + fmt_coin(strat_results["final_balance"], stake), ), ( "Absolute profit ", - fmt_coin(strat_results["profit_total_abs"], strat_results["stake_currency"]), + fmt_coin(strat_results["profit_total_abs"], stake), ), ("Total profit %", f"{strat_results['profit_total']:.2%}"), ("CAGR %", f"{strat_results['cagr']:.2%}" if "cagr" in strat_results else "N/A"), @@ -335,16 +339,16 @@ def text_table_add_metrics(strat_results: dict) -> None: "Avg. daily profit", fmt_coin( (strat_results["profit_total_abs"] / strat_results["backtest_days"]), - strat_results["stake_currency"], + stake, ), ), ( "Avg. stake amount", - fmt_coin(strat_results["avg_stake_amount"], strat_results["stake_currency"]), + fmt_coin(strat_results["avg_stake_amount"], stake), ), ( "Total trade volume", - fmt_coin(strat_results["total_volume"], strat_results["stake_currency"]), + fmt_coin(strat_results["total_volume"], stake), ), *short_metrics, ("", ""), # Empty line to improve readability @@ -362,11 +366,11 @@ def text_table_add_metrics(strat_results: dict) -> None: ("Worst trade", f"{worst_trade['pair']} {worst_trade['profit_ratio']:.2%}"), ( "Best day", - fmt_coin(strat_results["backtest_best_day_abs"], strat_results["stake_currency"]), + fmt_coin(strat_results["backtest_best_day_abs"], stake), ), ( "Worst day", - fmt_coin(strat_results["backtest_worst_day_abs"], strat_results["stake_currency"]), + fmt_coin(strat_results["backtest_worst_day_abs"], stake), ), ( "Days win/draw/lose", @@ -404,17 +408,17 @@ def text_table_add_metrics(strat_results: dict) -> None: ), *entry_adjustment_metrics, ("", ""), # Empty line to improve readability - ("Min balance", fmt_coin(strat_results["csum_min"], strat_results["stake_currency"])), - ("Max balance", fmt_coin(strat_results["csum_max"], strat_results["stake_currency"])), + ("Min balance", fmt_coin(strat_results["csum_min"], stake)), + ("Max balance", fmt_coin(strat_results["csum_max"], stake)), *drawdown_metrics, ("Market change", f"{strat_results['market_change']:.2%}"), ] print_rich_table(metrics, ["Metric", "Value"], summary="SUMMARY METRICS", justify="left") else: - start_balance = fmt_coin(strat_results["starting_balance"], strat_results["stake_currency"]) + start_balance = fmt_coin(strat_results["starting_balance"], stake) stake_amount = ( - fmt_coin(strat_results["stake_amount"], strat_results["stake_currency"]) + fmt_coin(strat_results["stake_amount"], stake) if strat_results["stake_amount"] != UNLIMITED_STAKE_AMOUNT else "unlimited" ) diff --git a/freqtrade/optimize/optimize_reports/bt_storage.py b/freqtrade/optimize/optimize_reports/bt_storage.py index 1e6a67e81..ef73d4721 100644 --- a/freqtrade/optimize/optimize_reports/bt_storage.py +++ b/freqtrade/optimize/optimize_reports/bt_storage.py @@ -64,7 +64,7 @@ def store_backtest_results( :param market_change_data: Dataframe containing market change data :param analysis_results: Dictionary containing analysis results """ - recordfilename: Path = config["exportfilename"] + recordfilename: Path = config["exportdirectory"] zip_filename = _generate_filename(recordfilename, dtappendix, ".zip") base_filename = _generate_filename(recordfilename, dtappendix, "") json_filename = _generate_filename(recordfilename, dtappendix, ".json") diff --git a/freqtrade/optimize/optimize_reports/optimize_reports.py b/freqtrade/optimize/optimize_reports/optimize_reports.py index a450fe938..a53980fb3 100644 --- a/freqtrade/optimize/optimize_reports/optimize_reports.py +++ b/freqtrade/optimize/optimize_reports/optimize_reports.py @@ -598,6 +598,8 @@ def generate_strategy_stats( "timerange": config.get("timerange", ""), "enable_protections": config.get("enable_protections", False), "strategy_name": strategy, + "freqaimodel": config.get("freqaimodel", None), + "freqai_identifier": config.get("freqai", {}).get("identifier", None), # Parameters relevant for backtesting "stoploss": config["stoploss"], "trailing_stop": config.get("trailing_stop", False), @@ -625,6 +627,7 @@ def generate_strategy_stats( underwater = calculate_max_drawdown( results, value_col="profit_abs", starting_balance=start_balance, relative=True ) + drawdown_duration = drawdown.low_date - drawdown.high_date strat_stats.update( { @@ -635,6 +638,8 @@ def generate_strategy_stats( "drawdown_start_ts": drawdown.high_date.timestamp() * 1000, "drawdown_end": drawdown.low_date.strftime(DATETIME_PRINT_FORMAT), "drawdown_end_ts": drawdown.low_date.timestamp() * 1000, + "drawdown_duration": drawdown_duration, + "drawdown_duration_s": drawdown_duration.total_seconds(), "max_drawdown_low": drawdown.low_value, "max_drawdown_high": drawdown.high_value, } diff --git a/freqtrade/persistence/trade_model.py b/freqtrade/persistence/trade_model.py index ee1f9d9ff..d898ea55e 100644 --- a/freqtrade/persistence/trade_model.py +++ b/freqtrade/persistence/trade_model.py @@ -1187,10 +1187,13 @@ class LocalTrade: """ close_trade_value = self.calc_close_trade_value(rate, amount) - if amount is None or open_rate is None: + if (amount is None) and (open_rate is None): open_trade_value = self.open_trade_value else: - open_trade_value = self._calc_open_trade_value(amount, open_rate) + # Fall back to trade.amount and self.open_rate if necessary + open_trade_value = self._calc_open_trade_value( + amount or self.amount, open_rate or self.open_rate + ) if open_trade_value == 0.0: return 0.0 diff --git a/freqtrade/plugins/pairlist/AgeFilter.py b/freqtrade/plugins/pairlist/AgeFilter.py index 03ba12770..1a6e8e3b7 100644 --- a/freqtrade/plugins/pairlist/AgeFilter.py +++ b/freqtrade/plugins/pairlist/AgeFilter.py @@ -31,8 +31,9 @@ class AgeFilter(IPairList): self._min_days_listed = self._pairlistconfig.get("min_days_listed", 10) self._max_days_listed = self._pairlistconfig.get("max_days_listed") + self._def_candletype = self._config["candle_type_def"] - candle_limit = self._exchange.ohlcv_candle_limit("1d", self._config["candle_type_def"]) + candle_limit = self._exchange.ohlcv_candle_limit("1d", self._def_candletype) if self._min_days_listed < 1: raise OperationalException("AgeFilter requires min_days_listed to be >= 1") if self._min_days_listed > candle_limit: @@ -100,7 +101,7 @@ class AgeFilter(IPairList): :return: new allowlist """ needed_pairs: ListPairsWithTimeframes = [ - (p, "1d", self._config["candle_type_def"]) + (p, "1d", self._def_candletype) for p in pairlist if p not in self._symbolsChecked and p not in self._symbolsCheckFailed ] @@ -116,8 +117,8 @@ class AgeFilter(IPairList): if self._enabled: for p in deepcopy(pairlist): daily_candles = ( - candles[(p, "1d", self._config["candle_type_def"])] - if (p, "1d", self._config["candle_type_def"]) in candles + candles[(p, "1d", self._def_candletype)] + if (p, "1d", self._def_candletype) in candles else None ) if not self._validate_pair_loc(p, daily_candles): diff --git a/freqtrade/plugins/pairlist/MarketCapPairList.py b/freqtrade/plugins/pairlist/MarketCapPairList.py index b95cec50f..79112b32e 100644 --- a/freqtrade/plugins/pairlist/MarketCapPairList.py +++ b/freqtrade/plugins/pairlist/MarketCapPairList.py @@ -37,7 +37,6 @@ class MarketCapPairList(IPairList): self._refresh_period = self._pairlistconfig.get("refresh_period", 86400) self._categories = self._pairlistconfig.get("categories", []) self._marketcap_cache: TTLCache = TTLCache(maxsize=1, ttl=self._refresh_period) - self._def_candletype = self._config["candle_type_def"] _coingecko_config = self._config.get("coingecko", {}) @@ -118,6 +117,16 @@ class MarketCapPairList(IPairList): }, } + def get_markets_exchange(self): + markets = [ + k + for k in self._exchange.get_markets( + quote_currencies=[self._stake_currency], tradable_only=True, active_only=True + ).keys() + ] + + return markets + def gen_pairlist(self, tickers: Tickers) -> list[str]: """ Generate the pairlist @@ -133,12 +142,8 @@ class MarketCapPairList(IPairList): else: # Use fresh pairlist # Check if pair quote currency equals to the stake currency. - _pairlist = [ - k - for k in self._exchange.get_markets( - quote_currencies=[self._stake_currency], tradable_only=True, active_only=True - ).keys() - ] + _pairlist = self.get_markets_exchange() + # No point in testing for blacklisted pairs... _pairlist = self.verify_blacklist(_pairlist, logger.info) @@ -147,6 +152,31 @@ class MarketCapPairList(IPairList): return pairlist + # Prefixes to test to discover coins like 1000PEPE/USDDT:USDT or KPEPE/USDC (hyperliquid) + prefixes = ("1000", "K") + + def resolve_marketcap_pair( + self, + pair: str, + pairlist: list[str], + markets: list[str], + filtered_pairlist: list[str], + ) -> str | None: + if pair in filtered_pairlist: + return None + + if pair in pairlist: + return pair + + if pair not in markets: + for prefix in self.prefixes: + test_prefix = f"{prefix}{pair}" + + if test_prefix in pairlist: + return test_prefix + + return None + def filter_pairlist(self, pairlist: list[str], tickers: dict) -> list[str]: """ Filters and sorts pairlist and returns the whitelist again. @@ -189,21 +219,25 @@ class MarketCapPairList(IPairList): self._marketcap_cache["marketcap"] = marketcap_list if marketcap_list: - filtered_pairlist = [] + filtered_pairlist: list[str] = [] - market = self._config["trading_mode"] + market = self._exchange._config["trading_mode"] pair_format = f"{self._stake_currency.upper()}" if market == "futures": pair_format += f":{self._stake_currency.upper()}" top_marketcap = marketcap_list[: self._max_rank :] + markets = self.get_markets_exchange() for mc_pair in top_marketcap: - test_pair = f"{mc_pair.upper()}/{pair_format}" - if test_pair in pairlist and test_pair not in filtered_pairlist: - filtered_pairlist.append(test_pair) - if len(filtered_pairlist) == self._number_assets: - break + pair = f"{mc_pair.upper()}/{pair_format}" + resolved = self.resolve_marketcap_pair(pair, pairlist, markets, filtered_pairlist) + + if resolved: + filtered_pairlist.append(resolved) + + if len(filtered_pairlist) == self._number_assets: + break if len(filtered_pairlist) > 0: return filtered_pairlist diff --git a/freqtrade/plugins/pairlist/PercentChangePairList.py b/freqtrade/plugins/pairlist/PercentChangePairList.py index 4f91a47d1..7f09cf77d 100644 --- a/freqtrade/plugins/pairlist/PercentChangePairList.py +++ b/freqtrade/plugins/pairlist/PercentChangePairList.py @@ -91,7 +91,7 @@ class PercentChangePairList(IPairList): ) candle_limit = self._exchange.ohlcv_candle_limit( - self._lookback_timeframe, self._config["candle_type_def"] + self._lookback_timeframe, self._def_candletype ) if self._lookback_period > candle_limit: diff --git a/freqtrade/plugins/pairlist/VolatilityFilter.py b/freqtrade/plugins/pairlist/VolatilityFilter.py index 87ca488c1..84056564a 100644 --- a/freqtrade/plugins/pairlist/VolatilityFilter.py +++ b/freqtrade/plugins/pairlist/VolatilityFilter.py @@ -40,7 +40,7 @@ class VolatilityFilter(IPairList): self._pair_cache: TTLCache = TTLCache(maxsize=1000, ttl=self._refresh_period) - candle_limit = self._exchange.ohlcv_candle_limit("1d", self._config["candle_type_def"]) + candle_limit = self._exchange.ohlcv_candle_limit("1d", self._def_candletype) if self._days < 1: raise OperationalException("VolatilityFilter requires lookback_days to be >= 1") if self._days > candle_limit: diff --git a/freqtrade/plugins/pairlist/VolumePairList.py b/freqtrade/plugins/pairlist/VolumePairList.py index b8f806858..63de5ad2d 100644 --- a/freqtrade/plugins/pairlist/VolumePairList.py +++ b/freqtrade/plugins/pairlist/VolumePairList.py @@ -89,7 +89,7 @@ class VolumePairList(IPairList): raise OperationalException(f"key {self._sort_key} not in {SORT_VALUES}") candle_limit = self._exchange.ohlcv_candle_limit( - self._lookback_timeframe, self._config["candle_type_def"] + self._lookback_timeframe, self._def_candletype ) if self._lookback_period < 0: raise OperationalException("VolumeFilter requires lookback_period to be >= 0") diff --git a/freqtrade/plugins/pairlist/rangestabilityfilter.py b/freqtrade/plugins/pairlist/rangestabilityfilter.py index ca5543bb0..8ea082658 100644 --- a/freqtrade/plugins/pairlist/rangestabilityfilter.py +++ b/freqtrade/plugins/pairlist/rangestabilityfilter.py @@ -34,7 +34,7 @@ class RangeStabilityFilter(IPairList): self._pair_cache: TTLCache = TTLCache(maxsize=1000, ttl=self._refresh_period) - candle_limit = self._exchange.ohlcv_candle_limit("1d", self._config["candle_type_def"]) + candle_limit = self._exchange.ohlcv_candle_limit("1d", self._def_candletype) if self._days < 1: raise OperationalException("RangeStabilityFilter requires lookback_days to be >= 1") if self._days > candle_limit: diff --git a/freqtrade/rpc/api_server/api_pairlists.py b/freqtrade/rpc/api_server/api_pairlists.py index 727798566..094b9f8e2 100644 --- a/freqtrade/rpc/api_server/api_pairlists.py +++ b/freqtrade/rpc/api_server/api_pairlists.py @@ -54,6 +54,7 @@ def __run_pairlist(job_id: str, config_loc: Config): with FtNoDBContext(): exchange = get_exchange(config_loc) + config_loc["candle_type_def"] = exchange._config["candle_type_def"] pairlists = PairListManager(exchange, config_loc) pairlists.refresh_pairlist() ApiBG.jobs[job_id]["result"] = { diff --git a/freqtrade/rpc/telegram.py b/freqtrade/rpc/telegram.py index b93e3ec25..f19217dae 100644 --- a/freqtrade/rpc/telegram.py +++ b/freqtrade/rpc/telegram.py @@ -342,8 +342,22 @@ class Telegram(RPCHandler): self._loop.run_until_complete(self._startup_telegram()) async def _startup_telegram(self) -> None: - await self._app.initialize() - await self._app.start() + retries = 3 + attempt = 0 + while attempt < retries: + try: + await self._app.initialize() + await self._app.start() + break + except Exception as ex: + logger.error( + "Error starting Telegram bot (attempt %d/%d): %s", attempt + 1, retries, ex + ) + attempt += 1 + if attempt == retries: + logger.warning("Telegram init failed.") + return + await asyncio.sleep(2) if self._app.updater: await self._app.updater.start_polling( bootstrap_retries=-1, diff --git a/freqtrade/strategy/parameters.py b/freqtrade/strategy/parameters.py index 1b840cdb4..4bfa91e4a 100644 --- a/freqtrade/strategy/parameters.py +++ b/freqtrade/strategy/parameters.py @@ -225,7 +225,6 @@ class RealParameter(NumericParameter): class DecimalParameter(NumericParameter): default: float - value: float def __init__( self, @@ -259,6 +258,14 @@ class DecimalParameter(NumericParameter): low=low, high=high, default=default, space=space, optimize=optimize, load=load, **kwargs ) + @property + def value(self) -> float: + return self._value + + @value.setter + def value(self, new_value: float): + self._value = round(new_value, self._decimals) + def get_space(self, name: str) -> "SKDecimal": """ Create optimization space. diff --git a/ft_client/freqtrade_client/__init__.py b/ft_client/freqtrade_client/__init__.py index a6a9c6f37..90edc4f76 100644 --- a/ft_client/freqtrade_client/__init__.py +++ b/ft_client/freqtrade_client/__init__.py @@ -1,7 +1,7 @@ from freqtrade_client.ft_rest_client import FtRestClient -__version__ = "2025.7" +__version__ = "2025.8" if "dev" in __version__: from pathlib import Path diff --git a/ft_client/requirements.txt b/ft_client/requirements.txt index ceca8a373..9b8d46025 100644 --- a/ft_client/requirements.txt +++ b/ft_client/requirements.txt @@ -1,3 +1,3 @@ # Requirements for freqtrade client library -requests==2.32.4 +requests==2.32.5 python-rapidjson==1.21 diff --git a/pyproject.toml b/pyproject.toml index dac02870a..24aadb26d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -40,7 +40,7 @@ dependencies = [ "jsonschema", "numpy>2.0,<3.0", "pandas>=2.2.0,<3.0", - "TA-Lib<0.6", + "TA-Lib<0.7", "ft-pandas-ta", "technical", "tabulate", diff --git a/requirements-dev.txt b/requirements-dev.txt index b1b3a1426..d09a530f5 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -6,9 +6,9 @@ -r requirements-freqai-rl.txt -r docs/requirements-docs.txt -ruff==0.12.5 -mypy==1.17.0 -pre-commit==4.2.0 +ruff==0.12.10 +mypy==1.17.1 +pre-commit==4.3.0 pytest==8.4.1 pytest-asyncio==1.1.0 pytest-cov==6.2.1 @@ -18,15 +18,15 @@ pytest-timeout==2.4.0 pytest-xdist==3.8.0 isort==6.0.1 # For datetime mocking -time-machine==2.16.0 +time-machine==2.19.0 # Convert jupyter notebooks to markdown documents nbconvert==7.16.6 # mypy types -scipy-stubs==1.16.0.2 # keep in sync with `scipy` in `requirements-hyperopt.txt` +scipy-stubs==1.16.1.1 # keep in sync with `scipy` in `requirements-hyperopt.txt` types-cachetools==6.1.0.20250717 types-filelock==3.2.7 -types-requests==2.32.4.20250611 +types-requests==2.32.4.20250809 types-tabulate==0.9.0.20241207 -types-python-dateutil==2.9.0.20250708 +types-python-dateutil==2.9.0.20250822 diff --git a/requirements-freqai-rl.txt b/requirements-freqai-rl.txt index f29cb242c..d746f19ca 100644 --- a/requirements-freqai-rl.txt +++ b/requirements-freqai-rl.txt @@ -2,7 +2,7 @@ -r requirements-freqai.txt # Required for freqai-rl -torch==2.7.1; sys_platform != 'darwin' or platform_machine != 'x86_64' +torch==2.8.0; sys_platform != 'darwin' or platform_machine != 'x86_64' gymnasium==0.29.1 # SB3 >=2.5.0 depends on torch 2.3.0 - which implies it dropped support x86 macos stable_baselines3==2.7.0; sys_platform != 'darwin' or platform_machine != 'x86_64' diff --git a/requirements-freqai.txt b/requirements-freqai.txt index 039c62ae9..15a03d7b7 100644 --- a/requirements-freqai.txt +++ b/requirements-freqai.txt @@ -4,9 +4,9 @@ # Required for freqai scikit-learn==1.7.1 -joblib==1.5.1 +joblib==1.5.2 catboost==1.2.8; 'arm' not in platform_machine lightgbm==4.6.0 -xgboost==3.0.2 +xgboost==3.0.4 tensorboard==2.20.0 datasieve==0.1.9 diff --git a/requirements-hyperopt.txt b/requirements-hyperopt.txt index 1ee858d14..4d31f6042 100644 --- a/requirements-hyperopt.txt +++ b/requirements-hyperopt.txt @@ -4,6 +4,6 @@ # Required for hyperopt scipy==1.16.1 scikit-learn==1.7.1 -filelock==3.18.0 -optuna==4.4.0 +filelock==3.19.1 +optuna==4.5.0 cmaes==0.12.0 diff --git a/requirements-plot.txt b/requirements-plot.txt index a97628cd2..176c53620 100644 --- a/requirements-plot.txt +++ b/requirements-plot.txt @@ -1,4 +1,4 @@ # Include all requirements to run the bot. -r requirements.txt -plotly==6.2.0 +plotly==6.3.0 diff --git a/requirements.txt b/requirements.txt index 58498cbea..39bd5ded3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,36 +1,40 @@ -numpy==2.3.2 -pandas==2.3.1 +numpy==2.3.2; platform_machine != 'armv7l' +numpy==2.2.4; platform_machine == 'armv7l' +pandas==2.3.2; platform_machine != 'armv7l' +pandas==2.2.3; platform_machine == 'armv7l' bottleneck==1.5.0 numexpr==2.11.0 # Indicator libraries ft-pandas-ta==0.3.15 -ta-lib==0.5.5 -technical==1.5.2 +ta-lib==0.6.5 +technical==1.5.3 -ccxt==4.4.96 -cryptography==45.0.5 -aiohttp==3.12.14 -SQLAlchemy==2.0.41 +ccxt==4.5.2 +cryptography==45.0.6 +aiohttp==3.12.15 +SQLAlchemy==2.0.43 python-telegram-bot==22.3 # can't be hard-pinned due to telegram-bot pinning httpx with ~ httpx>=0.24.1 humanize==4.12.3 cachetools==6.1.0 -requests==2.32.4 +requests==2.32.5 urllib3==2.5.0 -certifi==2025.7.14 -jsonschema==4.25.0 +certifi==2025.8.3 +jsonschema==4.25.1 tabulate==0.9.0 pycoingecko==3.2.0 jinja2==3.1.6 -joblib==1.5.1 +joblib==1.5.2 rich==14.1.0 -pyarrow==21.0.0; platform_machine != 'armv7l' +pyarrow==21.0.0; platform_machine != 'armv7l' and platform_machine != "aarch64" +# TODO: downgrade for aarch64 until https://github.com/apache/arrow/issues/47229 is resolved +pyarrow==20.0.0; platform_machine == "aarch64" # Load ticker files 30% faster python-rapidjson==1.21 # Properly format api responses -orjson==3.11.1 +orjson==3.11.2 # Notify systemd sdnotify==0.3.2 diff --git a/setup.ps1 b/setup.ps1 index 39e8b7d02..a11e9c7fa 100644 --- a/setup.ps1 +++ b/setup.ps1 @@ -228,16 +228,6 @@ function Main { } } - if (-not (Test-Path "$VenvDir\Lib\site-packages\talib")) { - # Install TA-Lib using the virtual environment's pip - Write-Log "Installing TA-Lib using virtual environment's pip..." - python -m pip install --find-links=build_helpers\ --prefer-binary TA-Lib 2>&1 | Out-File $LogFilePath -Append - if ($LASTEXITCODE -ne 0) { - Write-Log "Failed to install TA-Lib." -Level 'ERROR' - Exit-Script -exitCode 1 - } - } - # Present options for requirement files $SelectedIndices = Get-UserSelection -prompt "Select which requirement files to install:" -options $RequirementFiles -defaultChoice 'A' diff --git a/setup.sh b/setup.sh index a5c73f945..5e0800ab8 100755 --- a/setup.sh +++ b/setup.sh @@ -91,7 +91,6 @@ function updateenv() { fi fi fi - install_talib ${PYTHON} -m pip install --upgrade -r ${REQUIREMENTS} ${REQUIREMENTS_HYPEROPT} ${REQUIREMENTS_PLOT} ${REQUIREMENTS_FREQAI} ${REQUIREMENTS_FREQAI_RL} if [ $? -ne 0 ]; then @@ -118,25 +117,6 @@ function updateenv() { fi } -# Install tab lib -function install_talib() { - if [ -f /usr/local/lib/libta_lib.a ] || [ -f /usr/local/lib/libta_lib.so ] || [ -f /usr/lib/libta_lib.so ]; then - echo "ta-lib already installed, skipping" - return - fi - - cd build_helpers && ./install_ta-lib.sh - - if [ $? -ne 0 ]; then - echo "Quitting. Please fix the above error before continuing." - cd .. - exit 1 - fi; - - cd .. -} - - # Install bot MacOS function install_macos() { if [ ! -x "$(command -v brew)" ] @@ -257,7 +237,7 @@ function install() { install_redhat else echo "This script does not support your OS." - echo "If you have Python version 3.11 - 3.13, pip, virtualenv, ta-lib you can continue." + echo "If you have Python version 3.11 - 3.13, pip, virtualenv installed you can continue." echo "Wait 10 seconds to continue the next install steps or use ctrl+c to interrupt this shell." sleep 10 fi diff --git a/tests/commands/test_commands.py b/tests/commands/test_commands.py index 3544bc2d6..f4625663a 100644 --- a/tests/commands/test_commands.py +++ b/tests/commands/test_commands.py @@ -133,6 +133,8 @@ def test_list_exchanges(capsys): captured = capsys.readouterr() assert re.search(r"^binance$", captured.out, re.MULTILINE) assert re.search(r"^bybit$", captured.out, re.MULTILINE) + # An exchange not supporting futures + assert re.search(r"^kraken$", captured.out, re.MULTILINE) # Test with --all args = [ @@ -160,6 +162,32 @@ def test_list_exchanges(capsys): assert re.search(r"^bingx$", captured.out, re.MULTILINE) assert re.search(r"^bitmex$", captured.out, re.MULTILINE) + # Only dex + args = [ + "list-exchanges", + "--dex", + ] + + start_list_exchanges(get_args(args)) + captured = capsys.readouterr() + assert re.search(r"Exchanges available for Freqtrade.*", captured.out) + assert not re.search(r".*binance.*", captured.out) + assert not re.search(r".*bingx.*", captured.out) + assert re.search(r".*hyperliquid.*", captured.out) + + # Only futures + args = [ + "list-exchanges", + "--trading-mode", + "futures", + ] + + start_list_exchanges(get_args(args)) + captured = capsys.readouterr() + assert re.search(r"Exchanges available for Freqtrade.*", captured.out) + assert re.search(r".*binance.*", captured.out) + assert not re.search(r".*kraken.*", captured.out) + def test_list_timeframes(mocker, capsys): api_mock = MagicMock() @@ -1748,6 +1776,27 @@ def test_start_list_data(testdatadir, capsys): captured.out, ) + # Test with regex + args = [ + "list-data", + "--pairs", + "XMR/.*", + "--datadir", + str(testdatadir), + "--show-timerange", + ] + pargs = get_args(args) + pargs["config"] = None + start_list_data(pargs) + captured = capsys.readouterr() + assert "Found 1 pair / timeframe combinations." in captured.out + assert re.search(r".*Pair.*Timeframe.*Type.*From .* To .* Candles .*\n", captured.out) + assert "UNITTEST/BTC" not in captured.out + assert re.search( + r"\n.* XMR/USDT .* 5m .* spot .* 2019-10-11 00:00:00 .* 2019-10-13 11:19:00 .* 2469 |\n", + captured.out, + ) + def test_start_list_trades_data(testdatadir, capsys): args = [ @@ -1834,8 +1883,10 @@ def test_backtesting_show(mocker, testdatadir, capsys): sbr = mocker.patch("freqtrade.optimize.optimize_reports.show_backtest_results") args = [ "backtesting-show", + "--export-directory", + f"{testdatadir / 'backtest_results'}", "--export-filename", - f"{testdatadir / 'backtest_results/backtest-result.json'}", + "backtest-result.json", "--show-pair-list", ] pargs = get_args(args) diff --git a/tests/conftest.py b/tests/conftest.py index 20826cef9..a390dea07 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -521,7 +521,11 @@ def patch_torch_initlogs(mocker) -> None: mocked_module = types.ModuleType(module_name) sys.modules[module_name] = mocked_module else: - mocker.patch("torch._logging._init_logs") + try: + mocker.patch("torch._logging._init_logs") + except ModuleNotFoundError: + # Allow running limited tests to run without freqAI dependencies + pass @pytest.fixture(autouse=True) diff --git a/tests/data/test_historic_precision.py b/tests/data/test_historic_precision.py index b1af6d191..c4a499180 100644 --- a/tests/data/test_historic_precision.py +++ b/tests/data/test_historic_precision.py @@ -90,3 +90,94 @@ def test_get_tick_size_over_time_real_data(testdatadir): assert all(result <= 0.0001) assert all(result >= 0.00000001) + + +def test_get_tick_size_over_time_small_numbers(): + """ + Test the get_tick_size_over_time function with predefined data + """ + # Create test dataframe with different levels of precision + data = { + "date": [ + Timestamp("2020-01-01 00:00:00", tz=UTC), + Timestamp("2020-01-02 00:00:00", tz=UTC), + Timestamp("2020-01-03 00:00:00", tz=UTC), + Timestamp("2020-01-15 00:00:00", tz=UTC), + Timestamp("2020-01-16 00:00:00", tz=UTC), + Timestamp("2020-01-31 00:00:00", tz=UTC), + Timestamp("2020-02-01 00:00:00", tz=UTC), + Timestamp("2020-02-15 00:00:00", tz=UTC), + Timestamp("2020-03-15 00:00:00", tz=UTC), + ], + "open": [ + 0.000000123456, + 0.0000001234, + 0.000000123, + 0.00000012, + 0.000000123456, + 0.0000001234, + 0.00000023456, + 0.000000234, + 0.000000234, + ], + "high": [ + 0.000000123457, + 0.0000001235, + 0.000000124, + 0.00000013, + 0.000000123456, + 0.0000001235, + 0.00000023457, + 0.000000234, + 0.000000234, + ], + "low": [ + 0.000000123455, + 0.0000001233, + 0.000000122, + 0.00000011, + 0.000000123456, + 0.0000001233, + 0.00000023455, + 0.000000234, + 0.000000234, + ], + "close": [ + 0.000000123456, + 0.0000001234, + 0.000000123, + 0.00000012, + 0.000000123456, + 0.0000001234, + 0.00000023456, + 0.000000234, + 0.000000234, + ], + "volume": [100, 200, 300, 400, 500, 600, 700, 800, 900], + } + + candles = DataFrame(data) + + # Calculate significant digits + result = get_tick_size_over_time(candles) + + # Check that the result is a pandas Series + assert isinstance(result, pd.Series) + + # Check that we have three months of data (Jan, Feb and March 2020 ) + assert len(result) == 3 + + # Before + assert result.asof("2019-01-01 00:00:00+00:00") is nan + # January should have 5 significant digits (based on 1.23456789 being the most precise value) + # which should be converted to 0.00001 + + assert result.asof("2020-01-01 00:00:00+00:00") == 0.000000000001 + assert result.asof("2020-01-01 00:00:00+00:00") == 0.000000000001 + assert result.asof("2020-02-25 00:00:00+00:00") == 0.00000000001 + assert result.asof("2020-03-25 00:00:00+00:00") == 0.000000001 + assert result.asof("2020-04-01 00:00:00+00:00") == 0.000000001 + # Value far past the last date should be the last value + assert result.asof("2025-04-01 00:00:00+00:00") == 0.000000001 + + assert result.iloc[0] == 0.000000000001 diff --git a/tests/data/test_history.py b/tests/data/test_history.py index e9af7b226..5554e04b3 100644 --- a/tests/data/test_history.py +++ b/tests/data/test_history.py @@ -397,6 +397,7 @@ def test_load_partial_missing(testdatadir, caplog) -> None: # Make sure we start fresh - test missing data at start start = dt_utc(2018, 1, 1) end = dt_utc(2018, 1, 11) + caplog.set_level(logging.DEBUG) data = load_data( testdatadir, "5m", diff --git a/tests/exchange/test_bitget.py b/tests/exchange/test_bitget.py new file mode 100644 index 000000000..fdfaf7a7e --- /dev/null +++ b/tests/exchange/test_bitget.py @@ -0,0 +1,122 @@ +from datetime import timedelta +from unittest.mock import MagicMock + +import pytest + +from freqtrade.enums import CandleType +from freqtrade.exceptions import RetryableOrderError +from freqtrade.exchange.common import API_RETRY_COUNT +from freqtrade.util import dt_now, dt_ts +from tests.conftest import EXMS, get_patched_exchange +from tests.exchange.test_exchange import ccxt_exceptionhandlers + + +@pytest.mark.usefixtures("init_persistence") +def test_fetch_stoploss_order_bitget(default_conf, mocker): + default_conf["dry_run"] = False + mocker.patch("freqtrade.exchange.common.time.sleep") + api_mock = MagicMock() + + exchange = get_patched_exchange(mocker, default_conf, api_mock, exchange="bitget") + + api_mock.fetch_open_orders = MagicMock(return_value=[]) + api_mock.fetch_canceled_and_closed_orders = MagicMock(return_value=[]) + + with pytest.raises(RetryableOrderError): + exchange.fetch_stoploss_order("1234", "ETH/BTC") + assert api_mock.fetch_open_orders.call_count == API_RETRY_COUNT + 1 + assert api_mock.fetch_canceled_and_closed_orders.call_count == API_RETRY_COUNT + 1 + + api_mock.fetch_open_orders.reset_mock() + api_mock.fetch_canceled_and_closed_orders.reset_mock() + + api_mock.fetch_canceled_and_closed_orders = MagicMock( + return_value=[{"id": "1234", "status": "closed", "clientOrderId": "123455"}] + ) + api_mock.fetch_open_orders = MagicMock(return_value=[{"id": "50110", "clientOrderId": "1234"}]) + + resp = exchange.fetch_stoploss_order("1234", "ETH/BTC") + assert api_mock.fetch_open_orders.call_count == 2 + assert api_mock.fetch_canceled_and_closed_orders.call_count == 2 + + assert resp["id"] == "1234" + assert resp["id_stop"] == "50110" + assert resp["type"] == "stoploss" + + default_conf["dry_run"] = True + exchange = get_patched_exchange(mocker, default_conf, api_mock, exchange="bitget") + dro_mock = mocker.patch(f"{EXMS}.fetch_dry_run_order", MagicMock(return_value={"id": "123455"})) + + api_mock.fetch_open_orders.reset_mock() + api_mock.fetch_canceled_and_closed_orders.reset_mock() + resp = exchange.fetch_stoploss_order("1234", "ETH/BTC") + + assert api_mock.fetch_open_orders.call_count == 0 + assert api_mock.fetch_canceled_and_closed_orders.call_count == 0 + assert dro_mock.call_count == 1 + + +def test_fetch_stoploss_order_bitget_exceptions(default_conf_usdt, mocker): + default_conf_usdt["dry_run"] = False + api_mock = MagicMock() + + # Test emulation of the stoploss getters + api_mock.fetch_canceled_and_closed_orders = MagicMock(return_value=[]) + + ccxt_exceptionhandlers( + mocker, + default_conf_usdt, + api_mock, + "bitget", + "fetch_stoploss_order", + "fetch_open_orders", + retries=API_RETRY_COUNT + 1, + order_id="12345", + pair="ETH/USDT", + ) + + +def test_bitget_ohlcv_candle_limit(mocker, default_conf_usdt): + # This test is also a live test - so we're sure our limits are correct. + api_mock = MagicMock() + api_mock.options = { + "fetchOHLCV": { + "maxRecentDaysPerTimeframe": { + "1m": 30, + "5m": 30, + "15m": 30, + "30m": 30, + "1h": 60, + "4h": 60, + "1d": 60, + } + } + } + + exch = get_patched_exchange(mocker, default_conf_usdt, api_mock, exchange="bitget") + timeframes = ("1m", "5m", "1h") + + for timeframe in timeframes: + assert exch.ohlcv_candle_limit(timeframe, CandleType.SPOT) == 1000 + assert exch.ohlcv_candle_limit(timeframe, CandleType.FUTURES) == 1000 + assert exch.ohlcv_candle_limit(timeframe, CandleType.MARK) == 1000 + assert exch.ohlcv_candle_limit(timeframe, CandleType.FUNDING_RATE) == 200 + + start_time = dt_ts(dt_now() - timedelta(days=17)) + assert exch.ohlcv_candle_limit(timeframe, CandleType.SPOT, start_time) == 1000 + assert exch.ohlcv_candle_limit(timeframe, CandleType.FUTURES, start_time) == 1000 + assert exch.ohlcv_candle_limit(timeframe, CandleType.MARK, start_time) == 1000 + assert exch.ohlcv_candle_limit(timeframe, CandleType.FUNDING_RATE, start_time) == 200 + start_time = dt_ts(dt_now() - timedelta(days=48)) + length = 200 if timeframe in ("1m", "5m") else 1000 + assert exch.ohlcv_candle_limit(timeframe, CandleType.SPOT, start_time) == length + assert exch.ohlcv_candle_limit(timeframe, CandleType.FUTURES, start_time) == length + assert exch.ohlcv_candle_limit(timeframe, CandleType.MARK, start_time) == length + assert exch.ohlcv_candle_limit(timeframe, CandleType.FUNDING_RATE, start_time) == 200 + + start_time = dt_ts(dt_now() - timedelta(days=61)) + length = 200 + assert exch.ohlcv_candle_limit(timeframe, CandleType.SPOT, start_time) == length + assert exch.ohlcv_candle_limit(timeframe, CandleType.FUTURES, start_time) == length + assert exch.ohlcv_candle_limit(timeframe, CandleType.MARK, start_time) == length + assert exch.ohlcv_candle_limit(timeframe, CandleType.FUNDING_RATE, start_time) == 200 diff --git a/tests/exchange/test_exchange.py b/tests/exchange/test_exchange.py index d24755890..bf7f6350a 100644 --- a/tests/exchange/test_exchange.py +++ b/tests/exchange/test_exchange.py @@ -2234,7 +2234,7 @@ async def test__async_get_historic_ohlcv(default_conf, mocker, caplog, exchange_ @pytest.mark.parametrize("candle_type", [CandleType.FUTURES, CandleType.MARK, CandleType.SPOT]) -def test_refresh_latest_ohlcv(mocker, default_conf, caplog, candle_type) -> None: +def test_refresh_latest_ohlcv(mocker, default_conf_usdt, caplog, candle_type) -> None: ohlcv = [ [ dt_ts(dt_now() - timedelta(minutes=5)), # unix timestamp ms @@ -2255,10 +2255,10 @@ def test_refresh_latest_ohlcv(mocker, default_conf, caplog, candle_type) -> None ] caplog.set_level(logging.DEBUG) - exchange = get_patched_exchange(mocker, default_conf) + exchange = get_patched_exchange(mocker, default_conf_usdt) exchange._api_async.fetch_ohlcv = get_mock_coro(ohlcv) - pairs = [("IOTA/ETH", "5m", candle_type), ("XRP/ETH", "5m", candle_type)] + pairs = [("IOTA/USDT", "5m", candle_type), ("XRP/USDT", "5m", candle_type)] # empty dicts assert not exchange._klines res = exchange.refresh_latest_ohlcv(pairs, cache=False) @@ -2290,7 +2290,7 @@ def test_refresh_latest_ohlcv(mocker, default_conf, caplog, candle_type) -> None # test caching res = exchange.refresh_latest_ohlcv( - [("IOTA/ETH", "5m", candle_type), ("XRP/ETH", "5m", candle_type)] + [("IOTA/USDT", "5m", candle_type), ("XRP/USDT", "5m", candle_type)] ) assert len(res) == len(pairs) @@ -2303,7 +2303,7 @@ def test_refresh_latest_ohlcv(mocker, default_conf, caplog, candle_type) -> None # Reset refresh times - must do 2 call per pair as cache is expired exchange._pairs_last_refresh_time = {} res = exchange.refresh_latest_ohlcv( - [("IOTA/ETH", "5m", candle_type), ("XRP/ETH", "5m", candle_type)] + [("IOTA/USDT", "5m", candle_type), ("XRP/USDT", "5m", candle_type)] ) assert len(res) == len(pairs) @@ -2314,9 +2314,9 @@ def test_refresh_latest_ohlcv(mocker, default_conf, caplog, candle_type) -> None exchange.required_candle_call_count = 1 pairlist = [ - ("IOTA/ETH", "5m", candle_type), - ("XRP/ETH", "5m", candle_type), - ("XRP/ETH", "1d", candle_type), + ("IOTA/USDT", "5m", candle_type), + ("XRP/USDT", "5m", candle_type), + ("XRP/USDT", "1d", candle_type), ] res = exchange.refresh_latest_ohlcv(pairlist, cache=False) assert len(res) == 3 @@ -2331,11 +2331,11 @@ def test_refresh_latest_ohlcv(mocker, default_conf, caplog, candle_type) -> None caplog.clear() # Call with invalid timeframe - res = exchange.refresh_latest_ohlcv([("IOTA/ETH", "3m", candle_type)], cache=False) + res = exchange.refresh_latest_ohlcv([("IOTA/USDT", "3m", candle_type)], cache=False) if candle_type != CandleType.MARK: assert not res assert len(res) == 0 - assert log_has_re(r"Cannot download \(IOTA\/ETH, 3m\).*", caplog) + assert log_has_re(r"Cannot download \(IOTA\/USDT, 3m\).*", caplog) else: assert len(res) == 1 diff --git a/tests/exchange_online/conftest.py b/tests/exchange_online/conftest.py index ffc25b0dc..65d11f949 100644 --- a/tests/exchange_online/conftest.py +++ b/tests/exchange_online/conftest.py @@ -408,13 +408,21 @@ EXCHANGES = { "candle_count": 200, "orderbook_max_entries": 50, }, - "htx": { - "pair": "ETH/BTC", - "stake_currency": "BTC", + "bitget": { + "pair": "BTC/USDT", + "stake_currency": "USDT", "hasQuoteVolume": True, "timeframe": "1h", "candle_count": 1000, }, + # TODO: re-enable htx once certificates work again + # "htx": { + # "pair": "ETH/BTC", + # "stake_currency": "BTC", + # "hasQuoteVolume": True, + # "timeframe": "1h", + # "candle_count": 1000, + # }, "bitvavo": { "pair": "BTC/EUR", "stake_currency": "EUR", diff --git a/tests/exchange_online/test_ccxt_compat.py b/tests/exchange_online/test_ccxt_compat.py index baab85bae..c71e4809b 100644 --- a/tests/exchange_online/test_ccxt_compat.py +++ b/tests/exchange_online/test_ccxt_compat.py @@ -399,12 +399,13 @@ class TestCCXTExchange: assert isinstance(funding_fee, float) assert funding_fee != 0 - def test_ccxt__async_get_trade_history(self, exchange: EXCHANGE_FIXTURE_TYPE): + def test_ccxt__async_get_trade_history(self, exchange: EXCHANGE_FIXTURE_TYPE, mocker): exch, exchangename = exchange if not (lookback := EXCHANGES[exchangename].get("trades_lookback_hours")): pytest.skip("test_fetch_trades not enabled for this exchange") pair = EXCHANGES[exchangename]["pair"] since = int((datetime.now(UTC) - timedelta(hours=lookback)).timestamp() * 1000) + nvspy = mocker.spy(exch, "_get_trade_pagination_next_value") res = exch.loop.run_until_complete(exch._async_get_trade_history(pair, since, None, None)) assert len(res) == 2 res_pair, res_trades = res @@ -412,6 +413,14 @@ class TestCCXTExchange: assert isinstance(res_trades, list) assert res_trades[0][0] >= since assert len(res_trades) > 1200 + assert nvspy.call_count > 5 + if exchangename == "kraken": + # for Kraken, the pagination value is added to the last trade result by ccxt. + # We therefore expect that the last row has one additional field + + # Pick a random spy call + trades_orig = nvspy.call_args_list[2][0][0] + assert len(trades_orig[-1].get("info")) > len(trades_orig[-2].get("info")) def test_ccxt_get_fee(self, exchange: EXCHANGE_FIXTURE_TYPE): exch, exchangename = exchange @@ -521,3 +530,35 @@ class TestCCXTExchange: exch, exchangename = exchange for method in EXCHANGES[exchangename].get("private_methods", []): assert hasattr(exch._api, method) + + def test_ccxt_bitget_ohlcv_candle_limit(self, exchange: EXCHANGE_FIXTURE_TYPE): + exch, exchangename = exchange + if exchangename != "bitget": + pytest.skip("This test is only for the Bitget exchange") + + timeframes = ("1m", "5m", "1h") + + for timeframe in timeframes: + assert exch.ohlcv_candle_limit(timeframe, CandleType.SPOT) == 1000 + assert exch.ohlcv_candle_limit(timeframe, CandleType.FUTURES) == 1000 + assert exch.ohlcv_candle_limit(timeframe, CandleType.MARK) == 1000 + assert exch.ohlcv_candle_limit(timeframe, CandleType.FUNDING_RATE) == 200 + + start_time = dt_ts(dt_now() - timedelta(days=17)) + assert exch.ohlcv_candle_limit(timeframe, CandleType.SPOT, start_time) == 1000 + assert exch.ohlcv_candle_limit(timeframe, CandleType.FUTURES, start_time) == 1000 + assert exch.ohlcv_candle_limit(timeframe, CandleType.MARK, start_time) == 1000 + assert exch.ohlcv_candle_limit(timeframe, CandleType.FUNDING_RATE, start_time) == 200 + start_time = dt_ts(dt_now() - timedelta(days=48)) + length = 200 if timeframe in ("1m", "5m") else 1000 + assert exch.ohlcv_candle_limit(timeframe, CandleType.SPOT, start_time) == length + assert exch.ohlcv_candle_limit(timeframe, CandleType.FUTURES, start_time) == length + assert exch.ohlcv_candle_limit(timeframe, CandleType.MARK, start_time) == length + assert exch.ohlcv_candle_limit(timeframe, CandleType.FUNDING_RATE, start_time) == 200 + + start_time = dt_ts(dt_now() - timedelta(days=61)) + length = 200 + assert exch.ohlcv_candle_limit(timeframe, CandleType.SPOT, start_time) == length + assert exch.ohlcv_candle_limit(timeframe, CandleType.FUTURES, start_time) == length + assert exch.ohlcv_candle_limit(timeframe, CandleType.MARK, start_time) == length + assert exch.ohlcv_candle_limit(timeframe, CandleType.FUNDING_RATE, start_time) == 200 diff --git a/tests/freqtradebot/test_freqtradebot.py b/tests/freqtradebot/test_freqtradebot.py index 7edf30d2d..16def3d19 100644 --- a/tests/freqtradebot/test_freqtradebot.py +++ b/tests/freqtradebot/test_freqtradebot.py @@ -1528,6 +1528,25 @@ def test_handle_trade( assert trade.close_date is not None assert trade.exit_reason == "sell_signal1" + correct_profit_ratio = trade.calc_profit_ratio( + rate=trade.close_rate, amount=trade.amount, open_rate=trade.open_rate + ) + profit_ratio_1 = trade.calc_profit_ratio(rate=trade.close_rate, open_rate=trade.open_rate) + profit_ratio_2 = trade.calc_profit_ratio( + rate=trade.close_rate, open_rate=trade.open_rate * 1.02 + ) + profit_ratio_3 = trade.calc_profit_ratio(rate=trade.close_rate, amount=trade.amount) + profit_ratio_4 = trade.calc_profit_ratio(rate=trade.close_rate) + profit_ratio_5 = trade.calc_profit_ratio( + rate=trade.close_rate, amount=trade.amount, open_rate=trade.open_rate * 1.02 + ) + assert correct_profit_ratio == close_profit + assert correct_profit_ratio == profit_ratio_1 + assert correct_profit_ratio != profit_ratio_2 + assert correct_profit_ratio == profit_ratio_3 + assert correct_profit_ratio == profit_ratio_4 + assert correct_profit_ratio != profit_ratio_5 + @pytest.mark.parametrize("is_short", [False, True]) def test_handle_overlapping_signals( @@ -4640,7 +4659,7 @@ def test_reupdate_enter_order_fees(mocker, default_conf_usdt, fee, caplog, is_sh # Test with trade without orders trade = Trade( - pair="XRP/ETH", + pair="XRP/USDT", stake_amount=60.0, fee_open=fee.return_value, fee_close=fee.return_value, @@ -5729,7 +5748,7 @@ def test_position_adjust2(mocker, default_conf_usdt, fee) -> None: @pytest.mark.parametrize( "data", [ - # tuple 1 - side amount, price + # tuple 1 - side, amount, price # tuple 2 - amount, open_rate, stake_amount, cumulative_profit, realized_profit, rel_profit ( (("buy", 100, 10), (100.0, 10.0, 1000.0, 0.0, None, None)), diff --git a/tests/optimize/test_optimize_reports.py b/tests/optimize/test_optimize_reports.py index b04e28da8..3cd89245b 100644 --- a/tests/optimize/test_optimize_reports.py +++ b/tests/optimize/test_optimize_reports.py @@ -236,7 +236,7 @@ def test_generate_backtest_stats(default_conf, testdatadir, tmp_path): filename_last = tmp_path / LAST_BT_RESULT_FN _backup_file(filename_last, copy_file=True) assert not filename.is_file() - default_conf["exportfilename"] = filename + default_conf["exportdirectory"] = filename store_backtest_results(default_conf, stats, "2022_01_01_15_05_13") @@ -263,7 +263,7 @@ def test_store_backtest_results(testdatadir, mocker): zip_mock = mocker.patch("freqtrade.optimize.optimize_reports.bt_storage.ZipFile") data = {"metadata": {}, "strategy": {}, "strategy_comparison": []} store_backtest_results( - {"exportfilename": testdatadir, "original_config": {}}, data, "2022_01_01_15_05_13" + {"exportdirectory": testdatadir, "original_config": {}}, data, "2022_01_01_15_05_13" ) assert dump_mock.call_count == 2 @@ -275,7 +275,7 @@ def test_store_backtest_results(testdatadir, mocker): zip_mock.reset_mock() filename = testdatadir / "testresult.json" store_backtest_results( - {"exportfilename": filename, "original_config": {}}, data, "2022_01_01_15_05_13" + {"exportdirectory": filename, "original_config": {}}, data, "2022_01_01_15_05_13" ) assert dump_mock.call_count == 2 assert zip_mock.call_count == 1 @@ -287,7 +287,7 @@ def test_store_backtest_results(testdatadir, mocker): def test_store_backtest_results_real(tmp_path, caplog): data = {"metadata": {}, "strategy": {}, "strategy_comparison": []} config = { - "exportfilename": tmp_path, + "exportdirectory": tmp_path, "original_config": {}, } store_backtest_results( @@ -356,7 +356,7 @@ def test_write_read_backtest_candles(tmp_path): bt_results = {"metadata": {}, "strategy": {}, "strategy_comparison": []} mock_conf = { - "exportfilename": tmp_path, + "exportdirectory": tmp_path, "export": "signals", "runmode": "backtest", "original_config": {}, @@ -393,33 +393,6 @@ def test_write_read_backtest_candles(tmp_path): _clean_test_file(stored_file) - # test file exporting - filename = tmp_path / "testresult" - mock_conf["exportfilename"] = filename - store_backtest_results(mock_conf, bt_results, sample_date, analysis_results=data) - stored_file = tmp_path / f"testresult-{sample_date}.zip" - signals_pkl = f"testresult-{sample_date}_signals.pkl" - rejected_pkl = f"testresult-{sample_date}_rejected.pkl" - exited_pkl = f"testresult-{sample_date}_exited.pkl" - assert not (tmp_path / signals_pkl).is_file() - assert stored_file.is_file() - - with ZipFile(stored_file, "r") as zipf: - assert signals_pkl in zipf.namelist() - assert rejected_pkl in zipf.namelist() - assert exited_pkl in zipf.namelist() - - with zipf.open(signals_pkl) as scp: - pickled_signal_candles2 = joblib.load(scp) - - assert pickled_signal_candles2.keys() == candle_dict.keys() - assert pickled_signal_candles2["DefStrat"].keys() == pickled_signal_candles2["DefStrat"].keys() - assert pickled_signal_candles2["DefStrat"]["UNITTEST/BTC"].equals( - pickled_signal_candles2["DefStrat"]["UNITTEST/BTC"] - ) - - _clean_test_file(stored_file) - def test_generate_pair_metrics(): results = pd.DataFrame( diff --git a/tests/plugins/test_pairlist.py b/tests/plugins/test_pairlist.py index 0f133242b..f2c3c69e3 100644 --- a/tests/plugins/test_pairlist.py +++ b/tests/plugins/test_pairlist.py @@ -1883,7 +1883,12 @@ def test_pairlistmanager_no_pairlist(mocker, whitelist_conf): whitelist_conf["pairlists"] = [] - with pytest.raises(OperationalException, match=r"No Pairlist Handlers defined"): + with pytest.raises(OperationalException, match=r"\[\] should be non-empty"): + get_patched_freqtradebot(mocker, whitelist_conf) + + del whitelist_conf["pairlists"] + + with pytest.raises(OperationalException, match=r"'pairlists' is a required property"): get_patched_freqtradebot(mocker, whitelist_conf) @@ -2404,7 +2409,7 @@ def test_MarketCapPairList_timing(mocker, default_conf_usdt, markets, time_machi pm = PairListManager(exchange, default_conf_usdt) markets_mock.reset_mock() pm.refresh_pairlist() - assert markets_mock.call_count == 3 + assert markets_mock.call_count == 4 markets_mock.reset_mock() time_machine.move_to(start_dt + timedelta(hours=20)) @@ -2416,7 +2421,52 @@ def test_MarketCapPairList_timing(mocker, default_conf_usdt, markets, time_machi time_machine.move_to(start_dt + timedelta(days=2)) pm.refresh_pairlist() # No longer cached pairlist ... - assert markets_mock.call_count == 3 + assert markets_mock.call_count == 4 + + +def test_MarketCapPairList_1000_K_fillup(mocker, default_conf_usdt, markets, time_machine): + test_value = [ + {"symbol": "btc"}, + {"symbol": "eth"}, + {"symbol": "usdt"}, + {"symbol": "bnb"}, + {"symbol": "sol"}, + {"symbol": "xrp"}, + {"symbol": "usdc"}, + {"symbol": "steth"}, + {"symbol": "ada"}, + {"symbol": "avax"}, + ] + + default_conf_usdt["trading_mode"] = "spot" + default_conf_usdt["exchange"]["pair_whitelist"] = [] + default_conf_usdt["pairlists"] = [{"method": "MarketCapPairList", "number_assets": 3}] + markets["1000ETH/USDT"] = markets["ETH/USDT"] + markets["KXRP/USDT"] = markets["XRP/USDT"] + del markets["ETH/USDT"] + del markets["XRP/USDT"] + + markets_mock = MagicMock(return_value=markets) + mocker.patch.multiple( + EXMS, + get_markets=markets_mock, + exchange_has=MagicMock(return_value=True), + ) + + mocker.patch( + "freqtrade.plugins.pairlist.MarketCapPairList.FtCoinGeckoApi.get_coins_markets", + return_value=test_value, + ) + + start_dt = dt_now() + + exchange = get_patched_exchange(mocker, default_conf_usdt) + time_machine.move_to(start_dt) + + pm = PairListManager(exchange, default_conf_usdt) + markets_mock.reset_mock() + pm.refresh_pairlist() + assert pm.whitelist == ["BTC/USDT", "1000ETH/USDT", "KXRP/USDT"] def test_MarketCapPairList_filter_special_no_pair_from_coingecko( diff --git a/tests/rpc/test_rpc_apiserver.py b/tests/rpc/test_rpc_apiserver.py index c8fdad8b6..56068e6fe 100644 --- a/tests/rpc/test_rpc_apiserver.py +++ b/tests/rpc/test_rpc_apiserver.py @@ -2802,8 +2802,8 @@ def test_api_backtesting(botclient, mocker, fee, caplog, tmp_path): ftbot.config["export"] = "trades" ftbot.config["backtest_cache"] = "day" ftbot.config["user_data_dir"] = tmp_path - ftbot.config["exportfilename"] = tmp_path / "backtest_results" - ftbot.config["exportfilename"].mkdir() + ftbot.config["exportdirectory"] = tmp_path / "backtest_results" + ftbot.config["exportdirectory"].mkdir() # start backtesting data = { diff --git a/tests/strategy/test_interface.py b/tests/strategy/test_interface.py index f80efb00f..f06248166 100644 --- a/tests/strategy/test_interface.py +++ b/tests/strategy/test_interface.py @@ -12,20 +12,13 @@ from freqtrade.configuration import TimeRange from freqtrade.constants import CUSTOM_TAG_MAX_LENGTH from freqtrade.data.dataprovider import DataProvider from freqtrade.data.history import load_data -from freqtrade.enums import ExitCheckTuple, ExitType, HyperoptState, SignalDirection +from freqtrade.enums import ExitCheckTuple, ExitType, SignalDirection from freqtrade.exceptions import OperationalException, StrategyError -from freqtrade.optimize.hyperopt_tools import HyperoptStateContainer -from freqtrade.optimize.space import SKDecimal from freqtrade.persistence import PairLocks, Trade from freqtrade.resolvers import StrategyResolver from freqtrade.strategy.hyper import detect_parameters from freqtrade.strategy.parameters import ( - BaseParameter, - BooleanParameter, - CategoricalParameter, - DecimalParameter, IntParameter, - RealParameter, ) from freqtrade.strategy.strategy_validation import StrategyResultValidator from freqtrade.util import dt_now @@ -930,95 +923,6 @@ def test_is_informative_pairs_callback(default_conf): assert [] == strategy.gather_informative_pairs() -def test_hyperopt_parameters(): - HyperoptStateContainer.set_state(HyperoptState.INDICATORS) - from optuna.distributions import CategoricalDistribution, FloatDistribution, IntDistribution - - with pytest.raises(OperationalException, match=r"Name is determined.*"): - IntParameter(low=0, high=5, default=1, name="hello") - - with pytest.raises(OperationalException, match=r"IntParameter space must be.*"): - IntParameter(low=0, default=5, space="buy") - - with pytest.raises(OperationalException, match=r"RealParameter space must be.*"): - RealParameter(low=0, default=5, space="buy") - - with pytest.raises(OperationalException, match=r"DecimalParameter space must be.*"): - DecimalParameter(low=0, default=5, space="buy") - - with pytest.raises(OperationalException, match=r"IntParameter space invalid\."): - IntParameter([0, 10], high=7, default=5, space="buy") - - with pytest.raises(OperationalException, match=r"RealParameter space invalid\."): - RealParameter([0, 10], high=7, default=5, space="buy") - - with pytest.raises(OperationalException, match=r"DecimalParameter space invalid\."): - DecimalParameter([0, 10], high=7, default=5, space="buy") - - with pytest.raises(OperationalException, match=r"CategoricalParameter space must.*"): - CategoricalParameter(["aa"], default="aa", space="buy") - - with pytest.raises(TypeError): - BaseParameter(opt_range=[0, 1], default=1, space="buy") - - intpar = IntParameter(low=0, high=5, default=1, space="buy") - assert intpar.value == 1 - assert isinstance(intpar.get_space(""), IntDistribution) - assert isinstance(intpar.range, range) - assert len(list(intpar.range)) == 1 - # Range contains ONLY the default / value. - assert list(intpar.range) == [intpar.value] - intpar.in_space = True - - assert len(list(intpar.range)) == 6 - assert list(intpar.range) == [0, 1, 2, 3, 4, 5] - - fltpar = RealParameter(low=0.0, high=5.5, default=1.0, space="buy") - assert fltpar.value == 1 - assert isinstance(fltpar.get_space(""), FloatDistribution) - - fltpar = DecimalParameter(low=0.0, high=0.5, default=0.14, decimals=1, space="buy") - assert fltpar.value == 0.1 - assert isinstance(fltpar.get_space(""), SKDecimal) - assert isinstance(fltpar.range, list) - assert len(list(fltpar.range)) == 1 - # Range contains ONLY the default / value. - assert list(fltpar.range) == [fltpar.value] - fltpar.in_space = True - assert len(list(fltpar.range)) == 6 - assert list(fltpar.range) == [0.0, 0.1, 0.2, 0.3, 0.4, 0.5] - - catpar = CategoricalParameter( - ["buy_rsi", "buy_macd", "buy_none"], default="buy_macd", space="buy" - ) - assert catpar.value == "buy_macd" - assert isinstance(catpar.get_space(""), CategoricalDistribution) - assert isinstance(catpar.range, list) - assert len(list(catpar.range)) == 1 - # Range contains ONLY the default / value. - assert list(catpar.range) == [catpar.value] - catpar.in_space = True - assert len(list(catpar.range)) == 3 - assert list(catpar.range) == ["buy_rsi", "buy_macd", "buy_none"] - - boolpar = BooleanParameter(default=True, space="buy") - assert boolpar.value is True - assert isinstance(boolpar.get_space(""), CategoricalDistribution) - assert isinstance(boolpar.range, list) - assert len(list(boolpar.range)) == 1 - - boolpar.in_space = True - assert len(list(boolpar.range)) == 2 - - assert list(boolpar.range) == [True, False] - - HyperoptStateContainer.set_state(HyperoptState.OPTIMIZE) - assert len(list(intpar.range)) == 1 - assert len(list(fltpar.range)) == 1 - assert len(list(catpar.range)) == 1 - assert len(list(boolpar.range)) == 1 - - def test_auto_hyperopt_interface(default_conf): default_conf.update({"strategy": "HyperoptableStrategyV2"}) PairLocks.timeframe = default_conf["timeframe"] diff --git a/tests/strategy/test_strategy_parameters.py b/tests/strategy/test_strategy_parameters.py new file mode 100644 index 000000000..e46129622 --- /dev/null +++ b/tests/strategy/test_strategy_parameters.py @@ -0,0 +1,136 @@ +# pragma pylint: disable=missing-docstring, C0103 + +import pytest + +from freqtrade.enums import HyperoptState +from freqtrade.exceptions import OperationalException +from freqtrade.optimize.hyperopt_tools import HyperoptStateContainer +from freqtrade.strategy.parameters import ( + BaseParameter, + BooleanParameter, + CategoricalParameter, + DecimalParameter, + IntParameter, + RealParameter, +) + + +def test_hyperopt_int_parameter(): + from optuna.distributions import IntDistribution + + HyperoptStateContainer.set_state(HyperoptState.INDICATORS) + + with pytest.raises(OperationalException, match=r"Name is determined.*"): + IntParameter(low=0, high=5, default=1, name="hello") + + with pytest.raises(OperationalException, match=r"IntParameter space must be.*"): + IntParameter(low=0, default=5, space="buy") + + with pytest.raises(OperationalException, match=r"IntParameter space invalid\."): + IntParameter([0, 10], high=7, default=5, space="buy") + + intpar = IntParameter(low=0, high=5, default=1, space="buy") + assert intpar.value == 1 + assert isinstance(intpar.get_space(""), IntDistribution) + assert isinstance(intpar.range, range) + assert len(list(intpar.range)) == 1 + # Range contains ONLY the default / value. + assert list(intpar.range) == [intpar.value] + intpar.in_space = True + + assert len(list(intpar.range)) == 6 + assert list(intpar.range) == [0, 1, 2, 3, 4, 5] + + HyperoptStateContainer.set_state(HyperoptState.OPTIMIZE) + assert len(list(intpar.range)) == 1 + + +def test_hyperopt_real_parameter(): + HyperoptStateContainer.set_state(HyperoptState.INDICATORS) + from optuna.distributions import FloatDistribution + + with pytest.raises(OperationalException, match=r"RealParameter space must be.*"): + RealParameter(low=0, default=5, space="buy") + + with pytest.raises(OperationalException, match=r"RealParameter space invalid\."): + RealParameter([0, 10], high=7, default=5, space="buy") + + fltpar = RealParameter(low=0.0, high=5.5, default=1.0, space="buy") + assert fltpar.value == 1.0 + assert isinstance(fltpar.get_space(""), FloatDistribution) + + assert not hasattr(fltpar, "range") + + +def test_hyperopt_decimal_parameter(): + HyperoptStateContainer.set_state(HyperoptState.INDICATORS) + # TODO: Check for get_space?? + from freqtrade.optimize.space import SKDecimal + + with pytest.raises(OperationalException, match=r"DecimalParameter space must be.*"): + DecimalParameter(low=0, default=5, space="buy") + + with pytest.raises(OperationalException, match=r"DecimalParameter space invalid\."): + DecimalParameter([0, 10], high=7, default=5, space="buy") + + decimalpar = DecimalParameter(low=0.0, high=0.5, default=0.14, decimals=1, space="buy") + assert decimalpar.value == 0.1 + assert isinstance(decimalpar.get_space(""), SKDecimal) + assert isinstance(decimalpar.range, list) + assert len(list(decimalpar.range)) == 1 + # Range contains ONLY the default / value. + assert list(decimalpar.range) == [decimalpar.value] + decimalpar.in_space = True + assert len(list(decimalpar.range)) == 6 + assert list(decimalpar.range) == [0.0, 0.1, 0.2, 0.3, 0.4, 0.5] + + decimalpar2 = DecimalParameter(low=0.01, high=0.03, decimals=3, default=0.02, space="buy") + decimalpar2.in_space = True + assert len(list(decimalpar2.range)) == 21 + expected_range = [round(0.01 + i * 0.001, 3) for i in range(21)] + assert list(decimalpar2.range) == expected_range + assert decimalpar2.value == 0.02 + decimalpar2.value = 0.022222 + assert decimalpar2.value == 0.022 + + HyperoptStateContainer.set_state(HyperoptState.OPTIMIZE) + assert len(list(decimalpar.range)) == 1 + + +def test_hyperopt_categorical_parameter(): + HyperoptStateContainer.set_state(HyperoptState.INDICATORS) + from optuna.distributions import CategoricalDistribution + + with pytest.raises(OperationalException, match=r"CategoricalParameter space must.*"): + CategoricalParameter(["aa"], default="aa", space="buy") + + with pytest.raises(TypeError): + BaseParameter(opt_range=[0, 1], default=1, space="buy") + + catpar = CategoricalParameter( + ["buy_rsi", "buy_macd", "buy_none"], default="buy_macd", space="buy" + ) + assert catpar.value == "buy_macd" + assert isinstance(catpar.get_space(""), CategoricalDistribution) + assert isinstance(catpar.range, list) + assert len(list(catpar.range)) == 1 + # Range contains ONLY the default / value. + assert list(catpar.range) == [catpar.value] + catpar.in_space = True + assert len(list(catpar.range)) == 3 + assert list(catpar.range) == ["buy_rsi", "buy_macd", "buy_none"] + + boolpar = BooleanParameter(default=True, space="buy") + assert boolpar.value is True + assert isinstance(boolpar.get_space(""), CategoricalDistribution) + assert isinstance(boolpar.range, list) + assert len(list(boolpar.range)) == 1 + + boolpar.in_space = True + assert len(list(boolpar.range)) == 2 + + assert list(boolpar.range) == [True, False] + + HyperoptStateContainer.set_state(HyperoptState.OPTIMIZE) + assert len(list(catpar.range)) == 1 + assert len(list(boolpar.range)) == 1 diff --git a/tests/test_configuration.py b/tests/test_configuration.py index eb5e67823..66d039845 100644 --- a/tests/test_configuration.py +++ b/tests/test_configuration.py @@ -6,7 +6,6 @@ from pathlib import Path from unittest.mock import MagicMock import pytest -from jsonschema import ValidationError from freqtrade.commands import Arguments from freqtrade.configuration import ( @@ -51,20 +50,20 @@ def test_load_config_missing_attributes(default_conf) -> None: conf = deepcopy(default_conf) conf.pop("exchange") - with pytest.raises(ValidationError, match=r".*'exchange' is a required property.*"): + with pytest.raises(ConfigurationError, match=r".*'exchange' is a required property.*"): validate_config_schema(conf) conf = deepcopy(default_conf) conf.pop("stake_currency") conf["runmode"] = RunMode.DRY_RUN - with pytest.raises(ValidationError, match=r".*'stake_currency' is a required property.*"): + with pytest.raises(ConfigurationError, match=r".*'stake_currency' is a required property.*"): validate_config_schema(conf) def test_load_config_incorrect_stake_amount(default_conf) -> None: default_conf["stake_amount"] = "fake" - with pytest.raises(ValidationError, match=r".*'fake' does not match 'unlimited'.*"): + with pytest.raises(ConfigurationError, match=r".*'fake' does not match 'unlimited'.*"): validate_config_schema(default_conf) @@ -1075,7 +1074,7 @@ def test_load_config_default_exchange(all_conf) -> None: assert "exchange" not in all_conf - with pytest.raises(ValidationError, match=r"'exchange' is a required property"): + with pytest.raises(ConfigurationError, match=r"'exchange' is a required property"): validate_config_schema(all_conf) @@ -1088,14 +1087,14 @@ def test_load_config_default_exchange_name(all_conf) -> None: assert "name" not in all_conf["exchange"] - with pytest.raises(ValidationError, match=r"'name' is a required property"): + with pytest.raises(ConfigurationError, match=r"'name' is a required property"): validate_config_schema(all_conf) def test_load_config_stoploss_exchange_limit_ratio(all_conf) -> None: all_conf["order_types"]["stoploss_on_exchange_limit_ratio"] = 1.15 - with pytest.raises(ValidationError, match=r"1.15 is greater than the maximum"): + with pytest.raises(ConfigurationError, match=r"1.15 is greater than the maximum"): validate_config_schema(all_conf) diff --git a/tests/test_talib.py b/tests/test_talib.py index 97551bec9..81208a67c 100644 --- a/tests/test_talib.py +++ b/tests/test_talib.py @@ -5,11 +5,11 @@ import talib.abstract as ta def test_talib_bollingerbands_near_zero_values(): inputs = pd.DataFrame( [ - {"close": 0.00000010}, - {"close": 0.00000011}, - {"close": 0.00000012}, - {"close": 0.00000013}, - {"close": 0.00000014}, + {"close": 0.000010}, + {"close": 0.000011}, + {"close": 0.000012}, + {"close": 0.000013}, + {"close": 0.000014}, ] ) bollinger = ta.BBANDS(inputs, matype=0, timeperiod=2) diff --git a/tests/testdata/config.tests.json b/tests/testdata/config.tests.json index fdfa97350..d57673f91 100644 --- a/tests/testdata/config.tests.json +++ b/tests/testdata/config.tests.json @@ -1,4 +1,5 @@ { + "$schema": "https://schema.freqtrade.io/schema.json", "max_open_trades": 3, "stake_currency": "BTC", "stake_amount": 0.05, diff --git a/tests/testdata/config.tests.usdt.json b/tests/testdata/config.tests.usdt.json new file mode 100644 index 000000000..344793d48 --- /dev/null +++ b/tests/testdata/config.tests.usdt.json @@ -0,0 +1,77 @@ +{ + "$schema": "https://schema.freqtrade.io/schema.json", + "max_open_trades": 3, + "stake_currency": "USDT", + "stake_amount": "unlimited", + "tradable_balance_ratio": 0.99, + "fiat_display_currency": "USD", + "trading_mode": "futures", + "margin_mode": "isolated", + "timeframe": "5m", + "dry_run": true, + "cancel_open_orders_on_exit": false, + "unfilledtimeout": { + "entry": 5, + "exit": 5, + "exit_timeout_count": 0, + "unit": "minutes" + }, + "entry_pricing": { + "price_side": "same", + "use_order_book": true, + "order_book_top": 1, + "price_last_balance": 0.0, + "check_depth_of_market": { + "enabled": false, + "bids_to_ask_delta": 1 + } + }, + "exit_pricing":{ + "price_side": "same", + "use_order_book": true, + "order_book_top": 1 + }, + "exchange": { + "name": "bybit", + "key": "your_exchange_key", + "secret": "your_exchange_secret", + "ccxt_config": {}, + "ccxt_async_config": {}, + "pair_whitelist": [ + "BTC/USDT:USDT", + "ETH/USDT:USDT", + "LTC/USDT:USDT", + "ETC/USDT:USDT", + "XLM/USDT:USDT", + "XRP/USDT:USDT", + "ADA/USDT:USDT", + "DOT/USDT:USDT" + ], + "pair_blacklist": [ + ] + }, + "pairlists": [ + {"method": "StaticPairList"} + ], + "telegram": { + "enabled": false, + "token": "your_telegram_token", + "chat_id": "your_telegram_chat_id" + }, + "api_server": { + "enabled": false, + "listen_ip_address": "127.0.0.1", + "listen_port": 8080, + "verbosity": "error", + "jwt_secret_key": "somethingrandom", + "CORS_origins": [], + "username": "freqtrader", + "password": "SuperSecurePassword" + }, + "bot_name": "freqtrade", + "initial_state": "running", + "force_entry_enable": false, + "internals": { + "process_throttle_secs": 5 + } +}