diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index 8637c0d68..0f64eaf5f 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -12,7 +12,7 @@ Have you searched for similar issues before posting it?
If you have discovered a bug in the bot, please [search the issue tracker](https://github.com/freqtrade/freqtrade/issues?q=is%3Aissue).
If it hasn't been reported, please create a new issue.
-Please do not use bug reports to request new features.
+Please do not use the bug report template to request new features.
-->
## Describe your environment
diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md
index 9283f0e4f..52f799ed7 100644
--- a/.github/ISSUE_TEMPLATE/question.md
+++ b/.github/ISSUE_TEMPLATE/question.md
@@ -8,9 +8,12 @@ assignees: ''
---
## Describe your environment
@@ -22,4 +25,4 @@ Please do not use the question template to report bugs or to request new feature
## Your question
-*Ask the question you have not been able to find an answer in the [Documentation](https://www.freqtrade.io/en/latest/)*
+*Ask the question you have not been able to find an answer in the [Documentation](https://www.freqtrade.io/)*
diff --git a/.github/workflows/binance-lev-tier-update.yml b/.github/workflows/binance-lev-tier-update.yml
index ba1999fd6..278d85413 100644
--- a/.github/workflows/binance-lev-tier-update.yml
+++ b/.github/workflows/binance-lev-tier-update.yml
@@ -34,7 +34,7 @@ jobs:
run: python build_helpers/binance_update_lev_tiers.py
- - uses: peter-evans/create-pull-request@v7
+ - uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
with:
token: ${{ secrets.REPO_SCOPED_TOKEN }}
add-paths: freqtrade/exchange/binance_leverage_tiers.json
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index e45f85481..fabcb90ab 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -38,8 +38,9 @@ jobs:
python-version: ${{ matrix.python-version }}
- name: Install uv
- uses: astral-sh/setup-uv@v5
+ uses: astral-sh/setup-uv@6b9c6063abd6010835644d4c2e1bef4cf5cd0fca # v6.0.1
with:
+ activate-environment: true
enable-cache: true
python-version: ${{ matrix.python-version }}
cache-dependency-glob: "requirements**.txt"
@@ -144,7 +145,7 @@ jobs:
mypy freqtrade scripts tests
- name: Discord notification
- uses: rjstone/discord-webhook-notify@v1
+ uses: rjstone/discord-webhook-notify@1399c1b2d57cc05894d506d2cfdc33c5f012b993 #v1.1.1
if: failure() && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false)
with:
severity: error
@@ -170,8 +171,9 @@ jobs:
check-latest: true
- name: Install uv
- uses: astral-sh/setup-uv@v5
+ uses: astral-sh/setup-uv@6b9c6063abd6010835644d4c2e1bef4cf5cd0fca # v6.0.1
with:
+ activate-environment: true
enable-cache: true
python-version: ${{ matrix.python-version }}
cache-dependency-glob: "requirements**.txt"
@@ -270,7 +272,7 @@ jobs:
mypy freqtrade scripts
- name: Discord notification
- uses: rjstone/discord-webhook-notify@v1
+ uses: rjstone/discord-webhook-notify@1399c1b2d57cc05894d506d2cfdc33c5f012b993 #v1.1.1
if: failure() && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false)
with:
severity: info
@@ -296,8 +298,9 @@ jobs:
python-version: ${{ matrix.python-version }}
- name: Install uv
- uses: astral-sh/setup-uv@v5
+ uses: astral-sh/setup-uv@6b9c6063abd6010835644d4c2e1bef4cf5cd0fca # v6.0.1
with:
+ activate-environment: true
enable-cache: true
python-version: ${{ matrix.python-version }}
cache-dependency-glob: "requirements**.txt"
@@ -363,7 +366,7 @@ jobs:
shell: powershell
- name: Discord notification
- uses: rjstone/discord-webhook-notify@v1
+ uses: rjstone/discord-webhook-notify@1399c1b2d57cc05894d506d2cfdc33c5f012b993 #v1.1.1
if: failure() && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false)
with:
severity: error
@@ -397,7 +400,7 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- - uses: pre-commit/action@v3.0.1
+ - uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1
docs-check:
runs-on: ubuntu-22.04
@@ -421,7 +424,7 @@ jobs:
mkdocs build
- name: Discord notification
- uses: rjstone/discord-webhook-notify@v1
+ uses: rjstone/discord-webhook-notify@1399c1b2d57cc05894d506d2cfdc33c5f012b993 #v1.1.1
if: failure() && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false)
with:
severity: error
@@ -431,7 +434,7 @@ jobs:
build-linux-online:
# Run pytest with "live" checks
- runs-on: ubuntu-22.04
+ runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
@@ -443,8 +446,9 @@ jobs:
python-version: "3.12"
- name: Install uv
- uses: astral-sh/setup-uv@v5
+ uses: astral-sh/setup-uv@6b9c6063abd6010835644d4c2e1bef4cf5cd0fca # v6.0.1
with:
+ activate-environment: true
enable-cache: true
python-version: "3.12"
cache-dependency-glob: "requirements**.txt"
@@ -501,14 +505,14 @@ jobs:
- name: Check user permission
id: check
- uses: scherermichael-oss/action-has-permission@1.0.6
+ uses: scherermichael-oss/action-has-permission@136e061bfe093832d87f090dd768e14e27a740d3 # 1.0.6
with:
required-permission: write
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Discord notification
- uses: rjstone/discord-webhook-notify@v1
+ uses: rjstone/discord-webhook-notify@1399c1b2d57cc05894d506d2cfdc33c5f012b993 #v1.1.1
if: always() && steps.check.outputs.has-permission && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false)
with:
severity: info
@@ -580,7 +584,7 @@ jobs:
merge-multiple: true
- name: Publish to PyPI (Test)
- uses: pypa/gh-action-pypi-publish@v1.12.4
+ uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4
with:
repository-url: https://test.pypi.org/legacy/
@@ -609,7 +613,7 @@ jobs:
merge-multiple: true
- name: Publish to PyPI
- uses: pypa/gh-action-pypi-publish@v1.12.4
+ uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4
deploy-docker:
@@ -650,11 +654,11 @@ jobs:
docker version -f '{{.Server.Experimental}}'
- name: Set up QEMU
- uses: docker/setup-qemu-action@v3
+ uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
- name: Set up Docker Buildx
id: buildx
- uses: docker/setup-buildx-action@v3
+ uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 #v3.10.0
- name: Available platforms
run: echo ${PLATFORMS}
@@ -703,7 +707,7 @@ jobs:
build_helpers/publish_docker_arm64.sh
- name: Discord notification
- uses: rjstone/discord-webhook-notify@v1
+ uses: rjstone/discord-webhook-notify@1399c1b2d57cc05894d506d2cfdc33c5f012b993 #v1.1.1
if: always() && ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.fork == false) && (github.event_name != 'schedule')
with:
severity: info
diff --git a/.github/workflows/devcontainer-build.yml b/.github/workflows/devcontainer-build.yml
index 12b55c6ed..9e49ffed3 100644
--- a/.github/workflows/devcontainer-build.yml
+++ b/.github/workflows/devcontainer-build.yml
@@ -28,13 +28,13 @@ jobs:
with:
persist-credentials: false
- name: Login to GitHub Container Registry
- uses: docker/login-action@v3
+ uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Pre-build dev container image
- uses: devcontainers/ci@v0.3
+ uses: devcontainers/ci@8bf61b26e9c3a98f69cb6ce2f88d24ff59b785c6 # v0.3.19
with:
subFolder: .github
imageName: ghcr.io/${{ github.repository }}-devcontainer
diff --git a/.github/workflows/docker-update-readme.yml b/.github/workflows/docker-update-readme.yml
index 7f00c01c0..b34f8c38d 100644
--- a/.github/workflows/docker-update-readme.yml
+++ b/.github/workflows/docker-update-readme.yml
@@ -16,7 +16,7 @@ jobs:
persist-credentials: false
- name: Docker Hub Description
- uses: peter-evans/dockerhub-description@v4
+ uses: peter-evans/dockerhub-description@432a30c9e07499fd01da9f8a49f0faf9e0ca5b77 # v4.0.2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
diff --git a/.github/workflows/pre-commit-update.yml b/.github/workflows/pre-commit-update.yml
index 5996dddf9..8fb8684a6 100644
--- a/.github/workflows/pre-commit-update.yml
+++ b/.github/workflows/pre-commit-update.yml
@@ -28,7 +28,7 @@ jobs:
- name: Run auto-update
run: pre-commit autoupdate
- - uses: peter-evans/create-pull-request@v7
+ - uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
with:
token: ${{ secrets.REPO_SCOPED_TOKEN }}
add-paths: .pre-commit-config.yaml
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 5d36ce602..abd4ba424 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,8 +1,20 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
+
+ - repo: local
+ # Keep json schema in sync with the config schema
+ # This will write the files - and fail pre-commit if a file has been changed.
+ hooks:
+ - id: Extract config json schema
+ name: extract-config-json-schema
+ entry: "python build_helpers/extract_config_json_schema.py"
+ language: python
+ pass_filenames: false
+ additional_dependencies: ["python-rapidjson", "jsonschema"]
+
- repo: https://github.com/pycqa/flake8
- rev: "7.1.2"
+ rev: "7.2.0"
hooks:
- id: flake8
additional_dependencies: [Flake8-pyproject]
@@ -16,10 +28,10 @@ repos:
additional_dependencies:
- types-cachetools==5.5.0.20240820
- types-filelock==3.2.7
- - types-requests==2.32.0.20250306
+ - types-requests==2.32.0.20250328
- types-tabulate==0.9.0.20241207
- types-python-dateutil==2.9.0.20241206
- - SQLAlchemy==2.0.39
+ - SQLAlchemy==2.0.40
# stages: [push]
- repo: https://github.com/pycqa/isort
@@ -31,7 +43,7 @@ repos:
- repo: https://github.com/charliermarsh/ruff-pre-commit
# Ruff version.
- rev: 'v0.11.2'
+ rev: 'v0.11.8'
hooks:
- id: ruff
- id: ruff-format
@@ -70,6 +82,6 @@ repos:
# Ensure github actions remain safe
- repo: https://github.com/woodruffw/zizmor-pre-commit
- rev: v1.5.2
+ rev: v1.6.0
hooks:
- id: zizmor
diff --git a/Dockerfile b/Dockerfile
index 15636ed71..de20ef376 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM python:3.12.9-slim-bookworm as base
+FROM python:3.12.10-slim-bookworm as base
# Setup env
ENV LANG C.UTF-8
diff --git a/build_helpers/binance_update_lev_tiers.py b/build_helpers/binance_update_lev_tiers.py
index 6d5fa5c1d..64772abf7 100644
--- a/build_helpers/binance_update_lev_tiers.py
+++ b/build_helpers/binance_update_lev_tiers.py
@@ -12,7 +12,12 @@ secret = os.environ.get("FREQTRADE__EXCHANGE__SECRET")
proxy = os.environ.get("CI_WEB_PROXY")
exchange = ccxt.binance(
- {"apiKey": key, "secret": secret, "httpsProxy": proxy, "options": {"defaultType": "swap"}}
+ {
+ "apiKey": key,
+ "secret": secret,
+ "httpsProxy": proxy,
+ "options": {"defaultType": "swap"},
+ }
)
_ = exchange.load_markets()
diff --git a/build_helpers/create_command_partials.py b/build_helpers/create_command_partials.py
index 7127950ed..97bec3a7d 100644
--- a/build_helpers/create_command_partials.py
+++ b/build_helpers/create_command_partials.py
@@ -1,4 +1,4 @@
-import subprocess
+import subprocess # noqa: S404, RUF100
from pathlib import Path
diff --git a/build_helpers/extract_config_json_schema.py b/build_helpers/extract_config_json_schema.py
index 44ecc0f91..15bfd7720 100644
--- a/build_helpers/extract_config_json_schema.py
+++ b/build_helpers/extract_config_json_schema.py
@@ -4,10 +4,23 @@ from pathlib import Path
import rapidjson
-from freqtrade.configuration.config_schema import CONF_SCHEMA
-
def extract_config_json_schema():
+ try:
+ # Try to import from the installed package
+ from freqtrade.config_schema import CONF_SCHEMA
+ except ImportError:
+ # If freqtrade is not installed, add the parent directory to sys.path
+ # to import directly from the source
+ import sys
+
+ script_dir = Path(__file__).parent
+ freqtrade_dir = script_dir.parent
+ sys.path.insert(0, str(freqtrade_dir))
+
+ # Now try to import from the source
+ from freqtrade.config_schema import CONF_SCHEMA
+
schema_filename = Path(__file__).parent / "schema.json"
with schema_filename.open("w") as f:
rapidjson.dump(CONF_SCHEMA, f, indent=2)
diff --git a/build_helpers/pyarrow-19.0.1-cp311-cp311-linux_armv7l.whl b/build_helpers/pyarrow-20.0.0-cp311-cp311-linux_armv7l.whl
similarity index 63%
rename from build_helpers/pyarrow-19.0.1-cp311-cp311-linux_armv7l.whl
rename to build_helpers/pyarrow-20.0.0-cp311-cp311-linux_armv7l.whl
index 0a730939a..eadefdafb 100644
Binary files a/build_helpers/pyarrow-19.0.1-cp311-cp311-linux_armv7l.whl and b/build_helpers/pyarrow-20.0.0-cp311-cp311-linux_armv7l.whl differ
diff --git a/build_helpers/schema.json b/build_helpers/schema.json
index c5bbeb4ef..0aa2ea416 100644
--- a/build_helpers/schema.json
+++ b/build_helpers/schema.json
@@ -1032,6 +1032,7 @@
"type": "string",
"enum": [
"running",
+ "paused",
"stopped"
]
},
@@ -1515,6 +1516,14 @@
"type": "boolean",
"default": false
},
+ "indicator_periods_candles": {
+ "description": "Time periods to calculate indicators for. The indicators are added to the base indicator dataset.",
+ "type": "array",
+ "items": {
+ "type": "number",
+ "minimum": 1
+ }
+ },
"use_SVM_to_remove_outliers": {
"description": "Use SVM to remove outliers from the features.",
"type": "boolean",
diff --git a/docker/Dockerfile.armhf b/docker/Dockerfile.armhf
index 94049101b..9ae810a26 100644
--- a/docker/Dockerfile.armhf
+++ b/docker/Dockerfile.armhf
@@ -1,4 +1,4 @@
-FROM python:3.11.11-slim-bookworm as base
+FROM python:3.11.12-slim-bookworm as base
# Setup env
ENV LANG C.UTF-8
diff --git a/docs/advanced-setup.md b/docs/advanced-setup.md
index b7ab86eac..f20e91cb0 100644
--- a/docs/advanced-setup.md
+++ b/docs/advanced-setup.md
@@ -177,7 +177,7 @@ sudo loginctl enable-linger "$USER"
If you run the bot as a service, you can use systemd service manager as a software watchdog monitoring freqtrade bot
state and restarting it in the case of failures. If the `internals.sd_notify` parameter is set to true in the
configuration or the `--sd-notify` command line option is used, the bot will send keep-alive ping messages to systemd
-using the sd_notify (systemd notifications) protocol and will also tell systemd its current state (Running or Stopped)
+using the sd_notify (systemd notifications) protocol and will also tell systemd its current state (Running, Paused or Stopped)
when it changes.
The `freqtrade.service.watchdog` file contains an example of the service unit configuration file which uses systemd
@@ -189,13 +189,15 @@ as the watchdog.
## Advanced Logging
Freqtrade uses the default logging module provided by python.
-Python allows for extensive [logging configuration](https://docs.python.org/3/library/logging.config.html#logging.config.dictConfig) in this regards - way more than what can be covered here.
+Python allows for extensive [logging configuration](https://docs.python.org/3/library/logging.config.html#logging.config.dictConfig) in this regard - way more than what can be covered here.
-Default logging (Colored terminal output) is setup by default if no `log_config` is provided.
+Default logging format (coloured terminal output) is set up by default if no `log_config` is provided in your freqtrade configuration.
Using `--logfile logfile.log` will enable the RotatingFileHandler.
-If you're not content with the log format - or with the default settings provided for the RotatingFileHandler, you can customize logging to your liking.
-The default configuration looks roughly like the below - with the file handler being provided - but not enabled.
+If you're not content with the log format, or with the default settings provided for the RotatingFileHandler, you can customize logging to your liking by adding the `log_config` configuration to your freqtrade configuration file(s).
+
+The default configuration looks roughly like the below, with the file handler being provided but not enabled as the `filename` is commented out.
+Uncomment this line and supply a valid path/filename to enable it.
``` json hl_lines="5-7 13-16 27"
{
@@ -237,12 +239,12 @@ The default configuration looks roughly like the below - with the file handler b
Highlighted lines in the above code-block define the Rich handler and belong together.
The formatter "standard" and "file" will belong to the FileHandler.
-Each handler must use one of the defined formatters (by name) - and it's class must be available and a valid logging class.
-To actually use a handler - it must be in the "handlers" section inside the "root" segment.
+Each handler must use one of the defined formatters (by name), its class must be available, and must be a valid logging class.
+To actually use a handler, it must be in the "handlers" section inside the "root" segment.
If this section is left out, freqtrade will provide no output (in the non-configured handler, anyway).
!!! Tip "Explicit log configuration"
- We recommend to extract the logging configuration from your main configuration, and provide it to your bot via [multiple configuration files](configuration.md#multiple-configuration-files) functionality. This will avoid unnecessary code duplication.
+ We recommend to extract the logging configuration from your main freqtrade configuration file, and provide it to your bot via [multiple configuration files](configuration.md#multiple-configuration-files) functionality. This will avoid unnecessary code duplication.
---
diff --git a/docs/assets/freqUI-chart-annotations-dark.png b/docs/assets/freqUI-chart-annotations-dark.png
new file mode 100644
index 000000000..9f7de269b
Binary files /dev/null and b/docs/assets/freqUI-chart-annotations-dark.png differ
diff --git a/docs/assets/freqUI-chart-annotations-light.png b/docs/assets/freqUI-chart-annotations-light.png
new file mode 100644
index 000000000..ccc219647
Binary files /dev/null and b/docs/assets/freqUI-chart-annotations-light.png differ
diff --git a/docs/commands/backtesting-analysis.md b/docs/commands/backtesting-analysis.md
index 50707d03a..6aa18d670 100644
--- a/docs/commands/backtesting-analysis.md
+++ b/docs/commands/backtesting-analysis.md
@@ -59,7 +59,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/backtesting-show.md b/docs/commands/backtesting-show.md
index a1b146a82..6a4565616 100644
--- a/docs/commands/backtesting-show.md
+++ b/docs/commands/backtesting-show.md
@@ -30,7 +30,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/backtesting.md b/docs/commands/backtesting.md
index 395ab4b00..c54d9e40c 100644
--- a/docs/commands/backtesting.md
+++ b/docs/commands/backtesting.md
@@ -89,7 +89,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/convert-data.md b/docs/commands/convert-data.md
index 3bd0fa45b..32996eba3 100644
--- a/docs/commands/convert-data.md
+++ b/docs/commands/convert-data.md
@@ -45,7 +45,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/convert-trade-data.md b/docs/commands/convert-trade-data.md
index 25843a8da..cf53e5329 100644
--- a/docs/commands/convert-trade-data.md
+++ b/docs/commands/convert-trade-data.md
@@ -34,7 +34,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/download-data.md b/docs/commands/download-data.md
index e70ae9a23..ce80e704e 100644
--- a/docs/commands/download-data.md
+++ b/docs/commands/download-data.md
@@ -63,7 +63,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/edge.md b/docs/commands/edge.md
index 06f883230..c69a63583 100644
--- a/docs/commands/edge.md
+++ b/docs/commands/edge.md
@@ -50,7 +50,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/hyperopt-list.md b/docs/commands/hyperopt-list.md
index 5e8398f51..8457aba27 100644
--- a/docs/commands/hyperopt-list.md
+++ b/docs/commands/hyperopt-list.md
@@ -55,7 +55,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/hyperopt-show.md b/docs/commands/hyperopt-show.md
index 14d6516e9..5cd114c17 100644
--- a/docs/commands/hyperopt-show.md
+++ b/docs/commands/hyperopt-show.md
@@ -37,7 +37,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/hyperopt.md b/docs/commands/hyperopt.md
index 2fc522d0f..e7a05bedf 100644
--- a/docs/commands/hyperopt.md
+++ b/docs/commands/hyperopt.md
@@ -79,6 +79,7 @@ options:
SortinoHyperOptLoss, SortinoHyperOptLossDaily,
CalmarHyperOptLoss, MaxDrawDownHyperOptLoss,
MaxDrawDownRelativeHyperOptLoss,
+ MaxDrawDownPerPairHyperOptLoss,
ProfitDrawDownHyperOptLoss, MultiMetricHyperOptLoss
--disable-param-export
Disable automatic hyperopt parameter export.
@@ -102,7 +103,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/install-ui.md b/docs/commands/install-ui.md
index 57e8fbda2..b8430e36e 100644
--- a/docs/commands/install-ui.md
+++ b/docs/commands/install-ui.md
@@ -1,9 +1,12 @@
```
-usage: freqtrade install-ui [-h] [--erase] [--ui-version UI_VERSION]
+usage: freqtrade install-ui [-h] [--erase] [--prerelease]
+ [--ui-version UI_VERSION]
options:
-h, --help show this help message and exit
--erase Clean UI folder, don't download new version.
+ --prerelease Install the latest pre-release version of FreqUI. This
+ is not recommended for production use.
--ui-version UI_VERSION
Specify a specific version of FreqUI to install. Not
specifying this installs the latest version.
diff --git a/docs/commands/list-data.md b/docs/commands/list-data.md
index c6e8cc94e..515207178 100644
--- a/docs/commands/list-data.md
+++ b/docs/commands/list-data.md
@@ -41,7 +41,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/list-exchanges.md b/docs/commands/list-exchanges.md
index c95ae3ebd..f551c8aa8 100644
--- a/docs/commands/list-exchanges.md
+++ b/docs/commands/list-exchanges.md
@@ -22,7 +22,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/list-freqaimodels.md b/docs/commands/list-freqaimodels.md
index 3e66880ab..c4a588eba 100644
--- a/docs/commands/list-freqaimodels.md
+++ b/docs/commands/list-freqaimodels.md
@@ -24,7 +24,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/list-hyperoptloss.md b/docs/commands/list-hyperoptloss.md
index 1a1604b0f..2762c3fe7 100644
--- a/docs/commands/list-hyperoptloss.md
+++ b/docs/commands/list-hyperoptloss.md
@@ -24,7 +24,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/list-markets.md b/docs/commands/list-markets.md
index d33b9c5d1..d2233e1da 100644
--- a/docs/commands/list-markets.md
+++ b/docs/commands/list-markets.md
@@ -39,7 +39,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/list-pairs.md b/docs/commands/list-pairs.md
index 3d8e677ee..3f991e414 100644
--- a/docs/commands/list-pairs.md
+++ b/docs/commands/list-pairs.md
@@ -39,7 +39,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/list-strategies.md b/docs/commands/list-strategies.md
index af5771860..95f79e175 100644
--- a/docs/commands/list-strategies.md
+++ b/docs/commands/list-strategies.md
@@ -27,7 +27,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/list-timeframes.md b/docs/commands/list-timeframes.md
index 8dc10a789..bcd45b151 100644
--- a/docs/commands/list-timeframes.md
+++ b/docs/commands/list-timeframes.md
@@ -23,7 +23,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/lookahead-analysis.md b/docs/commands/lookahead-analysis.md
index bb7ef5d8e..7870d212e 100644
--- a/docs/commands/lookahead-analysis.md
+++ b/docs/commands/lookahead-analysis.md
@@ -89,7 +89,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/plot-dataframe.md b/docs/commands/plot-dataframe.md
index 81ecc0da7..e101d0d5b 100644
--- a/docs/commands/plot-dataframe.md
+++ b/docs/commands/plot-dataframe.md
@@ -63,7 +63,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/plot-profit.md b/docs/commands/plot-profit.md
index 207697a93..2c0b0e6b5 100644
--- a/docs/commands/plot-profit.md
+++ b/docs/commands/plot-profit.md
@@ -49,7 +49,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/recursive-analysis.md b/docs/commands/recursive-analysis.md
index b39e8fb35..39b4fc3da 100644
--- a/docs/commands/recursive-analysis.md
+++ b/docs/commands/recursive-analysis.md
@@ -41,7 +41,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/show-trades.md b/docs/commands/show-trades.md
index 316d47448..6ac64cae7 100644
--- a/docs/commands/show-trades.md
+++ b/docs/commands/show-trades.md
@@ -30,7 +30,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/strategy-updater.md b/docs/commands/strategy-updater.md
index ba40322ec..c2804fee2 100644
--- a/docs/commands/strategy-updater.md
+++ b/docs/commands/strategy-updater.md
@@ -34,7 +34,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/trade.md b/docs/commands/trade.md
index b689902c2..0189669c0 100644
--- a/docs/commands/trade.md
+++ b/docs/commands/trade.md
@@ -36,7 +36,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/trades-to-ohlcv.md b/docs/commands/trades-to-ohlcv.md
index c2d42a5cc..748a8ace5 100644
--- a/docs/commands/trades-to-ohlcv.md
+++ b/docs/commands/trades-to-ohlcv.md
@@ -41,7 +41,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/commands/webserver.md b/docs/commands/webserver.md
index a99b83e97..1ac7bd13b 100644
--- a/docs/commands/webserver.md
+++ b/docs/commands/webserver.md
@@ -20,7 +20,9 @@ Common arguments:
exists). Multiple --config options may be used. Can be
set to `-` to read config from stdin.
-d PATH, --datadir PATH, --data-dir PATH
- Path to directory with historical backtesting data.
+ Path to the base directory of the exchange with
+ historical backtesting data. To see futures data, use
+ trading-mode additionally.
--userdir PATH, --user-data-dir PATH
Path to userdata directory.
diff --git a/docs/configuration.md b/docs/configuration.md
index f76b9360d..8c122b9b7 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -205,7 +205,7 @@ Mandatory parameters are marked as **Required**, which means that they are requi
| `exit_pricing.use_order_book` | Enable exiting of open trades using [Order Book Exit](#exit-price-with-orderbook-enabled).
*Defaults to `true`.*
**Datatype:** Boolean
| `exit_pricing.order_book_top` | Bot will use the top N rate in Order Book "price_side" to exit. I.e. a value of 2 will allow the bot to pick the 2nd ask rate in [Order Book Exit](#exit-price-with-orderbook-enabled)
*Defaults to `1`.*
**Datatype:** Positive Integer
| `custom_price_max_distance_ratio` | Configure maximum distance ratio between current and custom entry or exit price.
*Defaults to `0.02` 2%).*
**Datatype:** Positive float
-| | **TODO**
+| | **Order/Signal handling**
| `use_exit_signal` | Use exit signals produced by the strategy in addition to the `minimal_roi`.
Setting this to false disables the usage of `"exit_long"` and `"exit_short"` columns. Has no influence on other exit methods (Stoploss, ROI, callbacks). [Strategy Override](#parameters-in-the-strategy).
*Defaults to `true`.*
**Datatype:** Boolean
| `exit_profit_only` | Wait until the bot reaches `exit_profit_offset` before taking an exit decision. [Strategy Override](#parameters-in-the-strategy).
*Defaults to `false`.*
**Datatype:** Boolean
| `exit_profit_offset` | Exit-signal is only active above this value. Only active in combination with `exit_profit_only=True`. [Strategy Override](#parameters-in-the-strategy).
*Defaults to `0.0`.*
**Datatype:** Float (as ratio)
@@ -266,7 +266,7 @@ Mandatory parameters are marked as **Required**, which means that they are requi
| `bot_name` | Name of the bot. Passed via API to a client - can be shown to distinguish / name bots.
*Defaults to `freqtrade`*
**Datatype:** String
| `external_message_consumer` | Enable [Producer/Consumer mode](producer-consumer.md) for more details.
**Datatype:** Dict
| | **Other**
-| `initial_state` | Defines the initial application state. If set to stopped, then the bot has to be explicitly started via `/start` RPC command.
*Defaults to `stopped`.*
**Datatype:** Enum, either `stopped` or `running`
+| `initial_state` | Defines the initial application state. If set to stopped, then the bot has to be explicitly started via `/start` RPC command.
*Defaults to `stopped`.*
**Datatype:** Enum, either `running`, `paused` or `stopped`
| `force_entry_enable` | Enables the RPC Commands to force a Trade entry. More information below.
**Datatype:** Boolean
| `disable_dataframe_checks` | Disable checking the OHLCV dataframe returned from the strategy methods for correctness. Only use when intentionally changing the dataframe and understand what you are doing. [Strategy Override](#parameters-in-the-strategy).
*Defaults to `False`*.
**Datatype:** Boolean
| `internals.process_throttle_secs` | Set the process throttle, or minimum loop duration for one bot iteration loop. Value in second.
*Defaults to `5` seconds.*
**Datatype:** Positive Integer
@@ -281,7 +281,7 @@ Mandatory parameters are marked as **Required**, which means that they are requi
| `add_config_files` | Additional config files. These files will be loaded and merged with the current config file. The files are resolved relative to the initial file.
*Defaults to `[]`*.
**Datatype:** List of strings
| `dataformat_ohlcv` | Data format to use to store historical candle (OHLCV) data.
*Defaults to `feather`*.
**Datatype:** String
| `dataformat_trades` | Data format to use to store historical trades data.
*Defaults to `feather`*.
**Datatype:** String
-| `reduce_df_footprint` | Recast all numeric columns to float32/int32, with the objective of reducing ram/disk usage (and decreasing train/inference timing in FreqAI). (Currently only affects FreqAI use-cases)
**Datatype:** Boolean.
Default: `False`.
+| `reduce_df_footprint` | Recast all numeric columns to float32/int32, with the objective of reducing ram/disk usage (and decreasing train/inference timing backtesting/hyperopt and in FreqAI).
**Datatype:** Boolean.
Default: `False`.
| `log_config` | Dictionary containing the log config for python logging. [more info](advanced-setup.md#advanced-logging)
**Datatype:** dict.
Default: `FtRichHandler`
### Parameters in the strategy
diff --git a/docs/exchanges.md b/docs/exchanges.md
index 953fb5f8c..f058ed86e 100644
--- a/docs/exchanges.md
+++ b/docs/exchanges.md
@@ -363,6 +363,10 @@ Hyperliquid handles deposits and withdrawals on the Arbitrum One chain, a Layer
* Create a different software wallet, only transfer the funds you want to trade with to that wallet, and use that wallet to trade on Hyperliquid.
* If you have funds you don't want to use for trading (after making a profit for example), transfer them back to your hardware wallet.
+### Historic Hyperliquid data
+
+The Hyperliquid API does not provide historic data beyond the single call to fetch current data, so downloading data is not possible, as the downloaded data would not constitute proper historic data.
+
## All exchanges
Should you experience constant errors with Nonce (like `InvalidNonce`), it is best to regenerate the API keys. Resetting Nonce is difficult and it's usually easier to regenerate the API keys.
diff --git a/docs/freqai-configuration.md b/docs/freqai-configuration.md
index 7ae2535f6..5ab7b2602 100644
--- a/docs/freqai-configuration.md
+++ b/docs/freqai-configuration.md
@@ -258,6 +258,8 @@ freqtrade trade --config config_examples/config_freqai.example.json --strategy F
We do provide an explicit docker-compose file for this in `docker/docker-compose-freqai.yml` - which can be used via `docker compose -f docker/docker-compose-freqai.yml run ...` - or can be copied to replace the original docker file.
This docker-compose file also contains a (disabled) section to enable GPU resources within docker containers. This obviously assumes the system has GPU resources available.
+ PyTorch dropped support for macOS x64 (intel based Apple devices) in version 2.3. Subsequently, freqtrade also dropped support for PyTorch on this platform.
+
### Structure
#### Model
diff --git a/docs/freqai-feature-engineering.md b/docs/freqai-feature-engineering.md
index d25051291..78d26bed4 100644
--- a/docs/freqai-feature-engineering.md
+++ b/docs/freqai-feature-engineering.md
@@ -181,7 +181,7 @@ You can ask for each of the defined features to be included also for informative
In total, the number of features the user of the presented example strategy has created is: length of `include_timeframes` * no. features in `feature_engineering_expand_*()` * length of `include_corr_pairlist` * no. `include_shifted_candles` * length of `indicator_periods_candles`
$= 3 * 3 * 3 * 2 * 2 = 108$.
- !!! note "Learn more about creative feature engineering"
+!!! note "Learn more about creative feature engineering"
Check out our [medium article](https://emergentmethods.medium.com/freqai-from-price-to-prediction-6fadac18b665) geared toward helping users learn how to creatively engineer features.
### Gain finer control over `feature_engineering_*` functions with `metadata`
diff --git a/docs/hyperopt.md b/docs/hyperopt.md
index b8c3cc7ef..3a8100972 100644
--- a/docs/hyperopt.md
+++ b/docs/hyperopt.md
@@ -471,6 +471,7 @@ Currently, the following loss functions are builtin:
* `SortinoHyperOptLossDaily` - optimizes Sortino Ratio calculated on **daily** trade returns relative to **downside** standard deviation.
* `MaxDrawDownHyperOptLoss` - Optimizes Maximum absolute drawdown.
* `MaxDrawDownRelativeHyperOptLoss` - Optimizes both maximum absolute drawdown while also adjusting for maximum relative drawdown.
+* `MaxDrawDownPerPairHyperOptLoss` - Calculates the profit/drawdown ratio per pair and returns the worst result as objective, forcing hyperopt to optimize the parameters for all pairs in the pairlist. This way, we prevent one or more pairs with good results from inflating the metrics, while the pairs with poor results are not represented and therefore not optimized.
* `CalmarHyperOptLoss` - Optimizes Calmar Ratio calculated on trade returns relative to max drawdown.
* `ProfitDrawDownHyperOptLoss` - Optimizes by max Profit & min Drawdown objective. `DRAWDOWN_MULT` variable within the hyperoptloss file can be adjusted to be stricter or more flexible on drawdown purposes.
* `MultiMetricHyperOptLoss` - Optimizes by several key metrics to achieve balanced performance. The primary focus is on maximizing Profit and minimizing Drawdown, while also considering additional metrics such as Profit Factor, Expectancy Ratio and Winrate. Moreover, it applies a penalty for epochs with a low number of trades, encouraging strategies with adequate trade frequency.
diff --git a/docs/includes/showcase.md b/docs/includes/showcase.md
index 766703b9f..6fb5f15cf 100644
--- a/docs/includes/showcase.md
+++ b/docs/includes/showcase.md
@@ -3,7 +3,7 @@ This section will highlight a few projects from members of the community.
The projects below are for the most part not maintained by the freqtrade , therefore use your own caution before using them.
- [Example freqtrade strategies](https://github.com/freqtrade/freqtrade-strategies/)
-- [FrequentHippo - Grafana dashboard with dry/live runs and backtests](http://frequenthippo.ddns.net:3000/) (by hippocritical).
+- [FrequentHippo - Statistics of dry/live runs and backtests](http://frequenthippo.ddns.net) (by hippocritical).
- [Online pairlist generator](https://remotepairlist.com/) (by Blood4rc).
- [Freqtrade Backtesting Project](https://strat.ninja/) (by Blood4rc).
- [Freqtrade analysis notebook](https://github.com/froggleston/freqtrade_analysis_notebook) (by Froggleston).
diff --git a/docs/lookahead-analysis.md b/docs/lookahead-analysis.md
index a64479fe6..126135862 100644
--- a/docs/lookahead-analysis.md
+++ b/docs/lookahead-analysis.md
@@ -1,23 +1,21 @@
# Lookahead analysis
-This page explains how to validate your strategy in terms of look ahead bias.
+This page explains how to validate your strategy in terms of lookahead bias.
-Checking look ahead bias is the bane of any strategy since it is sometimes very easy to introduce backtest bias -
-but very hard to detect.
+Lookahead bias is the bane of any strategy since it is sometimes very easy to introduce this bias, but can be very hard to detect.
-Backtesting initializes all timestamps at once and calculates all indicators in the beginning.
-This means that if your indicators or entry/exit signals could look into future candles and falsify your backtest.
+Backtesting initializes all timestamps (loads the whole dataframe into memory) and calculates all indicators at once.
+This means that if your indicators or entry/exit signals look into future candles, this will falsify your backtest.
-Lookahead-analysis requires historic data to be available.
+The `lookahead-analysis` command requires historic data to be available.
To learn how to get data for the pairs and exchange you're interested in,
head over to the [Data Downloading](data-download.md) section of the documentation.
+`lookahead-analysis` also supports freqai strategies.
-This command is built upon backtesting since it internally chains backtests and pokes at the strategy to provoke it to show look ahead bias.
-This is done by not looking at the strategy itself - but at the results it returned.
-The results are things like changed indicator-values and moved entries/exits compared to the full backtest.
+This command internally chains backtests and pokes at the strategy to provoke it to show lookahead bias.
+This is done by not looking at the strategy code itself, but at changed indicator values and moved entries/exits compared to the full backtest.
-You can use commands of [Backtesting](backtesting.md).
-It also supports the lookahead-analysis of freqai strategies.
+`lookahead-analysis` can use the typical options of [Backtesting](backtesting.md), but forces the following options:
- `--cache` is forced to "none".
- `--max-open-trades` is forced to be at least equal to the number of pairs.
@@ -25,48 +23,83 @@ It also supports the lookahead-analysis of freqai strategies.
- `--stake-amount` is forced to be a static 10000 (10k).
- `--enable-protections` is forced to be off.
-Those are set to avoid users accidentally generating false positives.
+These are set to avoid users accidentally generating false positives.
## Lookahead-analysis command reference
--8<-- "commands/lookahead-analysis.md"
-!!! Note ""
- The above Output was reduced to options `lookahead-analysis` adds on top of regular backtesting commands.
-
-### Summary
-
-Checks a given strategy for look ahead bias via lookahead-analysis
-Look ahead bias means that the backtest uses data from future candles thereby not making it viable beyond backtesting
-and producing false hopes for the one backtesting.
+!!! Note
+ The above output was reduced to options that `lookahead-analysis` adds on top of regular backtesting commands.
### Introduction
-Many strategies - without the programmer knowing - have fallen prey to look ahead bias.
+Many strategies, without the programmer knowing, have fallen prey to lookahead bias.
+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.
-Any backtest will populate the full dataframe including all time stamps at the beginning.
-If the programmer is not careful or oblivious how things work internally
-(which sometimes can be really hard to find out) then it will just look into the future making the strategy amazing
-but not realistic.
+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
+(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 look ahead bias.
+This command is made to try to verify the validity in the form of the aforementioned lookahead bias.
### How does the command work?
It will start with a backtest of all pairs to generate a baseline for indicators and entries/exits.
-After the backtest ran, it will look if the `minimum-trade-amount` is met
-and if not cancel the lookahead-analysis for this strategy.
+After this initial backtest runs, it will look if the `minimum-trade-amount` is met and if not cancel the lookahead-analysis for this strategy.
+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 runs for every entry and exit separately.
-When a verification-backtest is done, it will compare the indicators as the signal (either entry or exit) and report the bias.
-After all signals have been verified or falsified a result-table will be generated for the user to see.
+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.
+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?
+
+If you found a biased strategy online and want to have the same results, just without bias,
+then you will be out of luck most of the time.
+Usually the bias in the strategy is THE driving factor for "too good to be true" profits.
+Removing conditions or indicators that push the profits up from bias will usually make the strategy significantly worse.
+You might be able to salvage it partially if the biased indicators or conditions are not the core of the strategy, or there
+are other entry and exit signals that are not biased.
+
+### Examples of lookahead-bias
+
+- `shift(-10)` looks 10 candles into the future.
+- Using `iloc[]` in populate_* functions to access a specific row in the dataframe.
+- For-loops are prone to introduce lookahead bias if you don't tightly control which numbers are looped through.
+- Aggregation functions like `.mean()`, `.min()` and `.max()`, without a rolling window,
+ will calculate the value over the **whole** dataframe, so the signal candle will "see" a value including future candles.
+ A non-biased example would be to look back candles using `rolling()` instead:
+ e.g. `dataframe['volume_mean_12'] = dataframe['volume'].rolling(12).mean()`
+- `ta.MACD(dataframe, 12, 26, 1)` will introduce bias with a signalperiod of 1.
+
+### What do the columns in the results table mean?
+
+- `filename`: name of the checked strategy file
+- `strategy`: checked strategy class name
+- `has_bias`: result of the lookahead-analysis. `No` would be good, `Yes` would be bad.
+- `total_signals`: number of checked signals (default is 20)
+- `biased_entry_signals`: found bias in that many entries
+- `biased_exit_signals`: found bias in that many exits
+- `biased_indicators`: shows you the indicators themselves that are defined in populate_indicators
+
+You might get false positives in the `biased_exit_signals` if you have biased entry signals paired with those exits.
+However, a biased entry will usually result in a biased exit too,
+even if the exit itself does not produce the bias -
+especially if your entry and exit conditions use the same biased indicator.
+
+**Address the bias in the entries first, then address the exits.**
### Caveats
- `lookahead-analysis` can only verify / falsify the trades it calculated and verified.
-If the strategy has many different signals / signal types, it's up to you to select appropriate parameters to ensure that all signals have triggered at least once. Not triggered signals will not have been verified.
-This could lead to a false-negative (the strategy will then be reported as non-biased).
-- `lookahead-analysis` has access to everything that backtesting has too.
-Please don't provoke any configs like enabling position stacking.
-If you decide to do so, then make doubly sure that you won't ever run out of `max_open_trades` amount and neither leftover money in your wallet.
-- 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.
+If the strategy has many different signals / signal types, it's up to you to select appropriate parameters to ensure that all signals have triggered at least once. Signals that are not triggered will not have been verified.
+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,
+and that you have enough capital in the backtest wallet configuration.
+- 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/producer-consumer.md b/docs/producer-consumer.md
index 0bd52ac93..d7d40df71 100644
--- a/docs/producer-consumer.md
+++ b/docs/producer-consumer.md
@@ -50,6 +50,7 @@ Enable subscribing to an instance by adding the `external_message_consumer` sect
| `ping_timeout` | Ping timeout
*Defaults to `10`.*
**Datatype:** Integer - in seconds.
| `sleep_time` | Sleep time before retrying to connect.
*Defaults to `10`.*
**Datatype:** Integer - in seconds.
| `remove_entry_exit_signals` | Remove signal columns from the dataframe (set them to 0) on dataframe receipt.
*Defaults to `false`.*
**Datatype:** Boolean.
+| `initial_candle_limit` | Initial candles to expect from the Producer.
*Defaults to `1500`.*
**Datatype:** Integer - Number of candles.
| `message_size_limit` | Size limit per message
*Defaults to `8`.*
**Datatype:** Integer - Megabytes.
Instead of (or as well as) calculating indicators in `populate_indicators()` the follower instance listens on the connection to a producer instance's messages (or multiple producer instances in advanced configurations) and requests the producer's most recently analyzed dataframes for each pair in the active whitelist.
diff --git a/docs/requirements-docs.txt b/docs/requirements-docs.txt
index c1c90d274..d498cacdc 100644
--- a/docs/requirements-docs.txt
+++ b/docs/requirements-docs.txt
@@ -1,7 +1,7 @@
-markdown==3.7
+markdown==3.8
mkdocs==1.6.1
-mkdocs-material==9.6.9
+mkdocs-material==9.6.12
mdx_truly_sane_lists==1.3
-pymdown-extensions==10.14.3
+pymdown-extensions==10.15
jinja2==3.1.6
mike==2.1.3
diff --git a/docs/rest-api.md b/docs/rest-api.md
index 10e4534c0..cea4d2ee9 100644
--- a/docs/rest-api.md
+++ b/docs/rest-api.md
@@ -268,6 +268,9 @@ show_config
start
Start the bot if it's in the stopped state.
+pause
+ Pause the bot if it's in the running state. If triggered on stopped state will handle open positions.
+
stats
Return the stats report (durations, sell-reasons).
@@ -333,6 +336,7 @@ All endpoints in the below table need to be prefixed with the base URL of the AP
|-----------|--------|--------------------------|
| `/ping` | GET | Simple command testing the API Readiness - requires no authentication.
| `/start` | POST | Starts the trader.
+| `/pause` | POST | Pause the trader. Gracefully handle open trades according to their rules. Do not enter new positions.
| `/stop` | POST | Stops the trader.
| `/stopbuy` | POST | Stops the trader from opening new trades. Gracefully closes open trades according to their rules.
| `/reload_config` | POST | Reloads the configuration file.
diff --git a/docs/strategy-101.md b/docs/strategy-101.md
index 9226537e1..a5e100b8d 100644
--- a/docs/strategy-101.md
+++ b/docs/strategy-101.md
@@ -165,18 +165,23 @@ If there is any significant difference, verify that your entry and exit signals
## Controlling or monitoring a running bot
-Once your bot is running in dry or live mode, Freqtrade has five mechanisms to control or monitor a running bot:
+Once your bot is running in dry or live mode, Freqtrade has six mechanisms to control or monitor a running bot:
- **[FreqUI](freq-ui.md)**: The easiest to get started with, FreqUI is a web interface to see and control current activity of your bot.
- **[Telegram](telegram-usage.md)**: On mobile devices, Telegram integration is available to get alerts about your bot activity and to control certain aspects.
- **[FTUI](https://github.com/freqtrade/ftui)**: FTUI is a terminal (command line) interface to Freqtrade, and allows monitoring of a running bot only.
-- **[REST API](rest-api.md)**: The REST API allows programmers to develop their own tools to interact with a Freqtrade bot.
+- **[freqtrade-client](rest-api.md#consuming-the-api)**: A python implementation of the REST API, making it easy to make requests and consume bot responses from your python apps or the command line.
+- **[REST API endpoints](rest-api.md#available-endpoints)**: The REST API allows programmers to develop their own tools to interact with a Freqtrade bot.
- **[Webhooks](webhook-config.md)**: Freqtrade can send information to other services, e.g. discord, by webhooks.
### Logs
Freqtrade generates extensive debugging logs to help you understand what's happening. Please familiarise yourself with the information and error messages you might see in your bot logs.
+Logging by default occurs on standard out (the command line). If you want to write out to a file instead, many freqtrade commands, including the `trade` command, accept the `--logfile` option to write to a file.
+
+Check the [FAQ](faq.md#how-do-i-search-the-bot-logs-for-something) for examples.
+
## Final Thoughts
Algo trading is difficult, and most public strategies are not good performers due to the time and effort to make a strategy work profitably in multiple scenarios.
diff --git a/docs/strategy-callbacks.md b/docs/strategy-callbacks.md
index 4564a0f03..541b48c62 100644
--- a/docs/strategy-callbacks.md
+++ b/docs/strategy-callbacks.md
@@ -1107,3 +1107,119 @@ class AwesomeStrategy(IStrategy):
return None
```
+
+## Plot annotations callback
+
+The plot annotations callback is called whenever freqUI requests data to display a chart.
+This callback has no meaning in the trade cycle context and is only used for charting purposes.
+
+The strategy can then return a list of `AnnotationType` objects to be displayed on the chart.
+Depending on the content returned - the chart can display horizontal areas, vertical areas, or boxes.
+
+The full object looks like this:
+
+``` json
+{
+ "type": "area", // Type of the annotation, currently only "area" is supported
+ "start": "2024-01-01 15:00:00", // Start date of the area
+ "end": "2024-01-01 16:00:00", // End date of the area
+ "y_start": 94000.2, // Price / y axis value
+ "y_end": 98000, // Price / y axis value
+ "color": "",
+ "label": "some label"
+}
+```
+
+The below example will mark the chart with areas for the hours 8 and 15, with a grey color, highlighting the market open and close hours.
+This is obviously a very basic example.
+
+``` python
+# Default imports
+
+class AwesomeStrategy(IStrategy):
+ def plot_annotations(
+ self, pair: str, start_date: datetime, end_date: datetime, dataframe: DataFrame, **kwargs
+ ) -> list[AnnotationType]:
+ """
+ Retrieve area annotations for a chart.
+ Must be returned as array, with type, label, color, start, end, y_start, y_end.
+ All settings except for type are optional - though it usually makes sense to include either
+ "start and end" or "y_start and y_end" for either horizontal or vertical plots
+ (or all 4 for boxes).
+ :param pair: Pair that's currently analyzed
+ :param start_date: Start date of the chart data being requested
+ :param end_date: End date of the chart data being requested
+ :param dataframe: DataFrame with the analyzed data for the chart
+ :param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
+ :return: List of AnnotationType objects
+ """
+ annotations = []
+ while start_dt < end_date:
+ start_dt += timedelta(hours=1)
+ if start_dt.hour in (8, 15):
+ annotations.append(
+ {
+ "type": "area",
+ "label": "Trade open and close hours",
+ "start": start_dt,
+ "end": start_dt + timedelta(hours=1),
+ # Omitting y_start and y_end will result in a vertical area spanning the whole height of the main Chart
+ "color": "rgba(133, 133, 133, 0.4)",
+ }
+ )
+
+ return annotations
+
+```
+
+Entries will be validated, and won't be passed to the UI if they don't correspond to the expected schema and will log an error if they don't.
+
+!!! Warning "Many annotations"
+ Using too many annotations can cause the UI to hang, especially when plotting large amounts of historic data.
+ Use the annotation feature with care.
+
+### Plot annotations example
+
+
+
+
+??? Info "Code used for the plot above"
+ This is an example code and should be treated as such.
+
+ ``` python
+ # Default imports
+
+ class AwesomeStrategy(IStrategy):
+ def plot_annotations(
+ self, pair: str, start_date: datetime, end_date: datetime, dataframe: DataFrame, **kwargs
+ ) -> list[AnnotationType]:
+ annotations = []
+ while start_dt < end_date:
+ start_dt += timedelta(hours=1)
+ if (start_dt.hour % 4) == 0:
+ mark_areas.append(
+ {
+ "type": "area",
+ "label": "4h",
+ "start": start_dt,
+ "end": start_dt + timedelta(hours=1),
+ "color": "rgba(133, 133, 133, 0.4)",
+ }
+ )
+ elif (start_dt.hour % 2) == 0:
+ price = dataframe.loc[dataframe["date"] == start_dt, ["close"]].mean()
+ mark_areas.append(
+ {
+ "type": "area",
+ "label": "2h",
+ "start": start_dt,
+ "end": start_dt + timedelta(hours=1),
+ "y_end": price * 1.01,
+ "y_start": price * 0.99,
+ "color": "rgba(0, 255, 0, 0.4)",
+ }
+ )
+
+ return annotations
+
+ ```
diff --git a/docs/telegram-usage.md b/docs/telegram-usage.md
index c7c434140..a7a27f150 100644
--- a/docs/telegram-usage.md
+++ b/docs/telegram-usage.md
@@ -188,7 +188,7 @@ You can create your own keyboard in `config.json`:
!!! Note "Supported Commands"
Only the following commands are allowed. Command arguments are not supported!
- `/start`, `/stop`, `/status`, `/status table`, `/trades`, `/profit`, `/performance`, `/daily`, `/stats`, `/count`, `/locks`, `/balance`, `/stopentry`, `/reload_config`, `/show_config`, `/logs`, `/whitelist`, `/blacklist`, `/edge`, `/help`, `/version`, `/marketdir`
+ `/start`, `/pause`, `/stop`, `/status`, `/status table`, `/trades`, `/profit`, `/performance`, `/daily`, `/stats`, `/count`, `/locks`, `/balance`, `/stopentry`, `/reload_config`, `/show_config`, `/logs`, `/whitelist`, `/blacklist`, `/edge`, `/help`, `/version`, `/marketdir`
## Telegram commands
@@ -200,8 +200,8 @@ official commands. You can ask at any moment for help with `/help`.
|----------|-------------|
| **System commands**
| `/start` | Starts the trader
+| `/pause | /stopentry | /stopbuy` | Pause the trader. Gracefully handle open trades according to their rules. Do not enter new positions.
| `/stop` | Stops the trader
-| `/stopbuy | /stopentry` | Stops the trader from opening new trades. Gracefully closes open trades according to their rules.
| `/reload_config` | Reloads the configuration file
| `/show_config` | Shows part of the current configuration with relevant settings to operation
| `/logs [limit]` | Show last log messages.
@@ -250,25 +250,27 @@ Below, example of Telegram message you will receive for each command.
> **Status:** `running`
+### /pause | /stopentry | /stopbuy
+
+> **Status:** `paused, no more entries will occur from now. Run /start to enable entries.`
+
+Prevents the bot from opening new trades by changing the state to `paused`.
+Open trades will continue to be managed according to their regular rules (ROI/exit signals, stop-loss, etc.).
+Note that position adjustment remains active, but only on the exit side — meaning that when the bot is `paused`, it can only reduce the position size of open trades.
+
+After this, give the bot time to close off open trades (can be checked via `/status table`).
+Once all positions are closed, run `/stop` to completely stop the bot.
+
+Use `/start` to resume the bot to the `running` state, allowing it to open new positions.
+
+!!! Warning
+ The pause/stopentry signal is ONLY active while the bot is running, and is not persisted anyway, so restarting the bot will cause this to reset.
+
### /stop
> `Stopping trader ...`
> **Status:** `stopped`
-### /stopbuy
-
-> **status:** `Setting max_open_trades to 0. Run /reload_config to reset.`
-
-Prevents the bot from opening new trades by temporarily setting "max_open_trades" to 0. Open trades will be handled via their regular rules (ROI / Sell-signal, stoploss, ...).
-
-After this, give the bot time to close off open trades (can be checked via `/status table`).
-Once all positions are sold, run `/stop` to completely stop the bot.
-
-`/reload_config` resets "max_open_trades" to the value set in the configuration and resets this command.
-
-!!! Warning
- The stop-buy signal is ONLY active while the bot is running, and is not persisted anyway, so restarting the bot will cause this to reset.
-
### /status
For each open trade, the bot will send you the following message.
diff --git a/docs/trade-object.md b/docs/trade-object.md
index 26f5e9131..78b130fcc 100644
--- a/docs/trade-object.md
+++ b/docs/trade-object.md
@@ -25,6 +25,7 @@ The following attributes / properties are available for each individual trade -
| `close_date_utc` | datetime | Timestamp when trade was closed - in UTC. |
| `close_profit` | float | Relative profit at the time of trade closure. `0.01` == 1% |
| `close_profit_abs` | float | Absolute profit (in stake currency) at the time of trade closure. |
+| `realized_profit` | float | Absolute already realized profit (in stake currency) while the trade is still open. |
| `leverage` | float | Leverage used for this trade - defaults to 1.0 in spot markets. |
| `enter_tag` | string | Tag provided on entry via the `enter_tag` column in the dataframe. |
| `is_short` | boolean | True for short trades, False otherwise. |
diff --git a/freqtrade/__init__.py b/freqtrade/__init__.py
index 8644f9eab..97e8aa355 100644
--- a/freqtrade/__init__.py
+++ b/freqtrade/__init__.py
@@ -1,12 +1,12 @@
"""Freqtrade bot"""
-__version__ = "2025.4-dev"
+__version__ = "2025.5-dev"
if "dev" in __version__:
from pathlib import Path
try:
- import subprocess # noqa: S404
+ import subprocess # noqa: S404, RUF100
freqtrade_basedir = Path(__file__).parent
diff --git a/freqtrade/commands/arguments.py b/freqtrade/commands/arguments.py
index d0bad4567..c42e46711 100755
--- a/freqtrade/commands/arguments.py
+++ b/freqtrade/commands/arguments.py
@@ -21,6 +21,8 @@ ARGS_COMMON = [
"user_data_dir",
]
+ARGS_MAIN = ["version_main"]
+
ARGS_STRATEGY = [
"strategy",
"strategy_path",
@@ -43,7 +45,8 @@ ARGS_COMMON_OPTIMIZE = [
"pairs",
]
-ARGS_BACKTEST = ARGS_COMMON_OPTIMIZE + [
+ARGS_BACKTEST = [
+ *ARGS_COMMON_OPTIMIZE,
"position_stacking",
"enable_protections",
"dry_run_wallet",
@@ -56,7 +59,8 @@ ARGS_BACKTEST = ARGS_COMMON_OPTIMIZE + [
"freqai_backtest_live_models",
]
-ARGS_HYPEROPT = ARGS_COMMON_OPTIMIZE + [
+ARGS_HYPEROPT = [
+ *ARGS_COMMON_OPTIMIZE,
"hyperopt",
"hyperopt_path",
"position_stacking",
@@ -76,7 +80,7 @@ ARGS_HYPEROPT = ARGS_COMMON_OPTIMIZE + [
"analyze_per_epoch",
]
-ARGS_EDGE = ARGS_COMMON_OPTIMIZE + ["stoploss_range"]
+ARGS_EDGE = [*ARGS_COMMON_OPTIMIZE, "stoploss_range"]
ARGS_LIST_STRATEGIES = [
"strategy_path",
@@ -125,7 +129,7 @@ ARGS_BUILD_STRATEGY = ["user_data_dir", "strategy", "strategy_path", "template"]
ARGS_CONVERT_DATA_TRADES = ["pairs", "format_from_trades", "format_to", "erase", "exchange"]
ARGS_CONVERT_DATA = ["pairs", "format_from", "format_to", "erase", "exchange"]
-ARGS_CONVERT_DATA_OHLCV = ARGS_CONVERT_DATA + ["timeframes", "trading_mode", "candle_types"]
+ARGS_CONVERT_DATA_OHLCV = [*ARGS_CONVERT_DATA, "timeframes", "trading_mode", "candle_types"]
ARGS_CONVERT_TRADES = [
"pairs",
@@ -191,7 +195,7 @@ ARGS_PLOT_PROFIT = [
ARGS_CONVERT_DB = ["db_url", "db_url_from"]
-ARGS_INSTALL_UI = ["erase_ui_only", "ui_version"]
+ARGS_INSTALL_UI = ["erase_ui_only", "ui_prerelease", "ui_version"]
ARGS_SHOW_TRADES = ["db_url", "trade_ids", "print_json"]
@@ -347,7 +351,7 @@ class Arguments:
self.parser = ArgumentParser(
prog="freqtrade", description="Free, open source crypto trading bot"
)
- self._build_args(optionlist=["version_main"], parser=self.parser)
+ self._build_args(optionlist=ARGS_MAIN, parser=self.parser)
from freqtrade.commands import (
start_analysis_entries_exits,
diff --git a/freqtrade/commands/cli_options.py b/freqtrade/commands/cli_options.py
index 6eaa9e3a5..f05907808 100755
--- a/freqtrade/commands/cli_options.py
+++ b/freqtrade/commands/cli_options.py
@@ -83,7 +83,8 @@ AVAILABLE_CLI_OPTIONS = {
"-d",
"--datadir",
"--data-dir",
- help="Path to directory with historical backtesting data.",
+ help="Path to the base directory of the exchange with historical backtesting data. "
+ "To see futures data, use trading-mode additionally.",
metavar="PATH",
),
"user_data_dir": Arg(
@@ -463,7 +464,7 @@ AVAILABLE_CLI_OPTIONS = {
"format_from_trades": Arg(
"--format-from",
help="Source format for data conversion.",
- choices=constants.AVAILABLE_DATAHANDLERS + ["kraken_csv"],
+ choices=[*constants.AVAILABLE_DATAHANDLERS, "kraken_csv"],
required=True,
),
"format_from": Arg(
@@ -527,6 +528,15 @@ AVAILABLE_CLI_OPTIONS = {
),
type=str,
),
+ "ui_prerelease": Arg(
+ "--prerelease",
+ help=(
+ "Install the latest pre-release version of FreqUI. "
+ "This is not recommended for production use."
+ ),
+ action="store_true",
+ default=False,
+ ),
# Templating options
"template": Arg(
"--template",
diff --git a/freqtrade/commands/deploy_commands.py b/freqtrade/commands/deploy_commands.py
index acd975b9b..c2a715971 100644
--- a/freqtrade/commands/deploy_commands.py
+++ b/freqtrade/commands/deploy_commands.py
@@ -23,8 +23,8 @@ def start_create_userdir(args: dict[str, Any]) -> None:
"""
from freqtrade.configuration.directory_operations import copy_sample_files, create_userdata_dir
- if "user_data_dir" in args and args["user_data_dir"]:
- userdir = create_userdata_dir(args["user_data_dir"], create_dir=True)
+ if user_data_dir := args.get("user_data_dir"):
+ userdir = create_userdata_dir(user_data_dir, create_dir=True)
copy_sample_files(userdir, overwrite=args["reset"])
else:
logger.warning("`create-userdir` requires --userdir to be set.")
@@ -85,22 +85,22 @@ def start_new_strategy(args: dict[str, Any]) -> None:
config = setup_utils_configuration(args, RunMode.UTIL_NO_EXCHANGE)
- if "strategy" in args and args["strategy"]:
- if "strategy_path" in args and args["strategy_path"]:
- strategy_dir = Path(args["strategy_path"])
+ if strategy := args.get("strategy"):
+ if strategy_path := args.get("strategy_path"):
+ strategy_dir = Path(strategy_path)
else:
strategy_dir = config["user_data_dir"] / USERPATH_STRATEGIES
if not strategy_dir.is_dir():
logger.info(f"Creating strategy directory {strategy_dir}")
strategy_dir.mkdir(parents=True)
- new_path = strategy_dir / (args["strategy"] + ".py")
+ new_path = strategy_dir / (strategy + ".py")
if new_path.exists():
raise OperationalException(
f"`{new_path}` already exists. Please choose another Strategy Name."
)
- deploy_new_strategy(args["strategy"], new_path, args["template"])
+ deploy_new_strategy(strategy, new_path, args["template"])
else:
raise ConfigurationError("`new-strategy` requires --strategy to be set.")
@@ -116,7 +116,9 @@ def start_install_ui(args: dict[str, Any]) -> None:
dest_folder = Path(__file__).parents[1] / "rpc/api_server/ui/installed/"
# First make sure the assets are removed.
- dl_url, latest_version = get_ui_download_url(args.get("ui_version"))
+ dl_url, latest_version = get_ui_download_url(
+ args.get("ui_version"), args.get("ui_prerelease", False)
+ )
curr_version = read_ui_version(dest_folder)
if curr_version == latest_version and not args.get("erase_ui_only"):
diff --git a/freqtrade/commands/deploy_ui.py b/freqtrade/commands/deploy_ui.py
index a02315bfc..be96d6d11 100644
--- a/freqtrade/commands/deploy_ui.py
+++ b/freqtrade/commands/deploy_ui.py
@@ -51,7 +51,7 @@ def download_and_install_ui(dest_folder: Path, dl_url: str, version: str):
f.write(version)
-def get_ui_download_url(version: str | None = None) -> tuple[str, str]:
+def get_ui_download_url(version: str | None, prerelease: bool) -> tuple[str, str]:
base_url = "https://api.github.com/repos/freqtrade/frequi/"
# Get base UI Repo path
@@ -61,14 +61,18 @@ def get_ui_download_url(version: str | None = None) -> tuple[str, str]:
if version:
tmp = [x for x in r if x["name"] == version]
- if tmp:
- latest_version = tmp[0]["name"]
- assets = tmp[0].get("assets", [])
- else:
- raise ValueError("UI-Version not found.")
else:
- latest_version = r[0]["name"]
- assets = r[0].get("assets", [])
+ tmp = [x for x in r if prerelease or not x.get("prerelease")]
+
+ if tmp:
+ # Ensure we have the latest version
+ if version is None:
+ tmp.sort(key=lambda x: x["created_at"], reverse=True)
+ latest_version = tmp[0]["name"]
+ assets = tmp[0].get("assets", [])
+ else:
+ raise ValueError("UI-Version not found.")
+
dl_url = ""
if assets and len(assets) > 0:
dl_url = assets[0]["browser_download_url"]
diff --git a/freqtrade/commands/list_commands.py b/freqtrade/commands/list_commands.py
index 846b97693..6a1ca819d 100644
--- a/freqtrade/commands/list_commands.py
+++ b/freqtrade/commands/list_commands.py
@@ -5,7 +5,6 @@ from typing import Any
from freqtrade.enums import RunMode
from freqtrade.exceptions import ConfigurationError, OperationalException
-from freqtrade.ft_types import ValidExchangesType
logger = logging.getLogger(__name__)
@@ -21,6 +20,7 @@ def start_list_exchanges(args: dict[str, Any]) -> None:
from rich.text import Text
from freqtrade.exchange import list_available_exchanges
+ from freqtrade.ft_types import ValidExchangesType
from freqtrade.loggers.rich_console import get_rich_console
available_exchanges: list[ValidExchangesType] = list_available_exchanges(
diff --git a/freqtrade/config_schema/__init__.py b/freqtrade/config_schema/__init__.py
new file mode 100644
index 000000000..0a5c19c1f
--- /dev/null
+++ b/freqtrade/config_schema/__init__.py
@@ -0,0 +1,4 @@
+from freqtrade.config_schema.config_schema import CONF_SCHEMA
+
+
+__all__ = ["CONF_SCHEMA"]
diff --git a/freqtrade/configuration/config_schema.py b/freqtrade/config_schema/config_schema.py
similarity index 98%
rename from freqtrade/configuration/config_schema.py
rename to freqtrade/config_schema/config_schema.py
index 166d4f4f6..8b88e655a 100644
--- a/freqtrade/configuration/config_schema.py
+++ b/freqtrade/config_schema/config_schema.py
@@ -689,7 +689,7 @@ CONF_SCHEMA = {
"initial_state": {
"description": "Initial state of the system.",
"type": "string",
- "enum": ["running", "stopped"],
+ "enum": ["running", "paused", "stopped"],
},
"force_entry_enable": {
"description": "Force enable entry.",
@@ -1146,6 +1146,14 @@ CONF_SCHEMA = {
"type": "boolean",
"default": False,
},
+ "indicator_periods_candles": {
+ "description": (
+ "Time periods to calculate indicators for. "
+ "The indicators are added to the base indicator dataset."
+ ),
+ "type": "array",
+ "items": {"type": "number", "minimum": 1},
+ },
"use_SVM_to_remove_outliers": {
"description": "Use SVM to remove outliers from the features.",
"type": "boolean",
@@ -1338,7 +1346,8 @@ SCHEMA_BACKTEST_REQUIRED = [
"dataformat_ohlcv",
"dataformat_trades",
]
-SCHEMA_BACKTEST_REQUIRED_FINAL = SCHEMA_BACKTEST_REQUIRED + [
+SCHEMA_BACKTEST_REQUIRED_FINAL = [
+ *SCHEMA_BACKTEST_REQUIRED,
"stoploss",
"minimal_roi",
"max_open_trades",
@@ -1350,6 +1359,4 @@ SCHEMA_MINIMAL_REQUIRED = [
"dataformat_ohlcv",
"dataformat_trades",
]
-SCHEMA_MINIMAL_WEBSERVER = SCHEMA_MINIMAL_REQUIRED + [
- "api_server",
-]
+SCHEMA_MINIMAL_WEBSERVER = [*SCHEMA_MINIMAL_REQUIRED, "api_server"]
diff --git a/freqtrade/configuration/config_validation.py b/freqtrade/configuration/config_validation.py
index 8640542a1..07a109bd7 100644
--- a/freqtrade/configuration/config_validation.py
+++ b/freqtrade/configuration/config_validation.py
@@ -6,7 +6,7 @@ from typing import Any
from jsonschema import Draft4Validator, validators
from jsonschema.exceptions import ValidationError, best_match
-from freqtrade.configuration.config_schema import (
+from freqtrade.config_schema.config_schema import (
CONF_SCHEMA,
SCHEMA_BACKTEST_REQUIRED,
SCHEMA_BACKTEST_REQUIRED_FINAL,
@@ -361,7 +361,7 @@ def _validate_freqai_include_timeframes(conf: dict[str, Any], preliminary: bool)
# Ensure that the base timeframe is included in the include_timeframes list
if not preliminary and main_tf not in freqai_include_timeframes:
feature_parameters = conf.get("freqai", {}).get("feature_parameters", {})
- include_timeframes = [main_tf] + freqai_include_timeframes
+ include_timeframes = [main_tf, *freqai_include_timeframes]
conf.get("freqai", {}).get("feature_parameters", {}).update(
{**feature_parameters, "include_timeframes": include_timeframes}
)
diff --git a/freqtrade/configuration/configuration.py b/freqtrade/configuration/configuration.py
index 3fc30c375..11aff879f 100644
--- a/freqtrade/configuration/configuration.py
+++ b/freqtrade/configuration/configuration.py
@@ -135,7 +135,7 @@ class Configuration:
{"verbosity": safe_value_fallback(self.args, "verbosity", default_value=0)}
)
- if "logfile" in self.args and self.args["logfile"]:
+ if self.args.get("logfile"):
config.update({"logfile": self.args["logfile"]})
if "print_colorized" in self.args and not self.args["print_colorized"]:
@@ -187,7 +187,7 @@ class Configuration:
logger.warning("`force_entry_enable` RPC message enabled.")
# Support for sd_notify
- if "sd_notify" in self.args and self.args["sd_notify"]:
+ if self.args.get("sd_notify"):
config["internals"].update({"sd_notify": True})
def _process_datadir_options(self, config: Config) -> None:
@@ -196,14 +196,14 @@ class Configuration:
--user-data, --datadir
"""
# Check exchange parameter here - otherwise `datadir` might be wrong.
- if "exchange" in self.args and self.args["exchange"]:
+ if self.args.get("exchange"):
config["exchange"]["name"] = self.args["exchange"]
logger.info(f"Using exchange {config['exchange']['name']}")
if "pair_whitelist" not in config["exchange"]:
config["exchange"]["pair_whitelist"] = []
- if "user_data_dir" in self.args and self.args["user_data_dir"]:
+ if self.args.get("user_data_dir"):
config.update({"user_data_dir": self.args["user_data_dir"]})
elif "user_data_dir" not in config:
# Default to cwd/user_data (legacy option ...)
@@ -251,7 +251,7 @@ class Configuration:
logstring="Parameter --enable-protections detected, enabling Protections. ...",
)
- if "max_open_trades" in self.args and self.args["max_open_trades"]:
+ if self.args.get("max_open_trades"):
config.update({"max_open_trades": self.args["max_open_trades"]})
logger.info(
"Parameter --max-open-trades detected, overriding max_open_trades to: %s ...",
@@ -314,7 +314,7 @@ class Configuration:
self._args_to_config_loop(config, configurations)
# Edge section:
- if "stoploss_range" in self.args and self.args["stoploss_range"]:
+ if self.args.get("stoploss_range"):
txt_range = ast.literal_eval(self.args["stoploss_range"])
config["edge"].update({"stoploss_range_min": txt_range[0]})
config["edge"].update({"stoploss_range_max": txt_range[1]})
@@ -493,7 +493,7 @@ class Configuration:
config["exchange"]["pair_whitelist"] = config["pairs"]
return
- if "pairs_file" in self.args and self.args["pairs_file"]:
+ if self.args.get("pairs_file"):
pairs_file = Path(self.args["pairs_file"])
logger.info(f'Reading pairs file "{pairs_file}".')
# Download pairs from the pairs file if no config is specified
@@ -505,7 +505,7 @@ class Configuration:
config["pairs"].sort()
return
- if "config" in self.args and self.args["config"]:
+ if self.args.get("config"):
logger.info("Using pairlist from configuration.")
config["pairs"] = config.get("exchange", {}).get("pair_whitelist")
else:
diff --git a/freqtrade/configuration/directory_operations.py b/freqtrade/configuration/directory_operations.py
index 4cbd444a3..1fa5c7947 100644
--- a/freqtrade/configuration/directory_operations.py
+++ b/freqtrade/configuration/directory_operations.py
@@ -37,7 +37,7 @@ def chown_user_directory(directory: Path) -> None:
"""
if running_in_docker():
try:
- import subprocess # noqa: S404
+ import subprocess # noqa: S404, RUF100
subprocess.check_output(["sudo", "chown", "-R", "ftuser:", str(directory.resolve())])
except Exception:
diff --git a/freqtrade/constants.py b/freqtrade/constants.py
index 1b99dd6ec..807b0888b 100644
--- a/freqtrade/constants.py
+++ b/freqtrade/constants.py
@@ -37,6 +37,7 @@ HYPEROPT_LOSS_BUILTIN = [
"CalmarHyperOptLoss",
"MaxDrawDownHyperOptLoss",
"MaxDrawDownRelativeHyperOptLoss",
+ "MaxDrawDownPerPairHyperOptLoss",
"ProfitDrawDownHyperOptLoss",
"MultiMetricHyperOptLoss",
]
@@ -70,6 +71,19 @@ DEFAULT_DATAFRAME_COLUMNS = ["date", "open", "high", "low", "close", "volume"]
# it has wide consequences for stored trades files
DEFAULT_TRADES_COLUMNS = ["timestamp", "id", "type", "side", "price", "amount", "cost"]
DEFAULT_ORDERFLOW_COLUMNS = ["level", "bid", "ask", "delta"]
+ORDERFLOW_ADDED_COLUMNS = [
+ "trades",
+ "orderflow",
+ "imbalances",
+ "stacked_imbalances_bid",
+ "stacked_imbalances_ask",
+ "max_delta",
+ "min_delta",
+ "bid",
+ "ask",
+ "delta",
+ "total_trades",
+]
TRADES_DTYPES = {
"timestamp": "int64",
"id": "str",
@@ -99,7 +113,7 @@ DL_DATA_TIMEFRAMES = ["1m", "5m"]
ENV_VAR_PREFIX = "FREQTRADE__"
CANCELED_EXCHANGE_STATES = ("cancelled", "canceled", "expired", "rejected")
-NON_OPEN_EXCHANGE_STATES = CANCELED_EXCHANGE_STATES + ("closed",)
+NON_OPEN_EXCHANGE_STATES = (*CANCELED_EXCHANGE_STATES, "closed")
# Define decimals per coin for outputs
# Only used for outputs.
diff --git a/freqtrade/data/btanalysis/__init__.py b/freqtrade/data/btanalysis/__init__.py
new file mode 100644
index 000000000..48fdcd9b5
--- /dev/null
+++ b/freqtrade/data/btanalysis/__init__.py
@@ -0,0 +1,31 @@
+# flake8: noqa: F401
+from .bt_fileutils import (
+ BT_DATA_COLUMNS,
+ delete_backtest_result,
+ extract_trades_of_period,
+ find_existing_backtest_stats,
+ get_backtest_market_change,
+ get_backtest_result,
+ get_backtest_resultlist,
+ get_latest_backtest_filename,
+ get_latest_hyperopt_file,
+ get_latest_hyperopt_filename,
+ get_latest_optimize_filename,
+ load_and_merge_backtest_result,
+ load_backtest_analysis_data,
+ 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,
+ update_backtest_metadata,
+)
+from .trade_parallelism import (
+ analyze_trade_parallelism,
+ evaluate_result_multi,
+)
diff --git a/freqtrade/data/btanalysis.py b/freqtrade/data/btanalysis/bt_fileutils.py
similarity index 90%
rename from freqtrade/data/btanalysis.py
rename to freqtrade/data/btanalysis/bt_fileutils.py
index 7b0109fa9..50de33974 100644
--- a/freqtrade/data/btanalysis.py
+++ b/freqtrade/data/btanalysis/bt_fileutils.py
@@ -13,7 +13,7 @@ from typing import Any, Literal
import numpy as np
import pandas as pd
-from freqtrade.constants import LAST_BT_RESULT_FN, IntOrInf
+from freqtrade.constants import LAST_BT_RESULT_FN
from freqtrade.exceptions import ConfigurationError, OperationalException
from freqtrade.ft_types import BacktestHistoryEntryType, BacktestResultType
from freqtrade.misc import file_dump_json, json_load
@@ -52,6 +52,7 @@ BT_DATA_COLUMNS = [
"open_timestamp",
"close_timestamp",
"orders",
+ "funding_fees",
]
@@ -356,6 +357,8 @@ def _load_backtest_data_df_compatibility(df: pd.DataFrame) -> pd.DataFrame:
df["max_stake_amount"] = df["stake_amount"]
if "orders" not in df.columns:
df["orders"] = None
+ if "funding_fees" not in df.columns:
+ df["funding_fees"] = 0.0
return df
@@ -376,7 +379,7 @@ def load_backtest_data(filename: Path | str, strategy: str | None = None) -> pd.
if not strategy:
if len(data["strategy"]) == 1:
- strategy = list(data["strategy"].keys())[0]
+ strategy = next(iter(data["strategy"].keys()))
else:
raise ValueError(
"Detected backtest result with more than one strategy. "
@@ -491,55 +494,6 @@ def load_exit_signal_candles(backtest_dir: Path) -> dict[str, dict[str, pd.DataF
return load_backtest_analysis_data(backtest_dir, "exited")
-def analyze_trade_parallelism(results: pd.DataFrame, timeframe: str) -> pd.DataFrame:
- """
- Find overlapping trades by expanding each trade once per period it was open
- and then counting overlaps.
- :param results: Results Dataframe - can be loaded
- :param timeframe: Timeframe used for backtest
- :return: dataframe with open-counts per time-period in timeframe
- """
- from freqtrade.exchange import timeframe_to_resample_freq
-
- timeframe_freq = timeframe_to_resample_freq(timeframe)
- dates = [
- pd.Series(
- pd.date_range(
- row[1]["open_date"],
- row[1]["close_date"],
- freq=timeframe_freq,
- # Exclude right boundary - the date is the candle open date.
- inclusive="left",
- )
- )
- for row in results[["open_date", "close_date"]].iterrows()
- ]
- deltas = [len(x) for x in dates]
- dates = pd.Series(pd.concat(dates).values, name="date")
- df2 = pd.DataFrame(np.repeat(results.values, deltas, axis=0), columns=results.columns)
-
- df2 = pd.concat([dates, df2], axis=1)
- df2 = df2.set_index("date")
- df_final = df2.resample(timeframe_freq)[["pair"]].count()
- df_final = df_final.rename({"pair": "open_trades"}, axis=1)
- return df_final
-
-
-def evaluate_result_multi(
- results: pd.DataFrame, timeframe: str, max_open_trades: IntOrInf
-) -> pd.DataFrame:
- """
- Find overlapping trades by expanding each trade once per period it was open
- and then counting overlaps
- :param results: Results Dataframe - can be loaded
- :param timeframe: Frequency used for the backtest
- :param max_open_trades: parameter max_open_trades used during backtest run
- :return: dataframe with open-counts per time-period in freq
- """
- df_final = analyze_trade_parallelism(results, timeframe)
- return df_final[df_final["open_trades"] > max_open_trades]
-
-
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/trade_parallelism.py b/freqtrade/data/btanalysis/trade_parallelism.py
new file mode 100644
index 000000000..eabdcf08a
--- /dev/null
+++ b/freqtrade/data/btanalysis/trade_parallelism.py
@@ -0,0 +1,60 @@
+import logging
+
+import numpy as np
+import pandas as pd
+
+from freqtrade.constants import IntOrInf
+
+
+logger = logging.getLogger(__name__)
+
+
+def analyze_trade_parallelism(trades: pd.DataFrame, timeframe: str) -> pd.DataFrame:
+ """
+ Find overlapping trades by expanding each trade once per period it was open
+ and then counting overlaps.
+ :param trades: Trades Dataframe - can be loaded from backtest, or created
+ via trade_list_to_dataframe
+ :param timeframe: Timeframe used for backtest
+ :return: dataframe with open-counts per time-period in timeframe
+ """
+ from freqtrade.exchange import timeframe_to_resample_freq
+
+ timeframe_freq = timeframe_to_resample_freq(timeframe)
+ dates = [
+ pd.Series(
+ pd.date_range(
+ row[1]["open_date"],
+ row[1]["close_date"],
+ freq=timeframe_freq,
+ # Exclude right boundary - the date is the candle open date.
+ inclusive="left",
+ )
+ )
+ for row in trades[["open_date", "close_date"]].iterrows()
+ ]
+ deltas = [len(x) for x in dates]
+ dates = pd.Series(pd.concat(dates).values, name="date")
+ df2 = pd.DataFrame(np.repeat(trades.values, deltas, axis=0), columns=trades.columns)
+
+ df2 = pd.concat([dates, df2], axis=1)
+ df2 = df2.set_index("date")
+ df_final = df2.resample(timeframe_freq)[["pair"]].count()
+ df_final = df_final.rename({"pair": "open_trades"}, axis=1)
+ return df_final
+
+
+def evaluate_result_multi(
+ trades: pd.DataFrame, timeframe: str, max_open_trades: IntOrInf
+) -> pd.DataFrame:
+ """
+ Find overlapping trades by expanding each trade once per period it was open
+ and then counting overlaps
+ :param trades: Trades Dataframe - can be loaded from backtest, or created
+ via trade_list_to_dataframe
+ :param timeframe: Frequency used for the backtest
+ :param max_open_trades: parameter max_open_trades used during backtest run
+ :return: dataframe with open-counts per time-period in freq
+ """
+ df_final = analyze_trade_parallelism(trades, timeframe)
+ return df_final[df_final["open_trades"] > max_open_trades]
diff --git a/freqtrade/data/converter/orderflow.py b/freqtrade/data/converter/orderflow.py
index 4b4923cfb..2b4a1fc61 100644
--- a/freqtrade/data/converter/orderflow.py
+++ b/freqtrade/data/converter/orderflow.py
@@ -9,26 +9,12 @@ from datetime import datetime
import numpy as np
import pandas as pd
-from freqtrade.constants import DEFAULT_ORDERFLOW_COLUMNS, Config
+from freqtrade.constants import DEFAULT_ORDERFLOW_COLUMNS, ORDERFLOW_ADDED_COLUMNS, Config
from freqtrade.exceptions import DependencyException
logger = logging.getLogger(__name__)
-ORDERFLOW_ADDED_COLUMNS = [
- "trades",
- "orderflow",
- "imbalances",
- "stacked_imbalances_bid",
- "stacked_imbalances_ask",
- "max_delta",
- "min_delta",
- "bid",
- "ask",
- "delta",
- "total_trades",
-]
-
def _init_dataframe_with_trades_columns(dataframe: pd.DataFrame):
"""
diff --git a/freqtrade/data/entryexitanalysis.py b/freqtrade/data/entryexitanalysis.py
index 0c49b775c..2bea8a5db 100644
--- a/freqtrade/data/entryexitanalysis.py
+++ b/freqtrade/data/entryexitanalysis.py
@@ -281,7 +281,7 @@ def _merge_dfs(
):
merge_on = ["pair", "open_date"]
signal_wide_indicators = list(set(available_inds) - set(BT_DATA_COLUMNS))
- columns_to_keep = merge_on + ["enter_reason", "exit_reason"]
+ columns_to_keep = [*merge_on, "enter_reason", "exit_reason"]
if exit_df is None or exit_df.empty or entry_only is True:
return entry_df[columns_to_keep + available_inds]
diff --git a/freqtrade/data/history/history_utils.py b/freqtrade/data/history/history_utils.py
index 806fd49da..9fd254057 100644
--- a/freqtrade/data/history/history_utils.py
+++ b/freqtrade/data/history/history_utils.py
@@ -116,7 +116,7 @@ def load_data(
result[pair] = hist
else:
if candle_type is CandleType.FUNDING_RATE and user_futures_funding_rate is not None:
- logger.warn(f"{pair} using user specified [{user_futures_funding_rate}]")
+ logger.warning(f"{pair} using user specified [{user_futures_funding_rate}]")
elif candle_type not in (CandleType.SPOT, CandleType.FUTURES):
result[pair] = DataFrame(columns=["date", "open", "close", "high", "low", "volume"])
diff --git a/freqtrade/data/metrics.py b/freqtrade/data/metrics.py
index d2ae2d64b..6a1ad2766 100644
--- a/freqtrade/data/metrics.py
+++ b/freqtrade/data/metrics.py
@@ -10,7 +10,9 @@ import pandas as pd
logger = logging.getLogger(__name__)
-def calculate_market_change(data: dict[str, pd.DataFrame], column: str = "close") -> float:
+def calculate_market_change(
+ data: dict[str, pd.DataFrame], column: str = "close", min_date: datetime | None = None
+) -> float:
"""
Calculate market change based on "column".
Calculation is done by taking the first non-null and the last non-null element of each column
@@ -19,14 +21,24 @@ def calculate_market_change(data: dict[str, pd.DataFrame], column: str = "close"
:param data: Dict of Dataframes, dict key should be pair.
:param column: Column in the original dataframes to use
+ :param min_date: Minimum date to consider for calculations. Market change should only be
+ calculated for data actually backtested, excluding startup periods.
:return:
"""
tmp_means = []
for pair, df in data.items():
- start = df[column].dropna().iloc[0]
- end = df[column].dropna().iloc[-1]
+ df1 = df
+ if min_date is not None:
+ df1 = df1[df1["date"] >= min_date]
+ if df1.empty:
+ logger.warning(f"Pair {pair} has no data after {min_date}.")
+ continue
+ start = df1[column].dropna().iloc[0]
+ end = df1[column].dropna().iloc[-1]
tmp_means.append((end - start) / start)
+ if not tmp_means:
+ return 0.0
return float(np.mean(tmp_means))
@@ -118,7 +130,7 @@ def _calc_drawdown_series(
) -> pd.DataFrame:
max_drawdown_df = pd.DataFrame()
max_drawdown_df["cumulative"] = profit_results[value_col].cumsum()
- max_drawdown_df["high_value"] = max_drawdown_df["cumulative"].cummax()
+ max_drawdown_df["high_value"] = np.maximum(0, max_drawdown_df["cumulative"].cummax())
max_drawdown_df["drawdown"] = max_drawdown_df["cumulative"] - max_drawdown_df["high_value"]
max_drawdown_df["date"] = profit_results.loc[:, date_col]
if starting_balance:
@@ -201,13 +213,11 @@ def calculate_max_drawdown(
if relative
else max_drawdown_df["drawdown"].idxmin()
)
- if idxmin == 0:
- raise ValueError("No losing trade, therefore no drawdown.")
- high_date = profit_results.loc[max_drawdown_df.iloc[:idxmin]["high_value"].idxmax(), date_col]
+
+ high_idx = max_drawdown_df.iloc[: idxmin + 1]["high_value"].idxmax()
+ high_date = profit_results.loc[high_idx, date_col]
low_date = profit_results.loc[idxmin, date_col]
- high_val = max_drawdown_df.loc[
- max_drawdown_df.iloc[:idxmin]["high_value"].idxmax(), "cumulative"
- ]
+ high_val = max_drawdown_df.loc[high_idx, "cumulative"]
low_val = max_drawdown_df.loc[idxmin, "cumulative"]
max_drawdown_rel = max_drawdown_df.loc[idxmin, "drawdown_relative"]
diff --git a/freqtrade/enums/state.py b/freqtrade/enums/state.py
index 1ce486920..20b3766b9 100644
--- a/freqtrade/enums/state.py
+++ b/freqtrade/enums/state.py
@@ -7,8 +7,9 @@ class State(Enum):
"""
RUNNING = 1
- STOPPED = 2
- RELOAD_CONFIG = 3
+ PAUSED = 2
+ STOPPED = 3
+ RELOAD_CONFIG = 4
def __str__(self):
return f"{self.name.lower()}"
diff --git a/freqtrade/exchange/binance.py b/freqtrade/exchange/binance.py
index c67263096..57b7da2e0 100644
--- a/freqtrade/exchange/binance.py
+++ b/freqtrade/exchange/binance.py
@@ -143,7 +143,7 @@ class Binance(Exchange):
Does not work for other exchanges, which don't return the earliest data when called with "0"
:param candle_type: Any of the enum CandleType (must match trading mode!)
"""
- if is_new_pair:
+ if is_new_pair and candle_type in (CandleType.SPOT, CandleType.FUTURES, CandleType.MARK):
with self._loop_lock:
x = self.loop.run_until_complete(
self._async_get_candle_history(pair, timeframe, candle_type, 0)
diff --git a/freqtrade/exchange/binance_leverage_tiers.json b/freqtrade/exchange/binance_leverage_tiers.json
index 4eb970b2c..663bd15b9 100644
--- a/freqtrade/exchange/binance_leverage_tiers.json
+++ b/freqtrade/exchange/binance_leverage_tiers.json
@@ -298,13 +298,13 @@
"symbol": "1000BONK/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 10000.0,
+ "maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
"maxLeverage": 75.0,
"info": {
"bracket": "1",
"initialLeverage": "75",
- "notionalCap": "10000",
+ "notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
"cum": "0.0"
@@ -314,136 +314,153 @@
"tier": 2.0,
"symbol": "1000BONK/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 100000.0,
+ "minNotional": 5000.0,
+ "maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
"maxLeverage": 50.0,
"info": {
"bracket": "2",
"initialLeverage": "50",
- "notionalCap": "100000",
- "notionalFloor": "10000",
+ "notionalCap": "10000",
+ "notionalFloor": "5000",
"maintMarginRatio": "0.015",
- "cum": "50.0"
+ "cum": "25.0"
}
},
{
"tier": 3.0,
"symbol": "1000BONK/USDT:USDT",
"currency": "USDT",
- "minNotional": 100000.0,
- "maxNotional": 500000.0,
+ "minNotional": 10000.0,
+ "maxNotional": 25000.0,
"maintenanceMarginRate": 0.02,
"maxLeverage": 25.0,
"info": {
"bracket": "3",
"initialLeverage": "25",
- "notionalCap": "500000",
- "notionalFloor": "100000",
+ "notionalCap": "25000",
+ "notionalFloor": "10000",
"maintMarginRatio": "0.02",
- "cum": "550.0"
+ "cum": "75.0"
}
},
{
"tier": 4.0,
"symbol": "1000BONK/USDT:USDT",
"currency": "USDT",
- "minNotional": 500000.0,
- "maxNotional": 1000000.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
"maintenanceMarginRate": 0.025,
"maxLeverage": 20.0,
"info": {
"bracket": "4",
"initialLeverage": "20",
- "notionalCap": "1000000",
- "notionalFloor": "500000",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
"maintMarginRatio": "0.025",
- "cum": "3050.0"
+ "cum": "200.0"
}
},
{
"tier": 5.0,
"symbol": "1000BONK/USDT:USDT",
"currency": "USDT",
- "minNotional": 1000000.0,
- "maxNotional": 5000000.0,
+ "minNotional": 50000.0,
+ "maxNotional": 250000.0,
"maintenanceMarginRate": 0.05,
"maxLeverage": 10.0,
"info": {
"bracket": "5",
"initialLeverage": "10",
- "notionalCap": "5000000",
- "notionalFloor": "1000000",
+ "notionalCap": "250000",
+ "notionalFloor": "50000",
"maintMarginRatio": "0.05",
- "cum": "28050.0"
+ "cum": "1450.0"
}
},
{
"tier": 6.0,
"symbol": "1000BONK/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000000.0,
- "maxNotional": 6000000.0,
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "6000000",
- "notionalFloor": "5000000",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
"maintMarginRatio": "0.1",
- "cum": "278050.0"
+ "cum": "13950.0"
}
},
{
"tier": 7.0,
"symbol": "1000BONK/USDT:USDT",
"currency": "USDT",
- "minNotional": 6000000.0,
- "maxNotional": 7000000.0,
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "7000000",
- "notionalFloor": "6000000",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
"maintMarginRatio": "0.125",
- "cum": "428050.0"
+ "cum": "26450.0"
}
},
{
"tier": 8.0,
"symbol": "1000BONK/USDT:USDT",
"currency": "USDT",
- "minNotional": 7000000.0,
- "maxNotional": 8000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "8000000",
- "notionalFloor": "7000000",
- "maintMarginRatio": "0.25",
- "cum": "1303050.0"
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "68150.0"
}
},
{
"tier": 9.0,
"symbol": "1000BONK/USDT:USDT",
"currency": "USDT",
- "minNotional": 8000000.0,
- "maxNotional": 9000000.0,
+ "minNotional": 3000000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "318050.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "1000BONK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000000.0,
+ "maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "9000000",
- "notionalFloor": "8000000",
+ "notionalCap": "8000000",
+ "notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "3303050.0"
+ "cum": "1568050.0"
}
}
],
@@ -455,10 +472,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -472,10 +489,10 @@
"minNotional": 10000.0,
"maxNotional": 20000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "20000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -489,10 +506,10 @@
"minNotional": 20000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "8",
"notionalCap": "100000",
"notionalFloor": "20000",
"maintMarginRatio": "0.02",
@@ -506,10 +523,10 @@
"minNotional": 100000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "7",
"notionalCap": "200000",
"notionalFloor": "100000",
"maintMarginRatio": "0.025",
@@ -523,10 +540,10 @@
"minNotional": 200000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "6",
"notionalCap": "1000000",
"notionalFloor": "200000",
"maintMarginRatio": "0.05",
@@ -572,33 +589,50 @@
"symbol": "1000CAT/USDT:USDT",
"currency": "USDT",
"minNotional": 2500000.0,
- "maxNotional": 5000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "maxNotional": 3750000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "5000000",
+ "initialLeverage": "3",
+ "notionalCap": "3750000",
"notionalFloor": "2500000",
- "maintMarginRatio": "0.25",
- "cum": "418150.0"
+ "maintMarginRatio": "0.1667",
+ "cum": "209900.0"
}
},
{
"tier": 9.0,
"symbol": "1000CAT/USDT:USDT",
"currency": "USDT",
+ "minNotional": 3750000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3750000",
+ "maintMarginRatio": "0.25",
+ "cum": "522275.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "1000CAT/USDT:USDT",
+ "currency": "USDT",
"minNotional": 5000000.0,
"maxNotional": 10000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "10000000",
"notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "1668150.0"
+ "cum": "1772275.0"
}
}
],
@@ -763,13 +797,13 @@
"symbol": "1000FLOKI/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 10000.0,
+ "maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
"maxLeverage": 75.0,
"info": {
"bracket": "1",
"initialLeverage": "75",
- "notionalCap": "10000",
+ "notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
"cum": "0.0"
@@ -779,136 +813,153 @@
"tier": 2.0,
"symbol": "1000FLOKI/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 60000.0,
+ "minNotional": 5000.0,
+ "maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
"maxLeverage": 50.0,
"info": {
"bracket": "2",
"initialLeverage": "50",
- "notionalCap": "60000",
- "notionalFloor": "10000",
+ "notionalCap": "10000",
+ "notionalFloor": "5000",
"maintMarginRatio": "0.015",
- "cum": "50.0"
+ "cum": "25.0"
}
},
{
"tier": 3.0,
"symbol": "1000FLOKI/USDT:USDT",
"currency": "USDT",
- "minNotional": 60000.0,
- "maxNotional": 300000.0,
+ "minNotional": 10000.0,
+ "maxNotional": 25000.0,
"maintenanceMarginRate": 0.02,
"maxLeverage": 25.0,
"info": {
"bracket": "3",
"initialLeverage": "25",
- "notionalCap": "300000",
- "notionalFloor": "60000",
+ "notionalCap": "25000",
+ "notionalFloor": "10000",
"maintMarginRatio": "0.02",
- "cum": "350.0"
+ "cum": "75.0"
}
},
{
"tier": 4.0,
"symbol": "1000FLOKI/USDT:USDT",
"currency": "USDT",
- "minNotional": 300000.0,
- "maxNotional": 600000.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
"maintenanceMarginRate": 0.025,
"maxLeverage": 20.0,
"info": {
"bracket": "4",
"initialLeverage": "20",
- "notionalCap": "600000",
- "notionalFloor": "300000",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
"maintMarginRatio": "0.025",
- "cum": "1850.0"
+ "cum": "200.0"
}
},
{
"tier": 5.0,
"symbol": "1000FLOKI/USDT:USDT",
"currency": "USDT",
- "minNotional": 600000.0,
- "maxNotional": 3000000.0,
+ "minNotional": 50000.0,
+ "maxNotional": 250000.0,
"maintenanceMarginRate": 0.05,
"maxLeverage": 10.0,
"info": {
"bracket": "5",
"initialLeverage": "10",
- "notionalCap": "3000000",
- "notionalFloor": "600000",
+ "notionalCap": "250000",
+ "notionalFloor": "50000",
"maintMarginRatio": "0.05",
- "cum": "16850.0"
+ "cum": "1450.0"
}
},
{
"tier": 6.0,
"symbol": "1000FLOKI/USDT:USDT",
"currency": "USDT",
- "minNotional": 3000000.0,
- "maxNotional": 3500000.0,
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "3500000",
- "notionalFloor": "3000000",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
"maintMarginRatio": "0.1",
- "cum": "166850.0"
+ "cum": "13950.0"
}
},
{
"tier": 7.0,
"symbol": "1000FLOKI/USDT:USDT",
"currency": "USDT",
- "minNotional": 3500000.0,
- "maxNotional": 4000000.0,
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "4000000",
- "notionalFloor": "3500000",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
"maintMarginRatio": "0.125",
- "cum": "254350.0"
+ "cum": "26450.0"
}
},
{
"tier": 8.0,
"symbol": "1000FLOKI/USDT:USDT",
"currency": "USDT",
- "minNotional": 4000000.0,
- "maxNotional": 4500000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "4500000",
- "notionalFloor": "4000000",
- "maintMarginRatio": "0.25",
- "cum": "754350.0"
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "68150.0"
}
},
{
"tier": 9.0,
"symbol": "1000FLOKI/USDT:USDT",
"currency": "USDT",
- "minNotional": 4500000.0,
+ "minNotional": 3000000.0,
"maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "318050.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "1000FLOKI/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000000.0,
+ "maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "5000000",
- "notionalFloor": "4500000",
+ "notionalCap": "8000000",
+ "notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "1879350.0"
+ "cum": "1568050.0"
}
}
],
@@ -1351,10 +1402,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 25.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "25",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -1368,10 +1419,10 @@
"minNotional": 10000.0,
"maxNotional": 20000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 20.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "20",
+ "initialLeverage": "10",
"notionalCap": "20000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -1385,10 +1436,10 @@
"minNotional": 20000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 15.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "15",
+ "initialLeverage": "8",
"notionalCap": "100000",
"notionalFloor": "20000",
"maintMarginRatio": "0.02",
@@ -1402,10 +1453,10 @@
"minNotional": 100000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 10.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
+ "initialLeverage": "7",
"notionalCap": "200000",
"notionalFloor": "100000",
"maintMarginRatio": "0.025",
@@ -1419,10 +1470,10 @@
"minNotional": 200000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 8.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "8",
+ "initialLeverage": "6",
"notionalCap": "1000000",
"notionalFloor": "200000",
"maintMarginRatio": "0.05",
@@ -1468,33 +1519,50 @@
"symbol": "1000RATS/USDT:USDT",
"currency": "USDT",
"minNotional": 2500000.0,
- "maxNotional": 3000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "maxNotional": 2750000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "3000000",
+ "initialLeverage": "3",
+ "notionalCap": "2750000",
"notionalFloor": "2500000",
- "maintMarginRatio": "0.25",
- "cum": "418150.0"
+ "maintMarginRatio": "0.1667",
+ "cum": "209900.0"
}
},
{
"tier": 9.0,
"symbol": "1000RATS/USDT:USDT",
"currency": "USDT",
+ "minNotional": 2750000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "3000000",
+ "notionalFloor": "2750000",
+ "maintMarginRatio": "0.25",
+ "cum": "438975.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "1000RATS/USDT:USDT",
+ "currency": "USDT",
"minNotional": 3000000.0,
"maxNotional": 3500000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "3500000",
"notionalFloor": "3000000",
"maintMarginRatio": "0.5",
- "cum": "1168150.0"
+ "cum": "1188975.0"
}
}
],
@@ -1506,10 +1574,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "10",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -1521,13 +1589,13 @@
"symbol": "1000SATS/USDT:USDT",
"currency": "USDT",
"minNotional": 10000.0,
- "maxNotional": 60000.0,
+ "maxNotional": 50000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
- "notionalCap": "60000",
+ "initialLeverage": "8",
+ "notionalCap": "50000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
"cum": "50.0"
@@ -1537,119 +1605,119 @@
"tier": 3.0,
"symbol": "1000SATS/USDT:USDT",
"currency": "USDT",
- "minNotional": 60000.0,
- "maxNotional": 300000.0,
+ "minNotional": 50000.0,
+ "maxNotional": 200000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
- "notionalCap": "300000",
- "notionalFloor": "60000",
+ "initialLeverage": "7",
+ "notionalCap": "200000",
+ "notionalFloor": "50000",
"maintMarginRatio": "0.02",
- "cum": "350.0"
+ "cum": "300.0"
}
},
{
"tier": 4.0,
"symbol": "1000SATS/USDT:USDT",
"currency": "USDT",
- "minNotional": 300000.0,
- "maxNotional": 600000.0,
+ "minNotional": 200000.0,
+ "maxNotional": 400000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
- "notionalCap": "600000",
- "notionalFloor": "300000",
+ "initialLeverage": "6",
+ "notionalCap": "400000",
+ "notionalFloor": "200000",
"maintMarginRatio": "0.025",
- "cum": "1850.0"
+ "cum": "1300.0"
}
},
{
"tier": 5.0,
"symbol": "1000SATS/USDT:USDT",
"currency": "USDT",
- "minNotional": 600000.0,
- "maxNotional": 3000000.0,
+ "minNotional": 400000.0,
+ "maxNotional": 800000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
- "notionalCap": "3000000",
- "notionalFloor": "600000",
+ "initialLeverage": "5",
+ "notionalCap": "800000",
+ "notionalFloor": "400000",
"maintMarginRatio": "0.05",
- "cum": "16850.0"
+ "cum": "11300.0"
}
},
{
"tier": 6.0,
"symbol": "1000SATS/USDT:USDT",
"currency": "USDT",
- "minNotional": 3000000.0,
- "maxNotional": 6000000.0,
+ "minNotional": 800000.0,
+ "maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
- "notionalCap": "6000000",
- "notionalFloor": "3000000",
+ "initialLeverage": "4",
+ "notionalCap": "1000000",
+ "notionalFloor": "800000",
"maintMarginRatio": "0.1",
- "cum": "166850.0"
+ "cum": "51300.0"
}
},
{
"tier": 7.0,
"symbol": "1000SATS/USDT:USDT",
"currency": "USDT",
- "minNotional": 6000000.0,
- "maxNotional": 7000000.0,
+ "minNotional": 1000000.0,
+ "maxNotional": 2000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
- "notionalCap": "7000000",
- "notionalFloor": "6000000",
+ "initialLeverage": "3",
+ "notionalCap": "2000000",
+ "notionalFloor": "1000000",
"maintMarginRatio": "0.125",
- "cum": "316850.0"
+ "cum": "76300.0"
}
},
{
"tier": 8.0,
"symbol": "1000SATS/USDT:USDT",
"currency": "USDT",
- "minNotional": 7000000.0,
- "maxNotional": 8000000.0,
+ "minNotional": 2000000.0,
+ "maxNotional": 3000000.0,
"maintenanceMarginRate": 0.25,
"maxLeverage": 2.0,
"info": {
"bracket": "8",
"initialLeverage": "2",
- "notionalCap": "8000000",
- "notionalFloor": "7000000",
+ "notionalCap": "3000000",
+ "notionalFloor": "2000000",
"maintMarginRatio": "0.25",
- "cum": "1191850.0"
+ "cum": "326300.0"
}
},
{
"tier": 9.0,
"symbol": "1000SATS/USDT:USDT",
"currency": "USDT",
- "minNotional": 8000000.0,
- "maxNotional": 9000000.0,
+ "minNotional": 3000000.0,
+ "maxNotional": 3500000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
"bracket": "9",
"initialLeverage": "1",
- "notionalCap": "9000000",
- "notionalFloor": "8000000",
+ "notionalCap": "3500000",
+ "notionalFloor": "3000000",
"maintMarginRatio": "0.5",
- "cum": "3191850.0"
+ "cum": "1076300.0"
}
}
],
@@ -2260,13 +2328,13 @@
"symbol": "1000X/USDT:USDT",
"currency": "USDT",
"minNotional": 700000.0,
- "maxNotional": 800000.0,
+ "maxNotional": 1500000.0,
"maintenanceMarginRate": 0.25,
"maxLeverage": 2.0,
"info": {
"bracket": "8",
"initialLeverage": "2",
- "notionalCap": "800000",
+ "notionalCap": "1500000",
"notionalFloor": "700000",
"maintMarginRatio": "0.25",
"cum": "119225.0"
@@ -2276,17 +2344,17 @@
"tier": 9.0,
"symbol": "1000X/USDT:USDT",
"currency": "USDT",
- "minNotional": 800000.0,
- "maxNotional": 900000.0,
+ "minNotional": 1500000.0,
+ "maxNotional": 2500000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
"bracket": "9",
"initialLeverage": "1",
- "notionalCap": "900000",
- "notionalFloor": "800000",
+ "notionalCap": "2500000",
+ "notionalFloor": "1500000",
"maintMarginRatio": "0.5",
- "cum": "319225.0"
+ "cum": "494225.0"
}
}
],
@@ -2453,10 +2521,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -2470,10 +2538,10 @@
"minNotional": 10000.0,
"maxNotional": 20000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "20000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -2487,10 +2555,10 @@
"minNotional": 20000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "8",
"notionalCap": "100000",
"notionalFloor": "20000",
"maintMarginRatio": "0.02",
@@ -2504,10 +2572,10 @@
"minNotional": 100000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "7",
"notionalCap": "200000",
"notionalFloor": "100000",
"maintMarginRatio": "0.025",
@@ -2521,10 +2589,10 @@
"minNotional": 200000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "6",
"notionalCap": "1000000",
"notionalFloor": "200000",
"maintMarginRatio": "0.05",
@@ -2570,33 +2638,50 @@
"symbol": "1INCH/USDT:USDT",
"currency": "USDT",
"minNotional": 2500000.0,
- "maxNotional": 5000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "maxNotional": 3750000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "5000000",
+ "initialLeverage": "3",
+ "notionalCap": "3750000",
"notionalFloor": "2500000",
- "maintMarginRatio": "0.25",
- "cum": "418150.0"
+ "maintMarginRatio": "0.1667",
+ "cum": "209900.0"
}
},
{
"tier": 9.0,
"symbol": "1INCH/USDT:USDT",
"currency": "USDT",
+ "minNotional": 3750000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3750000",
+ "maintMarginRatio": "0.25",
+ "cum": "522275.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "1INCH/USDT:USDT",
+ "currency": "USDT",
"minNotional": 5000000.0,
"maxNotional": 10000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "10000000",
"notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "1668150.0"
+ "cum": "1772275.0"
}
}
],
@@ -2608,10 +2693,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -2623,13 +2708,13 @@
"symbol": "1MBABYDOGE/USDT:USDT",
"currency": "USDT",
"minNotional": 10000.0,
- "maxNotional": 30000.0,
+ "maxNotional": 40000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
- "notionalCap": "30000",
+ "initialLeverage": "10",
+ "notionalCap": "40000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
"cum": "50.0"
@@ -2639,51 +2724,51 @@
"tier": 3.0,
"symbol": "1MBABYDOGE/USDT:USDT",
"currency": "USDT",
- "minNotional": 30000.0,
- "maxNotional": 150000.0,
+ "minNotional": 40000.0,
+ "maxNotional": 200000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
- "notionalCap": "150000",
- "notionalFloor": "30000",
+ "initialLeverage": "7",
+ "notionalCap": "200000",
+ "notionalFloor": "40000",
"maintMarginRatio": "0.02",
- "cum": "200.0"
+ "cum": "250.0"
}
},
{
"tier": 4.0,
"symbol": "1MBABYDOGE/USDT:USDT",
"currency": "USDT",
- "minNotional": 150000.0,
- "maxNotional": 300000.0,
+ "minNotional": 200000.0,
+ "maxNotional": 400000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
- "notionalCap": "300000",
- "notionalFloor": "150000",
+ "initialLeverage": "6",
+ "notionalCap": "400000",
+ "notionalFloor": "200000",
"maintMarginRatio": "0.025",
- "cum": "950.0"
+ "cum": "1250.0"
}
},
{
"tier": 5.0,
"symbol": "1MBABYDOGE/USDT:USDT",
"currency": "USDT",
- "minNotional": 300000.0,
+ "minNotional": 400000.0,
"maxNotional": 1500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "1500000",
- "notionalFloor": "300000",
+ "notionalFloor": "400000",
"maintMarginRatio": "0.05",
- "cum": "8450.0"
+ "cum": "11250.0"
}
},
{
@@ -2693,14 +2778,14 @@
"minNotional": 1500000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "2000000",
"notionalFloor": "1500000",
"maintMarginRatio": "0.1",
- "cum": "83450.0"
+ "cum": "86250.0"
}
},
{
@@ -2710,14 +2795,14 @@
"minNotional": 2000000.0,
"maxNotional": 2500000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "2500000",
"notionalFloor": "2000000",
"maintMarginRatio": "0.125",
- "cum": "133450.0"
+ "cum": "136250.0"
}
},
{
@@ -2734,7 +2819,7 @@
"notionalCap": "3000000",
"notionalFloor": "2500000",
"maintMarginRatio": "0.25",
- "cum": "445950.0"
+ "cum": "448750.0"
}
},
{
@@ -2751,7 +2836,7 @@
"notionalCap": "3500000",
"notionalFloor": "3000000",
"maintMarginRatio": "0.5",
- "cum": "1195950.0"
+ "cum": "1198750.0"
}
}
],
@@ -2916,15 +3001,15 @@
"symbol": "ACE/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 5000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxNotional": 4000.0,
+ "maintenanceMarginRate": 0.01,
+ "maxLeverage": 25.0,
"info": {
"bracket": "1",
- "initialLeverage": "50",
- "notionalCap": "5000",
+ "initialLeverage": "25",
+ "notionalCap": "4000",
"notionalFloor": "0",
- "maintMarginRatio": "0.015",
+ "maintMarginRatio": "0.01",
"cum": "0.0"
}
},
@@ -2932,72 +3017,89 @@
"tier": 2.0,
"symbol": "ACE/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000.0,
- "maxNotional": 25000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "minNotional": 4000.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 20.0,
"info": {
"bracket": "2",
- "initialLeverage": "25",
- "notionalCap": "25000",
- "notionalFloor": "5000",
- "maintMarginRatio": "0.02",
- "cum": "25.0"
+ "initialLeverage": "20",
+ "notionalCap": "5000",
+ "notionalFloor": "4000",
+ "maintMarginRatio": "0.015",
+ "cum": "20.0"
}
},
{
"tier": 3.0,
"symbol": "ACE/USDT:USDT",
"currency": "USDT",
- "minNotional": 25000.0,
- "maxNotional": 50000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "minNotional": 5000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "20",
- "notionalCap": "50000",
- "notionalFloor": "25000",
- "maintMarginRatio": "0.025",
- "cum": "150.0"
+ "initialLeverage": "10",
+ "notionalCap": "25000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.02",
+ "cum": "45.0"
}
},
{
"tier": 4.0,
"symbol": "ACE/USDT:USDT",
"currency": "USDT",
- "minNotional": 50000.0,
- "maxNotional": 500000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "500000",
- "notionalFloor": "50000",
- "maintMarginRatio": "0.05",
- "cum": "1400.0"
+ "initialLeverage": "7",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.025",
+ "cum": "170.0"
}
},
{
"tier": 5.0,
"symbol": "ACE/USDT:USDT",
"currency": "USDT",
+ "minNotional": 50000.0,
+ "maxNotional": 500000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 6.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "6",
+ "notionalCap": "500000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1420.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "ACE/USDT:USDT",
+ "currency": "USDT",
"minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
- "bracket": "5",
+ "bracket": "6",
"initialLeverage": "5",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.1",
- "cum": "26400.0"
+ "cum": "26420.0"
}
},
{
- "tier": 6.0,
+ "tier": 7.0,
"symbol": "ACE/USDT:USDT",
"currency": "USDT",
"minNotional": 1000000.0,
@@ -3005,46 +3107,63 @@
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
- "bracket": "6",
+ "bracket": "7",
"initialLeverage": "4",
"notionalCap": "1250000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.125",
- "cum": "51400.0"
- }
- },
- {
- "tier": 7.0,
- "symbol": "ACE/USDT:USDT",
- "currency": "USDT",
- "minNotional": 1250000.0,
- "maxNotional": 2500000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
- "info": {
- "bracket": "7",
- "initialLeverage": "2",
- "notionalCap": "2500000",
- "notionalFloor": "1250000",
- "maintMarginRatio": "0.25",
- "cum": "207650.0"
+ "cum": "51420.0"
}
},
{
"tier": 8.0,
"symbol": "ACE/USDT:USDT",
"currency": "USDT",
+ "minNotional": 1250000.0,
+ "maxNotional": 1875000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "1875000",
+ "notionalFloor": "1250000",
+ "maintMarginRatio": "0.1667",
+ "cum": "103545.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "ACE/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1875000.0,
+ "maxNotional": 2500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "2500000",
+ "notionalFloor": "1875000",
+ "maintMarginRatio": "0.25",
+ "cum": "259732.5"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "ACE/USDT:USDT",
+ "currency": "USDT",
"minNotional": 2500000.0,
"maxNotional": 5000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "8",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "5000000",
"notionalFloor": "2500000",
"maintMarginRatio": "0.5",
- "cum": "832650.0"
+ "cum": "884732.5"
}
}
],
@@ -3194,10 +3313,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "1",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -3209,13 +3328,13 @@
"symbol": "ACT/USDT:USDT",
"currency": "USDT",
"minNotional": 10000.0,
- "maxNotional": 80000.0,
+ "maxNotional": 50000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 20.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "2",
- "initialLeverage": "20",
- "notionalCap": "80000",
+ "initialLeverage": "8",
+ "notionalCap": "50000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
"cum": "50.0"
@@ -3225,119 +3344,119 @@
"tier": 3.0,
"symbol": "ACT/USDT:USDT",
"currency": "USDT",
- "minNotional": 80000.0,
- "maxNotional": 400000.0,
+ "minNotional": 50000.0,
+ "maxNotional": 300000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 15.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "3",
- "initialLeverage": "15",
- "notionalCap": "400000",
- "notionalFloor": "80000",
+ "initialLeverage": "7",
+ "notionalCap": "300000",
+ "notionalFloor": "50000",
"maintMarginRatio": "0.02",
- "cum": "450.0"
+ "cum": "300.0"
}
},
{
"tier": 4.0,
"symbol": "ACT/USDT:USDT",
"currency": "USDT",
- "minNotional": 400000.0,
- "maxNotional": 800000.0,
+ "minNotional": 300000.0,
+ "maxNotional": 500000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "800000",
- "notionalFloor": "400000",
+ "initialLeverage": "6",
+ "notionalCap": "500000",
+ "notionalFloor": "300000",
"maintMarginRatio": "0.025",
- "cum": "2450.0"
+ "cum": "1800.0"
}
},
{
"tier": 5.0,
"symbol": "ACT/USDT:USDT",
"currency": "USDT",
- "minNotional": 800000.0,
- "maxNotional": 4000000.0,
+ "minNotional": 500000.0,
+ "maxNotional": 800000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 8.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "8",
- "notionalCap": "4000000",
- "notionalFloor": "800000",
+ "initialLeverage": "5",
+ "notionalCap": "800000",
+ "notionalFloor": "500000",
"maintMarginRatio": "0.05",
- "cum": "22450.0"
+ "cum": "14300.0"
}
},
{
"tier": 6.0,
"symbol": "ACT/USDT:USDT",
"currency": "USDT",
- "minNotional": 4000000.0,
- "maxNotional": 8000000.0,
+ "minNotional": 800000.0,
+ "maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
- "notionalCap": "8000000",
- "notionalFloor": "4000000",
+ "initialLeverage": "4",
+ "notionalCap": "1000000",
+ "notionalFloor": "800000",
"maintMarginRatio": "0.1",
- "cum": "222450.0"
+ "cum": "54300.0"
}
},
{
"tier": 7.0,
"symbol": "ACT/USDT:USDT",
"currency": "USDT",
- "minNotional": 8000000.0,
- "maxNotional": 8500000.0,
+ "minNotional": 1000000.0,
+ "maxNotional": 2000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
- "notionalCap": "8500000",
- "notionalFloor": "8000000",
+ "initialLeverage": "3",
+ "notionalCap": "2000000",
+ "notionalFloor": "1000000",
"maintMarginRatio": "0.125",
- "cum": "422450.0"
+ "cum": "79300.0"
}
},
{
"tier": 8.0,
"symbol": "ACT/USDT:USDT",
"currency": "USDT",
- "minNotional": 8500000.0,
- "maxNotional": 9000000.0,
+ "minNotional": 2000000.0,
+ "maxNotional": 3000000.0,
"maintenanceMarginRate": 0.25,
"maxLeverage": 2.0,
"info": {
"bracket": "8",
"initialLeverage": "2",
- "notionalCap": "9000000",
- "notionalFloor": "8500000",
+ "notionalCap": "3000000",
+ "notionalFloor": "2000000",
"maintMarginRatio": "0.25",
- "cum": "1484950.0"
+ "cum": "329300.0"
}
},
{
"tier": 9.0,
"symbol": "ACT/USDT:USDT",
"currency": "USDT",
- "minNotional": 9000000.0,
- "maxNotional": 10000000.0,
+ "minNotional": 3000000.0,
+ "maxNotional": 3500000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
"bracket": "9",
"initialLeverage": "1",
- "notionalCap": "10000000",
- "notionalFloor": "9000000",
+ "notionalCap": "3500000",
+ "notionalFloor": "3000000",
"maintMarginRatio": "0.5",
- "cum": "3734950.0"
+ "cum": "1079300.0"
}
}
],
@@ -3349,10 +3468,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -3366,10 +3485,10 @@
"minNotional": 10000.0,
"maxNotional": 20000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "20000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -3383,10 +3502,10 @@
"minNotional": 20000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "8",
"notionalCap": "100000",
"notionalFloor": "20000",
"maintMarginRatio": "0.02",
@@ -3400,10 +3519,10 @@
"minNotional": 100000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "7",
"notionalCap": "200000",
"notionalFloor": "100000",
"maintMarginRatio": "0.025",
@@ -3417,10 +3536,10 @@
"minNotional": 200000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "6",
"notionalCap": "1000000",
"notionalFloor": "200000",
"maintMarginRatio": "0.05",
@@ -3466,33 +3585,50 @@
"symbol": "ACX/USDT:USDT",
"currency": "USDT",
"minNotional": 2500000.0,
- "maxNotional": 5000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "maxNotional": 3750000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "5000000",
+ "initialLeverage": "3",
+ "notionalCap": "3750000",
"notionalFloor": "2500000",
- "maintMarginRatio": "0.25",
- "cum": "418150.0"
+ "maintMarginRatio": "0.1667",
+ "cum": "209900.0"
}
},
{
"tier": 9.0,
"symbol": "ACX/USDT:USDT",
"currency": "USDT",
+ "minNotional": 3750000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3750000",
+ "maintMarginRatio": "0.25",
+ "cum": "522275.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "ACX/USDT:USDT",
+ "currency": "USDT",
"minNotional": 5000000.0,
"maxNotional": 10000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "10000000",
"notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "1668150.0"
+ "cum": "1772275.0"
}
}
],
@@ -3829,15 +3965,15 @@
"symbol": "AERGO/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 40000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 7.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 50.0,
"info": {
"bracket": "1",
- "initialLeverage": "7",
- "notionalCap": "40000",
+ "initialLeverage": "50",
+ "notionalCap": "5000",
"notionalFloor": "0",
- "maintMarginRatio": "0.025",
+ "maintMarginRatio": "0.015",
"cum": "0.0"
}
},
@@ -3845,85 +3981,136 @@
"tier": 2.0,
"symbol": "AERGO/USDT:USDT",
"currency": "USDT",
- "minNotional": 40000.0,
- "maxNotional": 200000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 6.0,
+ "minNotional": 5000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 25.0,
"info": {
"bracket": "2",
- "initialLeverage": "6",
- "notionalCap": "200000",
- "notionalFloor": "40000",
- "maintMarginRatio": "0.05",
- "cum": "1000.0"
+ "initialLeverage": "25",
+ "notionalCap": "25000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.02",
+ "cum": "25.0"
}
},
{
"tier": 3.0,
"symbol": "AERGO/USDT:USDT",
"currency": "USDT",
- "minNotional": 200000.0,
- "maxNotional": 400000.0,
- "maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
"info": {
"bracket": "3",
- "initialLeverage": "5",
- "notionalCap": "400000",
- "notionalFloor": "200000",
- "maintMarginRatio": "0.1",
- "cum": "11000.0"
+ "initialLeverage": "20",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.025",
+ "cum": "150.0"
}
},
{
"tier": 4.0,
"symbol": "AERGO/USDT:USDT",
"currency": "USDT",
- "minNotional": 400000.0,
- "maxNotional": 500000.0,
- "maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "minNotional": 50000.0,
+ "maxNotional": 250000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
"info": {
"bracket": "4",
- "initialLeverage": "4",
- "notionalCap": "500000",
- "notionalFloor": "400000",
- "maintMarginRatio": "0.125",
- "cum": "21000.0"
+ "initialLeverage": "10",
+ "notionalCap": "250000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1400.0"
}
},
{
"tier": 5.0,
"symbol": "AERGO/USDT:USDT",
"currency": "USDT",
- "minNotional": 500000.0,
- "maxNotional": 600000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "2",
- "notionalCap": "600000",
- "notionalFloor": "500000",
- "maintMarginRatio": "0.25",
- "cum": "83500.0"
+ "initialLeverage": "5",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
+ "maintMarginRatio": "0.1",
+ "cum": "13900.0"
}
},
{
"tier": 6.0,
"symbol": "AERGO/USDT:USDT",
"currency": "USDT",
- "minNotional": 600000.0,
- "maxNotional": 700000.0,
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "4",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.125",
+ "cum": "26400.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "AERGO/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "68100.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "AERGO/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 3000000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "318000.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "AERGO/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000000.0,
+ "maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "6",
+ "bracket": "9",
"initialLeverage": "1",
- "notionalCap": "700000",
- "notionalFloor": "600000",
+ "notionalCap": "8000000",
+ "notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "233500.0"
+ "cum": "1568000.0"
}
}
],
@@ -4089,14 +4276,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"
}
},
@@ -4105,15 +4292,15 @@
"symbol": "AEVO/USDT:USDT",
"currency": "USDT",
"minNotional": 5000.0,
- "maxNotional": 50000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxNotional": 10000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 50.0,
"info": {
"bracket": "2",
- "initialLeverage": "25",
- "notionalCap": "50000",
+ "initialLeverage": "50",
+ "notionalCap": "10000",
"notionalFloor": "5000",
- "maintMarginRatio": "0.02",
+ "maintMarginRatio": "0.015",
"cum": "25.0"
}
},
@@ -4121,102 +4308,136 @@
"tier": 3.0,
"symbol": "AEVO/USDT:USDT",
"currency": "USDT",
- "minNotional": 50000.0,
- "maxNotional": 100000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "minNotional": 10000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 25.0,
"info": {
"bracket": "3",
- "initialLeverage": "20",
- "notionalCap": "100000",
- "notionalFloor": "50000",
- "maintMarginRatio": "0.025",
- "cum": "275.0"
+ "initialLeverage": "25",
+ "notionalCap": "25000",
+ "notionalFloor": "10000",
+ "maintMarginRatio": "0.02",
+ "cum": "75.0"
}
},
{
"tier": 4.0,
"symbol": "AEVO/USDT:USDT",
"currency": "USDT",
- "minNotional": 100000.0,
- "maxNotional": 1000000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "1000000",
- "notionalFloor": "100000",
- "maintMarginRatio": "0.05",
- "cum": "2775.0"
+ "initialLeverage": "20",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.025",
+ "cum": "200.0"
}
},
{
"tier": 5.0,
"symbol": "AEVO/USDT:USDT",
"currency": "USDT",
- "minNotional": 1000000.0,
- "maxNotional": 2000000.0,
- "maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "minNotional": 50000.0,
+ "maxNotional": 250000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
"info": {
"bracket": "5",
- "initialLeverage": "5",
- "notionalCap": "2000000",
- "notionalFloor": "1000000",
- "maintMarginRatio": "0.1",
- "cum": "52775.0"
+ "initialLeverage": "10",
+ "notionalCap": "250000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1450.0"
}
},
{
"tier": 6.0,
"symbol": "AEVO/USDT:USDT",
"currency": "USDT",
- "minNotional": 2000000.0,
- "maxNotional": 2500000.0,
- "maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
"info": {
"bracket": "6",
- "initialLeverage": "4",
- "notionalCap": "2500000",
- "notionalFloor": "2000000",
- "maintMarginRatio": "0.125",
- "cum": "102775.0"
+ "initialLeverage": "5",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
+ "maintMarginRatio": "0.1",
+ "cum": "13950.0"
}
},
{
"tier": 7.0,
"symbol": "AEVO/USDT:USDT",
"currency": "USDT",
- "minNotional": 2500000.0,
- "maxNotional": 5000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
"info": {
"bracket": "7",
- "initialLeverage": "2",
- "notionalCap": "5000000",
- "notionalFloor": "2500000",
- "maintMarginRatio": "0.25",
- "cum": "415275.0"
+ "initialLeverage": "4",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.125",
+ "cum": "26450.0"
}
},
{
"tier": 8.0,
"symbol": "AEVO/USDT:USDT",
"currency": "USDT",
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "68150.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "AEVO/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 3000000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "318050.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "AEVO/USDT:USDT",
+ "currency": "USDT",
"minNotional": 5000000.0,
- "maxNotional": 10000000.0,
+ "maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "8",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "10000000",
+ "notionalCap": "8000000",
"notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "1665275.0"
+ "cum": "1568050.0"
}
}
],
@@ -4502,15 +4723,15 @@
"symbol": "AI/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 5000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxNotional": 4000.0,
+ "maintenanceMarginRate": 0.01,
+ "maxLeverage": 25.0,
"info": {
"bracket": "1",
- "initialLeverage": "50",
- "notionalCap": "5000",
+ "initialLeverage": "25",
+ "notionalCap": "4000",
"notionalFloor": "0",
- "maintMarginRatio": "0.015",
+ "maintMarginRatio": "0.01",
"cum": "0.0"
}
},
@@ -4518,72 +4739,89 @@
"tier": 2.0,
"symbol": "AI/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000.0,
- "maxNotional": 25000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "minNotional": 4000.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 20.0,
"info": {
"bracket": "2",
- "initialLeverage": "25",
- "notionalCap": "25000",
- "notionalFloor": "5000",
- "maintMarginRatio": "0.02",
- "cum": "25.0"
+ "initialLeverage": "20",
+ "notionalCap": "5000",
+ "notionalFloor": "4000",
+ "maintMarginRatio": "0.015",
+ "cum": "20.0"
}
},
{
"tier": 3.0,
"symbol": "AI/USDT:USDT",
"currency": "USDT",
- "minNotional": 25000.0,
- "maxNotional": 80000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "minNotional": 5000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "20",
- "notionalCap": "80000",
- "notionalFloor": "25000",
- "maintMarginRatio": "0.025",
- "cum": "150.0"
+ "initialLeverage": "10",
+ "notionalCap": "25000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.02",
+ "cum": "45.0"
}
},
{
"tier": 4.0,
"symbol": "AI/USDT:USDT",
"currency": "USDT",
- "minNotional": 80000.0,
- "maxNotional": 800000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "minNotional": 25000.0,
+ "maxNotional": 80000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "800000",
- "notionalFloor": "80000",
- "maintMarginRatio": "0.05",
- "cum": "2150.0"
+ "initialLeverage": "7",
+ "notionalCap": "80000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.025",
+ "cum": "170.0"
}
},
{
"tier": 5.0,
"symbol": "AI/USDT:USDT",
"currency": "USDT",
+ "minNotional": 80000.0,
+ "maxNotional": 800000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 6.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "6",
+ "notionalCap": "800000",
+ "notionalFloor": "80000",
+ "maintMarginRatio": "0.05",
+ "cum": "2170.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "AI/USDT:USDT",
+ "currency": "USDT",
"minNotional": 800000.0,
"maxNotional": 1600000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
- "bracket": "5",
+ "bracket": "6",
"initialLeverage": "5",
"notionalCap": "1600000",
"notionalFloor": "800000",
"maintMarginRatio": "0.1",
- "cum": "42150.0"
+ "cum": "42170.0"
}
},
{
- "tier": 6.0,
+ "tier": 7.0,
"symbol": "AI/USDT:USDT",
"currency": "USDT",
"minNotional": 1600000.0,
@@ -4591,46 +4829,63 @@
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
- "bracket": "6",
+ "bracket": "7",
"initialLeverage": "4",
"notionalCap": "2000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.125",
- "cum": "82150.0"
- }
- },
- {
- "tier": 7.0,
- "symbol": "AI/USDT:USDT",
- "currency": "USDT",
- "minNotional": 2000000.0,
- "maxNotional": 4000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
- "info": {
- "bracket": "7",
- "initialLeverage": "2",
- "notionalCap": "4000000",
- "notionalFloor": "2000000",
- "maintMarginRatio": "0.25",
- "cum": "332150.0"
+ "cum": "82170.0"
}
},
{
"tier": 8.0,
"symbol": "AI/USDT:USDT",
"currency": "USDT",
+ "minNotional": 2000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "2000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "165570.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "AI/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 3000000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "4000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "415470.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "AI/USDT:USDT",
+ "currency": "USDT",
"minNotional": 4000000.0,
"maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "8",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "8000000",
"notionalFloor": "4000000",
"maintMarginRatio": "0.5",
- "cum": "1332150.0"
+ "cum": "1415470.0"
}
}
],
@@ -4642,10 +4897,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 25.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "25",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -4659,10 +4914,10 @@
"minNotional": 5000.0,
"maxNotional": 16000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 20.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "20",
+ "initialLeverage": "10",
"notionalCap": "16000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -4676,10 +4931,10 @@
"minNotional": 16000.0,
"maxNotional": 80000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 15.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "3",
- "initialLeverage": "15",
+ "initialLeverage": "7",
"notionalCap": "80000",
"notionalFloor": "16000",
"maintMarginRatio": "0.02",
@@ -4693,10 +4948,10 @@
"minNotional": 80000.0,
"maxNotional": 160000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
+ "initialLeverage": "6",
"notionalCap": "160000",
"notionalFloor": "80000",
"maintMarginRatio": "0.025",
@@ -4710,10 +4965,10 @@
"minNotional": 160000.0,
"maxNotional": 800000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 8.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "8",
+ "initialLeverage": "5",
"notionalCap": "800000",
"notionalFloor": "160000",
"maintMarginRatio": "0.05",
@@ -4727,10 +4982,10 @@
"minNotional": 800000.0,
"maxNotional": 1600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1600000",
"notionalFloor": "800000",
"maintMarginRatio": "0.1",
@@ -4744,10 +4999,10 @@
"minNotional": 1600000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "2000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.125",
@@ -4789,6 +5044,161 @@
}
}
],
+ "AIOT/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "AIOT/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": "AIOT/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": "AIOT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 10000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "20",
+ "notionalCap": "50000",
+ "notionalFloor": "10000",
+ "maintMarginRatio": "0.025",
+ "cum": "75.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "AIOT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 50000.0,
+ "maxNotional": 125000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "10",
+ "notionalCap": "125000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1325.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "AIOT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 125000.0,
+ "maxNotional": 250000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "5",
+ "notionalCap": "250000",
+ "notionalFloor": "125000",
+ "maintMarginRatio": "0.1",
+ "cum": "7575.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "AIOT/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": "AIOT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 500000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "3",
+ "notionalCap": "1500000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.1667",
+ "cum": "34675.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "AIOT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 2500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "2",
+ "notionalCap": "2500000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.25",
+ "cum": "159625.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "AIOT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 2500000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "1",
+ "notionalCap": "4000000",
+ "notionalFloor": "2500000",
+ "maintMarginRatio": "0.5",
+ "cum": "784625.0"
+ }
+ }
+ ],
"AIXBT/USDT:USDT": [
{
"tier": 1.0,
@@ -5107,10 +5517,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "1",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -5124,10 +5534,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 20.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "2",
- "initialLeverage": "20",
+ "initialLeverage": "8",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -5141,10 +5551,10 @@
"minNotional": 10000.0,
"maxNotional": 30000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 15.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "3",
- "initialLeverage": "15",
+ "initialLeverage": "7",
"notionalCap": "30000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -5158,10 +5568,10 @@
"minNotional": 30000.0,
"maxNotional": 60000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
+ "initialLeverage": "6",
"notionalCap": "60000",
"notionalFloor": "30000",
"maintMarginRatio": "0.025",
@@ -5175,10 +5585,10 @@
"minNotional": 60000.0,
"maxNotional": 300000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 8.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "8",
+ "initialLeverage": "5",
"notionalCap": "300000",
"notionalFloor": "60000",
"maintMarginRatio": "0.05",
@@ -5192,10 +5602,10 @@
"minNotional": 300000.0,
"maxNotional": 600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "600000",
"notionalFloor": "300000",
"maintMarginRatio": "0.1",
@@ -5209,10 +5619,10 @@
"minNotional": 600000.0,
"maxNotional": 750000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "750000",
"notionalFloor": "600000",
"maintMarginRatio": "0.125",
@@ -5553,15 +5963,15 @@
"symbol": "ALPACA/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 5000.0,
- "maintenanceMarginRate": 0.01,
- "maxLeverage": 10.0,
+ "maxNotional": 100000.0,
+ "maintenanceMarginRate": 0.08,
+ "maxLeverage": 5.0,
"info": {
"bracket": "1",
- "initialLeverage": "10",
- "notionalCap": "5000",
+ "initialLeverage": "5",
+ "notionalCap": "100000",
"notionalFloor": "0",
- "maintMarginRatio": "0.01",
+ "maintMarginRatio": "0.08",
"cum": "0.0"
}
},
@@ -5569,123 +5979,55 @@
"tier": 2.0,
"symbol": "ALPACA/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000.0,
- "maxNotional": 10000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 9.0,
+ "minNotional": 100000.0,
+ "maxNotional": 200000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 4.0,
"info": {
"bracket": "2",
- "initialLeverage": "9",
- "notionalCap": "10000",
- "notionalFloor": "5000",
- "maintMarginRatio": "0.015",
- "cum": "25.0"
+ "initialLeverage": "4",
+ "notionalCap": "200000",
+ "notionalFloor": "100000",
+ "maintMarginRatio": "0.1",
+ "cum": "2000.0"
}
},
{
"tier": 3.0,
"symbol": "ALPACA/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 20000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 8.0,
+ "minNotional": 200000.0,
+ "maxNotional": 400000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 3.0,
"info": {
"bracket": "3",
- "initialLeverage": "8",
- "notionalCap": "20000",
- "notionalFloor": "10000",
- "maintMarginRatio": "0.02",
- "cum": "75.0"
+ "initialLeverage": "3",
+ "notionalCap": "400000",
+ "notionalFloor": "200000",
+ "maintMarginRatio": "0.125",
+ "cum": "7000.0"
}
},
{
"tier": 4.0,
"symbol": "ALPACA/USDT:USDT",
"currency": "USDT",
- "minNotional": 20000.0,
- "maxNotional": 40000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 7.0,
- "info": {
- "bracket": "4",
- "initialLeverage": "7",
- "notionalCap": "40000",
- "notionalFloor": "20000",
- "maintMarginRatio": "0.025",
- "cum": "175.0"
- }
- },
- {
- "tier": 5.0,
- "symbol": "ALPACA/USDT:USDT",
- "currency": "USDT",
- "minNotional": 40000.0,
- "maxNotional": 200000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 6.0,
- "info": {
- "bracket": "5",
- "initialLeverage": "6",
- "notionalCap": "200000",
- "notionalFloor": "40000",
- "maintMarginRatio": "0.05",
- "cum": "1175.0"
- }
- },
- {
- "tier": 6.0,
- "symbol": "ALPACA/USDT:USDT",
- "currency": "USDT",
- "minNotional": 200000.0,
- "maxNotional": 400000.0,
- "maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
- "info": {
- "bracket": "6",
- "initialLeverage": "5",
- "notionalCap": "400000",
- "notionalFloor": "200000",
- "maintMarginRatio": "0.1",
- "cum": "11175.0"
- }
- },
- {
- "tier": 7.0,
- "symbol": "ALPACA/USDT:USDT",
- "currency": "USDT",
"minNotional": 400000.0,
- "maxNotional": 450000.0,
- "maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
- "info": {
- "bracket": "7",
- "initialLeverage": "4",
- "notionalCap": "450000",
- "notionalFloor": "400000",
- "maintMarginRatio": "0.125",
- "cum": "21175.0"
- }
- },
- {
- "tier": 8.0,
- "symbol": "ALPACA/USDT:USDT",
- "currency": "USDT",
- "minNotional": 450000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.25,
"maxLeverage": 2.0,
"info": {
- "bracket": "8",
+ "bracket": "4",
"initialLeverage": "2",
"notionalCap": "500000",
- "notionalFloor": "450000",
+ "notionalFloor": "400000",
"maintMarginRatio": "0.25",
- "cum": "77425.0"
+ "cum": "57000.0"
}
},
{
- "tier": 9.0,
+ "tier": 5.0,
"symbol": "ALPACA/USDT:USDT",
"currency": "USDT",
"minNotional": 500000.0,
@@ -5693,12 +6035,12 @@
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "5",
"initialLeverage": "1",
"notionalCap": "550000",
"notionalFloor": "500000",
"maintMarginRatio": "0.5",
- "cum": "202425.0"
+ "cum": "182000.0"
}
}
],
@@ -5848,10 +6190,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -5865,10 +6207,10 @@
"minNotional": 5000.0,
"maxNotional": 16000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "16000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -5882,10 +6224,10 @@
"minNotional": 16000.0,
"maxNotional": 80000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "7",
"notionalCap": "80000",
"notionalFloor": "16000",
"maintMarginRatio": "0.02",
@@ -5899,10 +6241,10 @@
"minNotional": 80000.0,
"maxNotional": 160000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "160000",
"notionalFloor": "80000",
"maintMarginRatio": "0.025",
@@ -5916,10 +6258,10 @@
"minNotional": 160000.0,
"maxNotional": 800000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "800000",
"notionalFloor": "160000",
"maintMarginRatio": "0.05",
@@ -5933,10 +6275,10 @@
"minNotional": 800000.0,
"maxNotional": 1600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1600000",
"notionalFloor": "800000",
"maintMarginRatio": "0.1",
@@ -5950,10 +6292,10 @@
"minNotional": 1600000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "2000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.125",
@@ -6383,10 +6725,10 @@
"minNotional": 0.0,
"maxNotional": 25000.0,
"maintenanceMarginRate": 0.0065,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "25000",
"notionalFloor": "0",
"maintMarginRatio": "0.0065",
@@ -6400,10 +6742,10 @@
"minNotional": 25000.0,
"maxNotional": 50000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "50000",
"notionalFloor": "25000",
"maintMarginRatio": "0.01",
@@ -6417,10 +6759,10 @@
"minNotional": 50000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 40.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "40",
+ "initialLeverage": "8",
"notionalCap": "100000",
"notionalFloor": "50000",
"maintMarginRatio": "0.015",
@@ -6434,10 +6776,10 @@
"minNotional": 100000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "25",
+ "initialLeverage": "7",
"notionalCap": "500000",
"notionalFloor": "100000",
"maintMarginRatio": "0.02",
@@ -6451,10 +6793,10 @@
"minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.025",
@@ -6468,10 +6810,10 @@
"minNotional": 1000000.0,
"maxNotional": 3000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "6",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "3000000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.05",
@@ -6485,10 +6827,10 @@
"minNotional": 3000000.0,
"maxNotional": 4000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "7",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "4000000",
"notionalFloor": "3000000",
"maintMarginRatio": "0.1",
@@ -6502,10 +6844,10 @@
"minNotional": 4000000.0,
"maxNotional": 5000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "5000000",
"notionalFloor": "4000000",
"maintMarginRatio": "0.125",
@@ -6555,10 +6897,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "50",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.015",
@@ -6572,10 +6914,10 @@
"minNotional": 5000.0,
"maxNotional": 25000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "20",
+ "initialLeverage": "10",
"notionalCap": "25000",
"notionalFloor": "5000",
"maintMarginRatio": "0.025",
@@ -6589,10 +6931,10 @@
"minNotional": 25000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "3",
- "initialLeverage": "10",
+ "initialLeverage": "6",
"notionalCap": "100000",
"notionalFloor": "25000",
"maintMarginRatio": "0.05",
@@ -6606,10 +6948,10 @@
"minNotional": 100000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.06,
- "maxLeverage": 8.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "4",
- "initialLeverage": "8",
+ "initialLeverage": "5",
"notionalCap": "500000",
"notionalFloor": "100000",
"maintMarginRatio": "0.06",
@@ -6623,10 +6965,10 @@
"minNotional": 500000.0,
"maxNotional": 1600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "5",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1600000",
"notionalFloor": "500000",
"maintMarginRatio": "0.1",
@@ -6640,10 +6982,10 @@
"minNotional": 1600000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "6",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "2000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.125",
@@ -6848,10 +7190,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -6865,10 +7207,10 @@
"minNotional": 10000.0,
"maxNotional": 20000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "20000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -6882,10 +7224,10 @@
"minNotional": 20000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "8",
"notionalCap": "100000",
"notionalFloor": "20000",
"maintMarginRatio": "0.02",
@@ -6899,10 +7241,10 @@
"minNotional": 100000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "7",
"notionalCap": "200000",
"notionalFloor": "100000",
"maintMarginRatio": "0.025",
@@ -6916,10 +7258,10 @@
"minNotional": 200000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "6",
"notionalCap": "1000000",
"notionalFloor": "200000",
"maintMarginRatio": "0.05",
@@ -6965,33 +7307,50 @@
"symbol": "AR/USDT:USDT",
"currency": "USDT",
"minNotional": 2500000.0,
- "maxNotional": 5000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "maxNotional": 3750000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "5000000",
+ "initialLeverage": "3",
+ "notionalCap": "3750000",
"notionalFloor": "2500000",
- "maintMarginRatio": "0.25",
- "cum": "418150.0"
+ "maintMarginRatio": "0.1667",
+ "cum": "209900.0"
}
},
{
"tier": 9.0,
"symbol": "AR/USDT:USDT",
"currency": "USDT",
+ "minNotional": 3750000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3750000",
+ "maintMarginRatio": "0.25",
+ "cum": "522275.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "AR/USDT:USDT",
+ "currency": "USDT",
"minNotional": 5000000.0,
"maxNotional": 10000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "10000000",
"notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "1668150.0"
+ "cum": "1772275.0"
}
}
],
@@ -7432,12 +7791,150 @@
"symbol": "ARK/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 5000.0,
- "maintenanceMarginRate": 0.01,
- "maxLeverage": 10.0,
+ "maxNotional": 20000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 8.0,
"info": {
"bracket": "1",
- "initialLeverage": "10",
+ "initialLeverage": "8",
+ "notionalCap": "20000",
+ "notionalFloor": "0",
+ "maintMarginRatio": "0.02",
+ "cum": "0.0"
+ }
+ },
+ {
+ "tier": 2.0,
+ "symbol": "ARK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 20000.0,
+ "maxNotional": 40000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 7.0,
+ "info": {
+ "bracket": "2",
+ "initialLeverage": "7",
+ "notionalCap": "40000",
+ "notionalFloor": "20000",
+ "maintMarginRatio": "0.025",
+ "cum": "100.0"
+ }
+ },
+ {
+ "tier": 3.0,
+ "symbol": "ARK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 40000.0,
+ "maxNotional": 200000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 6.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "6",
+ "notionalCap": "200000",
+ "notionalFloor": "40000",
+ "maintMarginRatio": "0.05",
+ "cum": "1100.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "ARK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 200000.0,
+ "maxNotional": 500000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "5",
+ "notionalCap": "500000",
+ "notionalFloor": "200000",
+ "maintMarginRatio": "0.1",
+ "cum": "11100.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "ARK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "4",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.125",
+ "cum": "23600.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "ARK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1000000.0,
+ "maxNotional": 2000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "3",
+ "notionalCap": "2000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "65300.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "ARK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 2000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "2",
+ "notionalCap": "3000000",
+ "notionalFloor": "2000000",
+ "maintMarginRatio": "0.25",
+ "cum": "231900.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "ARK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 3000000.0,
+ "maxNotional": 3500000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "1",
+ "notionalCap": "3500000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.5",
+ "cum": "981900.0"
+ }
+ }
+ ],
+ "ARKM/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "ARKM/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",
@@ -7446,15 +7943,15 @@
},
{
"tier": 2.0,
- "symbol": "ARK/USDT:USDT",
+ "symbol": "ARKM/USDT:USDT",
"currency": "USDT",
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 9.0,
+ "maxLeverage": 50.0,
"info": {
"bracket": "2",
- "initialLeverage": "9",
+ "initialLeverage": "50",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -7463,16 +7960,16 @@
},
{
"tier": 3.0,
- "symbol": "ARK/USDT:USDT",
+ "symbol": "ARKM/USDT:USDT",
"currency": "USDT",
"minNotional": 10000.0,
- "maxNotional": 20000.0,
+ "maxNotional": 25000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 8.0,
+ "maxLeverage": 25.0,
"info": {
"bracket": "3",
- "initialLeverage": "8",
- "notionalCap": "20000",
+ "initialLeverage": "25",
+ "notionalCap": "25000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
"cum": "75.0"
@@ -7480,43 +7977,43 @@
},
{
"tier": 4.0,
- "symbol": "ARK/USDT:USDT",
+ "symbol": "ARKM/USDT:USDT",
"currency": "USDT",
- "minNotional": 20000.0,
- "maxNotional": 40000.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 7.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "4",
- "initialLeverage": "7",
- "notionalCap": "40000",
- "notionalFloor": "20000",
+ "initialLeverage": "20",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
"maintMarginRatio": "0.025",
- "cum": "175.0"
+ "cum": "200.0"
}
},
{
"tier": 5.0,
- "symbol": "ARK/USDT:USDT",
+ "symbol": "ARKM/USDT:USDT",
"currency": "USDT",
- "minNotional": 40000.0,
- "maxNotional": 200000.0,
+ "minNotional": 50000.0,
+ "maxNotional": 250000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 6.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "5",
- "initialLeverage": "6",
- "notionalCap": "200000",
- "notionalFloor": "40000",
+ "initialLeverage": "10",
+ "notionalCap": "250000",
+ "notionalFloor": "50000",
"maintMarginRatio": "0.05",
- "cum": "1175.0"
+ "cum": "1450.0"
}
},
{
"tier": 6.0,
- "symbol": "ARK/USDT:USDT",
+ "symbol": "ARKM/USDT:USDT",
"currency": "USDT",
- "minNotional": 200000.0,
+ "minNotional": 250000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
@@ -7524,14 +8021,14 @@
"bracket": "6",
"initialLeverage": "5",
"notionalCap": "500000",
- "notionalFloor": "200000",
+ "notionalFloor": "250000",
"maintMarginRatio": "0.1",
- "cum": "11175.0"
+ "cum": "13950.0"
}
},
{
"tier": 7.0,
- "symbol": "ARK/USDT:USDT",
+ "symbol": "ARKM/USDT:USDT",
"currency": "USDT",
"minNotional": 500000.0,
"maxNotional": 1000000.0,
@@ -7543,196 +8040,58 @@
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.125",
- "cum": "23675.0"
+ "cum": "26450.0"
}
},
{
"tier": 8.0,
- "symbol": "ARK/USDT:USDT",
+ "symbol": "ARKM/USDT:USDT",
"currency": "USDT",
"minNotional": 1000000.0,
"maxNotional": 3000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
+ "initialLeverage": "3",
"notionalCap": "3000000",
"notionalFloor": "1000000",
- "maintMarginRatio": "0.25",
- "cum": "148675.0"
+ "maintMarginRatio": "0.1667",
+ "cum": "68150.0"
}
},
{
"tier": 9.0,
- "symbol": "ARK/USDT:USDT",
- "currency": "USDT",
- "minNotional": 3000000.0,
- "maxNotional": 3500000.0,
- "maintenanceMarginRate": 0.5,
- "maxLeverage": 1.0,
- "info": {
- "bracket": "9",
- "initialLeverage": "1",
- "notionalCap": "3500000",
- "notionalFloor": "3000000",
- "maintMarginRatio": "0.5",
- "cum": "898675.0"
- }
- }
- ],
- "ARKM/USDT:USDT": [
- {
- "tier": 1.0,
- "symbol": "ARKM/USDT:USDT",
- "currency": "USDT",
- "minNotional": 0.0,
- "maxNotional": 10000.0,
- "maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
- "info": {
- "bracket": "1",
- "initialLeverage": "75",
- "notionalCap": "10000",
- "notionalFloor": "0",
- "maintMarginRatio": "0.01",
- "cum": "0.0"
- }
- },
- {
- "tier": 2.0,
- "symbol": "ARKM/USDT:USDT",
- "currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 30000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
- "info": {
- "bracket": "2",
- "initialLeverage": "50",
- "notionalCap": "30000",
- "notionalFloor": "10000",
- "maintMarginRatio": "0.015",
- "cum": "50.0"
- }
- },
- {
- "tier": 3.0,
- "symbol": "ARKM/USDT:USDT",
- "currency": "USDT",
- "minNotional": 30000.0,
- "maxNotional": 150000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
- "info": {
- "bracket": "3",
- "initialLeverage": "25",
- "notionalCap": "150000",
- "notionalFloor": "30000",
- "maintMarginRatio": "0.02",
- "cum": "200.0"
- }
- },
- {
- "tier": 4.0,
- "symbol": "ARKM/USDT:USDT",
- "currency": "USDT",
- "minNotional": 150000.0,
- "maxNotional": 300000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
- "info": {
- "bracket": "4",
- "initialLeverage": "20",
- "notionalCap": "300000",
- "notionalFloor": "150000",
- "maintMarginRatio": "0.025",
- "cum": "950.0"
- }
- },
- {
- "tier": 5.0,
- "symbol": "ARKM/USDT:USDT",
- "currency": "USDT",
- "minNotional": 300000.0,
- "maxNotional": 1500000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
- "info": {
- "bracket": "5",
- "initialLeverage": "10",
- "notionalCap": "1500000",
- "notionalFloor": "300000",
- "maintMarginRatio": "0.05",
- "cum": "8450.0"
- }
- },
- {
- "tier": 6.0,
- "symbol": "ARKM/USDT:USDT",
- "currency": "USDT",
- "minNotional": 1500000.0,
- "maxNotional": 3000000.0,
- "maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
- "info": {
- "bracket": "6",
- "initialLeverage": "5",
- "notionalCap": "3000000",
- "notionalFloor": "1500000",
- "maintMarginRatio": "0.1",
- "cum": "83450.0"
- }
- },
- {
- "tier": 7.0,
"symbol": "ARKM/USDT:USDT",
"currency": "USDT",
"minNotional": 3000000.0,
- "maxNotional": 3750000.0,
- "maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
- "info": {
- "bracket": "7",
- "initialLeverage": "4",
- "notionalCap": "3750000",
- "notionalFloor": "3000000",
- "maintMarginRatio": "0.125",
- "cum": "158450.0"
- }
- },
- {
- "tier": 8.0,
- "symbol": "ARKM/USDT:USDT",
- "currency": "USDT",
- "minNotional": 3750000.0,
- "maxNotional": 7500000.0,
+ "maxNotional": 5000000.0,
"maintenanceMarginRate": 0.25,
"maxLeverage": 2.0,
"info": {
- "bracket": "8",
+ "bracket": "9",
"initialLeverage": "2",
- "notionalCap": "7500000",
- "notionalFloor": "3750000",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
"maintMarginRatio": "0.25",
- "cum": "627200.0"
+ "cum": "318050.0"
}
},
{
- "tier": 9.0,
+ "tier": 10.0,
"symbol": "ARKM/USDT:USDT",
"currency": "USDT",
- "minNotional": 7500000.0,
- "maxNotional": 15000000.0,
+ "minNotional": 5000000.0,
+ "maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "15000000",
- "notionalFloor": "7500000",
+ "notionalCap": "8000000",
+ "notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "2502200.0"
+ "cum": "1568050.0"
}
}
],
@@ -7761,10 +8120,10 @@
"minNotional": 5000.0,
"maxNotional": 25000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 15.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "15",
+ "initialLeverage": "10",
"notionalCap": "25000",
"notionalFloor": "5000",
"maintMarginRatio": "0.025",
@@ -7778,10 +8137,10 @@
"minNotional": 25000.0,
"maxNotional": 600000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "3",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "600000",
"notionalFloor": "25000",
"maintMarginRatio": "0.05",
@@ -7795,10 +8154,10 @@
"minNotional": 600000.0,
"maxNotional": 1600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "4",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1600000",
"notionalFloor": "600000",
"maintMarginRatio": "0.1",
@@ -7812,10 +8171,10 @@
"minNotional": 1600000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "5",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "2000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.125",
@@ -8099,6 +8458,144 @@
}
}
],
+ "ATH/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "ATH/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": "ATH/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000.0,
+ "maxNotional": 20000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 25.0,
+ "info": {
+ "bracket": "2",
+ "initialLeverage": "25",
+ "notionalCap": "20000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.02",
+ "cum": "25.0"
+ }
+ },
+ {
+ "tier": 3.0,
+ "symbol": "ATH/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 20000.0,
+ "maxNotional": 30000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "20",
+ "notionalCap": "30000",
+ "notionalFloor": "20000",
+ "maintMarginRatio": "0.025",
+ "cum": "125.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "ATH/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 30000.0,
+ "maxNotional": 300000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "10",
+ "notionalCap": "300000",
+ "notionalFloor": "30000",
+ "maintMarginRatio": "0.05",
+ "cum": "875.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "ATH/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 300000.0,
+ "maxNotional": 600000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "5",
+ "notionalCap": "600000",
+ "notionalFloor": "300000",
+ "maintMarginRatio": "0.1",
+ "cum": "15875.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "ATH/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 600000.0,
+ "maxNotional": 750000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "4",
+ "notionalCap": "750000",
+ "notionalFloor": "600000",
+ "maintMarginRatio": "0.125",
+ "cum": "30875.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "ATH/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 750000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "2",
+ "notionalCap": "1500000",
+ "notionalFloor": "750000",
+ "maintMarginRatio": "0.25",
+ "cum": "124625.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "ATH/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "1",
+ "notionalCap": "3000000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.5",
+ "cum": "499625.0"
+ }
+ }
+ ],
"ATOM/USDT:USDT": [
{
"tier": 1.0,
@@ -8279,10 +8776,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "1",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.015",
@@ -8296,10 +8793,10 @@
"minNotional": 5000.0,
"maxNotional": 20000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 15.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "2",
- "initialLeverage": "15",
+ "initialLeverage": "8",
"notionalCap": "20000",
"notionalFloor": "5000",
"maintMarginRatio": "0.02",
@@ -8313,10 +8810,10 @@
"minNotional": 20000.0,
"maxNotional": 30000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "3",
- "initialLeverage": "10",
+ "initialLeverage": "6",
"notionalCap": "30000",
"notionalFloor": "20000",
"maintMarginRatio": "0.025",
@@ -8330,10 +8827,10 @@
"minNotional": 30000.0,
"maxNotional": 300000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 8.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "4",
- "initialLeverage": "8",
+ "initialLeverage": "5",
"notionalCap": "300000",
"notionalFloor": "30000",
"maintMarginRatio": "0.05",
@@ -8347,10 +8844,10 @@
"minNotional": 300000.0,
"maxNotional": 600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "5",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "600000",
"notionalFloor": "300000",
"maintMarginRatio": "0.1",
@@ -8364,10 +8861,10 @@
"minNotional": 600000.0,
"maxNotional": 750000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "6",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "750000",
"notionalFloor": "600000",
"maintMarginRatio": "0.125",
@@ -8396,13 +8893,13 @@
"symbol": "AUCTION/USDT:USDT",
"currency": "USDT",
"minNotional": 1500000.0,
- "maxNotional": 3000000.0,
+ "maxNotional": 2000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
"bracket": "8",
"initialLeverage": "1",
- "notionalCap": "3000000",
+ "notionalCap": "2000000",
"notionalFloor": "1500000",
"maintMarginRatio": "0.5",
"cum": "499625.0"
@@ -9190,15 +9687,15 @@
"symbol": "AXS/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 20000.0,
- "maintenanceMarginRate": 0.007,
- "maxLeverage": 50.0,
+ "maxNotional": 8600.0,
+ "maintenanceMarginRate": 0.0067,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "50",
- "notionalCap": "20000",
+ "initialLeverage": "20",
+ "notionalCap": "8600",
"notionalFloor": "0",
- "maintMarginRatio": "0.007",
+ "maintMarginRatio": "0.0067",
"cum": "0.0"
}
},
@@ -9206,136 +9703,170 @@
"tier": 2.0,
"symbol": "AXS/USDT:USDT",
"currency": "USDT",
- "minNotional": 20000.0,
- "maxNotional": 400000.0,
+ "minNotional": 8600.0,
+ "maxNotional": 163000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "25",
- "notionalCap": "400000",
- "notionalFloor": "20000",
+ "initialLeverage": "10",
+ "notionalCap": "163000",
+ "notionalFloor": "8600",
"maintMarginRatio": "0.01",
- "cum": "60.0"
+ "cum": "28.38"
}
},
{
"tier": 3.0,
"symbol": "AXS/USDT:USDT",
"currency": "USDT",
- "minNotional": 400000.0,
- "maxNotional": 600000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 20.0,
+ "minNotional": 163000.0,
+ "maxNotional": 206000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 9.0,
"info": {
"bracket": "3",
- "initialLeverage": "20",
- "notionalCap": "600000",
- "notionalFloor": "400000",
- "maintMarginRatio": "0.02",
- "cum": "4060.0"
+ "initialLeverage": "9",
+ "notionalCap": "206000",
+ "notionalFloor": "163000",
+ "maintMarginRatio": "0.015",
+ "cum": "843.38"
}
},
{
"tier": 4.0,
"symbol": "AXS/USDT:USDT",
"currency": "USDT",
- "minNotional": 600000.0,
- "maxNotional": 1200000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "minNotional": 206000.0,
+ "maxNotional": 255000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 8.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "1200000",
- "notionalFloor": "600000",
- "maintMarginRatio": "0.05",
- "cum": "22060.0"
+ "initialLeverage": "8",
+ "notionalCap": "255000",
+ "notionalFloor": "206000",
+ "maintMarginRatio": "0.02",
+ "cum": "1873.38"
}
},
{
"tier": 5.0,
"symbol": "AXS/USDT:USDT",
"currency": "USDT",
- "minNotional": 1200000.0,
- "maxNotional": 2000000.0,
- "maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "minNotional": 255000.0,
+ "maxNotional": 390000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 7.0,
"info": {
"bracket": "5",
- "initialLeverage": "5",
- "notionalCap": "2000000",
- "notionalFloor": "1200000",
- "maintMarginRatio": "0.1",
- "cum": "82060.0"
+ "initialLeverage": "7",
+ "notionalCap": "390000",
+ "notionalFloor": "255000",
+ "maintMarginRatio": "0.025",
+ "cum": "3148.38"
}
},
{
"tier": 6.0,
"symbol": "AXS/USDT:USDT",
"currency": "USDT",
- "minNotional": 2000000.0,
- "maxNotional": 2500000.0,
- "maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "minNotional": 390000.0,
+ "maxNotional": 630000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 6.0,
"info": {
"bracket": "6",
- "initialLeverage": "4",
- "notionalCap": "2500000",
- "notionalFloor": "2000000",
- "maintMarginRatio": "0.125",
- "cum": "132060.0"
+ "initialLeverage": "6",
+ "notionalCap": "630000",
+ "notionalFloor": "390000",
+ "maintMarginRatio": "0.05",
+ "cum": "12898.38"
}
},
{
"tier": 7.0,
"symbol": "AXS/USDT:USDT",
"currency": "USDT",
- "minNotional": 2500000.0,
- "maxNotional": 3000000.0,
- "maintenanceMarginRate": 0.15,
- "maxLeverage": 3.0,
+ "minNotional": 630000.0,
+ "maxNotional": 1100000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
"info": {
"bracket": "7",
- "initialLeverage": "3",
- "notionalCap": "3000000",
- "notionalFloor": "2500000",
- "maintMarginRatio": "0.15",
- "cum": "194560.0"
+ "initialLeverage": "5",
+ "notionalCap": "1100000",
+ "notionalFloor": "630000",
+ "maintMarginRatio": "0.1",
+ "cum": "44398.38"
}
},
{
"tier": 8.0,
"symbol": "AXS/USDT:USDT",
"currency": "USDT",
- "minNotional": 3000000.0,
- "maxNotional": 3500000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 1100000.0,
+ "maxNotional": 1600000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "3500000",
- "notionalFloor": "3000000",
- "maintMarginRatio": "0.25",
- "cum": "494560.0"
+ "initialLeverage": "4",
+ "notionalCap": "1600000",
+ "notionalFloor": "1100000",
+ "maintMarginRatio": "0.125",
+ "cum": "71898.38"
}
},
{
"tier": 9.0,
"symbol": "AXS/USDT:USDT",
"currency": "USDT",
- "minNotional": 3500000.0,
- "maxNotional": 4000000.0,
+ "minNotional": 1600000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1600000",
+ "maintMarginRatio": "0.1667",
+ "cum": "138618.38"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "AXS/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 3000000.0,
+ "maxNotional": 4400000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "10",
+ "initialLeverage": "2",
+ "notionalCap": "4400000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "388518.38"
+ }
+ },
+ {
+ "tier": 11.0,
+ "symbol": "AXS/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 4400000.0,
+ "maxNotional": 6400000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "11",
"initialLeverage": "1",
- "notionalCap": "4000000",
- "notionalFloor": "3500000",
+ "notionalCap": "6400000",
+ "notionalFloor": "4400000",
"maintMarginRatio": "0.5",
- "cum": "1369560.0"
+ "cum": "1488518.38"
}
}
],
@@ -9494,6 +10025,144 @@
}
}
],
+ "BABY/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "BABY/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": "BABY/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000.0,
+ "maxNotional": 125000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 25.0,
+ "info": {
+ "bracket": "2",
+ "initialLeverage": "25",
+ "notionalCap": "125000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.02",
+ "cum": "25.0"
+ }
+ },
+ {
+ "tier": 3.0,
+ "symbol": "BABY/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 125000.0,
+ "maxNotional": 150000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "20",
+ "notionalCap": "150000",
+ "notionalFloor": "125000",
+ "maintMarginRatio": "0.025",
+ "cum": "650.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "BABY/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 150000.0,
+ "maxNotional": 300000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "10",
+ "notionalCap": "300000",
+ "notionalFloor": "150000",
+ "maintMarginRatio": "0.05",
+ "cum": "4400.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "BABY/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 300000.0,
+ "maxNotional": 1250000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "5",
+ "notionalCap": "1250000",
+ "notionalFloor": "300000",
+ "maintMarginRatio": "0.1",
+ "cum": "19400.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "BABY/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1250000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "4",
+ "notionalCap": "1500000",
+ "notionalFloor": "1250000",
+ "maintMarginRatio": "0.125",
+ "cum": "50650.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "BABY/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 2000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "2",
+ "notionalCap": "2000000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.25",
+ "cum": "238150.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "BABY/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 2000000.0,
+ "maxNotional": 2500000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "1",
+ "notionalCap": "2500000",
+ "notionalFloor": "2000000",
+ "maintMarginRatio": "0.5",
+ "cum": "738150.0"
+ }
+ }
+ ],
"BADGER/USDT:USDT": [
{
"tier": 1.0,
@@ -9986,10 +10655,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -10003,10 +10672,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -10020,10 +10689,10 @@
"minNotional": 10000.0,
"maxNotional": 50000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "50000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -10037,10 +10706,10 @@
"minNotional": 50000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "100000",
"notionalFloor": "50000",
"maintMarginRatio": "0.025",
@@ -10054,10 +10723,10 @@
"minNotional": 100000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "500000",
"notionalFloor": "100000",
"maintMarginRatio": "0.05",
@@ -10071,10 +10740,10 @@
"minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.1",
@@ -10088,10 +10757,10 @@
"minNotional": 1000000.0,
"maxNotional": 1250000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "1250000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.125",
@@ -10392,6 +11061,161 @@
}
}
],
+ "BANK/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "BANK/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": "BANK/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": "BANK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 10000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "20",
+ "notionalCap": "50000",
+ "notionalFloor": "10000",
+ "maintMarginRatio": "0.025",
+ "cum": "75.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "BANK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 50000.0,
+ "maxNotional": 125000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "10",
+ "notionalCap": "125000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1325.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "BANK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 125000.0,
+ "maxNotional": 250000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "5",
+ "notionalCap": "250000",
+ "notionalFloor": "125000",
+ "maintMarginRatio": "0.1",
+ "cum": "7575.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "BANK/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": "BANK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 500000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "3",
+ "notionalCap": "1500000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.1667",
+ "cum": "34675.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "BANK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 2500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "2",
+ "notionalCap": "2500000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.25",
+ "cum": "159625.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "BANK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 2500000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "1",
+ "notionalCap": "4000000",
+ "notionalFloor": "2500000",
+ "maintMarginRatio": "0.5",
+ "cum": "784625.0"
+ }
+ }
+ ],
"BAT/USDT:USDT": [
{
"tier": 1.0,
@@ -10536,15 +11360,15 @@
"symbol": "BB/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 5000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxNotional": 4000.0,
+ "maintenanceMarginRate": 0.01,
+ "maxLeverage": 25.0,
"info": {
"bracket": "1",
- "initialLeverage": "50",
- "notionalCap": "5000",
+ "initialLeverage": "25",
+ "notionalCap": "4000",
"notionalFloor": "0",
- "maintMarginRatio": "0.015",
+ "maintMarginRatio": "0.01",
"cum": "0.0"
}
},
@@ -10552,72 +11376,89 @@
"tier": 2.0,
"symbol": "BB/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000.0,
- "maxNotional": 25000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "minNotional": 4000.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 20.0,
"info": {
"bracket": "2",
- "initialLeverage": "25",
- "notionalCap": "25000",
- "notionalFloor": "5000",
- "maintMarginRatio": "0.02",
- "cum": "25.0"
+ "initialLeverage": "20",
+ "notionalCap": "5000",
+ "notionalFloor": "4000",
+ "maintMarginRatio": "0.015",
+ "cum": "20.0"
}
},
{
"tier": 3.0,
"symbol": "BB/USDT:USDT",
"currency": "USDT",
- "minNotional": 25000.0,
- "maxNotional": 80000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "minNotional": 5000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "20",
- "notionalCap": "80000",
- "notionalFloor": "25000",
- "maintMarginRatio": "0.025",
- "cum": "150.0"
+ "initialLeverage": "10",
+ "notionalCap": "25000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.02",
+ "cum": "45.0"
}
},
{
"tier": 4.0,
"symbol": "BB/USDT:USDT",
"currency": "USDT",
- "minNotional": 80000.0,
- "maxNotional": 800000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "minNotional": 25000.0,
+ "maxNotional": 80000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "800000",
- "notionalFloor": "80000",
- "maintMarginRatio": "0.05",
- "cum": "2150.0"
+ "initialLeverage": "7",
+ "notionalCap": "80000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.025",
+ "cum": "170.0"
}
},
{
"tier": 5.0,
"symbol": "BB/USDT:USDT",
"currency": "USDT",
+ "minNotional": 80000.0,
+ "maxNotional": 800000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 6.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "6",
+ "notionalCap": "800000",
+ "notionalFloor": "80000",
+ "maintMarginRatio": "0.05",
+ "cum": "2170.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "BB/USDT:USDT",
+ "currency": "USDT",
"minNotional": 800000.0,
"maxNotional": 1600000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
- "bracket": "5",
+ "bracket": "6",
"initialLeverage": "5",
"notionalCap": "1600000",
"notionalFloor": "800000",
"maintMarginRatio": "0.1",
- "cum": "42150.0"
+ "cum": "42170.0"
}
},
{
- "tier": 6.0,
+ "tier": 7.0,
"symbol": "BB/USDT:USDT",
"currency": "USDT",
"minNotional": 1600000.0,
@@ -10625,46 +11466,63 @@
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
- "bracket": "6",
+ "bracket": "7",
"initialLeverage": "4",
"notionalCap": "2000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.125",
- "cum": "82150.0"
- }
- },
- {
- "tier": 7.0,
- "symbol": "BB/USDT:USDT",
- "currency": "USDT",
- "minNotional": 2000000.0,
- "maxNotional": 4000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
- "info": {
- "bracket": "7",
- "initialLeverage": "2",
- "notionalCap": "4000000",
- "notionalFloor": "2000000",
- "maintMarginRatio": "0.25",
- "cum": "332150.0"
+ "cum": "82170.0"
}
},
{
"tier": 8.0,
"symbol": "BB/USDT:USDT",
"currency": "USDT",
+ "minNotional": 2000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "2000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "165570.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "BB/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 3000000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "4000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "415470.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "BB/USDT:USDT",
+ "currency": "USDT",
"minNotional": 4000000.0,
"maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "8",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "8000000",
"notionalFloor": "4000000",
"maintMarginRatio": "0.5",
- "cum": "1332150.0"
+ "cum": "1415470.0"
}
}
],
@@ -11451,10 +12309,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -11468,10 +12326,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -11485,10 +12343,10 @@
"minNotional": 10000.0,
"maxNotional": 50000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "50000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -11502,10 +12360,10 @@
"minNotional": 50000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "100000",
"notionalFloor": "50000",
"maintMarginRatio": "0.025",
@@ -11519,10 +12377,10 @@
"minNotional": 100000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "500000",
"notionalFloor": "100000",
"maintMarginRatio": "0.05",
@@ -11536,10 +12394,10 @@
"minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.1",
@@ -11553,10 +12411,10 @@
"minNotional": 1000000.0,
"maxNotional": 1250000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "1250000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.125",
@@ -11606,10 +12464,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "25",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.02",
@@ -11623,10 +12481,10 @@
"minNotional": 5000.0,
"maxNotional": 25000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "20",
+ "initialLeverage": "10",
"notionalCap": "25000",
"notionalFloor": "5000",
"maintMarginRatio": "0.025",
@@ -11640,10 +12498,10 @@
"minNotional": 25000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "3",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "200000",
"notionalFloor": "25000",
"maintMarginRatio": "0.05",
@@ -11657,10 +12515,10 @@
"minNotional": 200000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "4",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "500000",
"notionalFloor": "200000",
"maintMarginRatio": "0.1",
@@ -11674,10 +12532,10 @@
"minNotional": 500000.0,
"maxNotional": 750000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "5",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "750000",
"notionalFloor": "500000",
"maintMarginRatio": "0.125",
@@ -11727,10 +12585,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -11744,10 +12602,10 @@
"minNotional": 10000.0,
"maxNotional": 30000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "30000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -11761,10 +12619,10 @@
"minNotional": 30000.0,
"maxNotional": 150000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "7",
"notionalCap": "150000",
"notionalFloor": "30000",
"maintMarginRatio": "0.02",
@@ -11778,10 +12636,10 @@
"minNotional": 150000.0,
"maxNotional": 300000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "300000",
"notionalFloor": "150000",
"maintMarginRatio": "0.025",
@@ -11795,10 +12653,10 @@
"minNotional": 300000.0,
"maxNotional": 1500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "1500000",
"notionalFloor": "300000",
"maintMarginRatio": "0.05",
@@ -11812,10 +12670,10 @@
"minNotional": 1500000.0,
"maxNotional": 3000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "3000000",
"notionalFloor": "1500000",
"maintMarginRatio": "0.1",
@@ -11829,10 +12687,10 @@
"minNotional": 3000000.0,
"maxNotional": 3500000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "3500000",
"notionalFloor": "3000000",
"maintMarginRatio": "0.125",
@@ -12035,15 +12893,15 @@
"symbol": "BLUR/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 5000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxNotional": 4000.0,
+ "maintenanceMarginRate": 0.01,
+ "maxLeverage": 25.0,
"info": {
"bracket": "1",
- "initialLeverage": "50",
- "notionalCap": "5000",
+ "initialLeverage": "25",
+ "notionalCap": "4000",
"notionalFloor": "0",
- "maintMarginRatio": "0.015",
+ "maintMarginRatio": "0.01",
"cum": "0.0"
}
},
@@ -12051,72 +12909,89 @@
"tier": 2.0,
"symbol": "BLUR/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000.0,
- "maxNotional": 25000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "minNotional": 4000.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 20.0,
"info": {
"bracket": "2",
- "initialLeverage": "25",
- "notionalCap": "25000",
- "notionalFloor": "5000",
- "maintMarginRatio": "0.02",
- "cum": "25.0"
+ "initialLeverage": "20",
+ "notionalCap": "5000",
+ "notionalFloor": "4000",
+ "maintMarginRatio": "0.015",
+ "cum": "20.0"
}
},
{
"tier": 3.0,
"symbol": "BLUR/USDT:USDT",
"currency": "USDT",
- "minNotional": 25000.0,
- "maxNotional": 100000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "minNotional": 5000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "20",
- "notionalCap": "100000",
- "notionalFloor": "25000",
- "maintMarginRatio": "0.025",
- "cum": "150.0"
+ "initialLeverage": "10",
+ "notionalCap": "25000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.02",
+ "cum": "45.0"
}
},
{
"tier": 4.0,
"symbol": "BLUR/USDT:USDT",
"currency": "USDT",
- "minNotional": 100000.0,
- "maxNotional": 600000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "minNotional": 25000.0,
+ "maxNotional": 100000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "600000",
- "notionalFloor": "100000",
- "maintMarginRatio": "0.05",
- "cum": "2650.0"
+ "initialLeverage": "7",
+ "notionalCap": "100000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.025",
+ "cum": "170.0"
}
},
{
"tier": 5.0,
"symbol": "BLUR/USDT:USDT",
"currency": "USDT",
+ "minNotional": 100000.0,
+ "maxNotional": 600000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 6.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "6",
+ "notionalCap": "600000",
+ "notionalFloor": "100000",
+ "maintMarginRatio": "0.05",
+ "cum": "2670.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "BLUR/USDT:USDT",
+ "currency": "USDT",
"minNotional": 600000.0,
"maxNotional": 1600000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
- "bracket": "5",
+ "bracket": "6",
"initialLeverage": "5",
"notionalCap": "1600000",
"notionalFloor": "600000",
"maintMarginRatio": "0.1",
- "cum": "32650.0"
+ "cum": "32670.0"
}
},
{
- "tier": 6.0,
+ "tier": 7.0,
"symbol": "BLUR/USDT:USDT",
"currency": "USDT",
"minNotional": 1600000.0,
@@ -12124,46 +12999,63 @@
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
- "bracket": "6",
+ "bracket": "7",
"initialLeverage": "4",
"notionalCap": "2000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.125",
- "cum": "72650.0"
- }
- },
- {
- "tier": 7.0,
- "symbol": "BLUR/USDT:USDT",
- "currency": "USDT",
- "minNotional": 2000000.0,
- "maxNotional": 6000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
- "info": {
- "bracket": "7",
- "initialLeverage": "2",
- "notionalCap": "6000000",
- "notionalFloor": "2000000",
- "maintMarginRatio": "0.25",
- "cum": "322650.0"
+ "cum": "72670.0"
}
},
{
"tier": 8.0,
"symbol": "BLUR/USDT:USDT",
"currency": "USDT",
+ "minNotional": 2000000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "4000000",
+ "notionalFloor": "2000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "156070.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "BLUR/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 4000000.0,
+ "maxNotional": 6000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "6000000",
+ "notionalFloor": "4000000",
+ "maintMarginRatio": "0.25",
+ "cum": "489270.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "BLUR/USDT:USDT",
+ "currency": "USDT",
"minNotional": 6000000.0,
"maxNotional": 10000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "8",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "10000000",
"notionalFloor": "6000000",
"maintMarginRatio": "0.5",
- "cum": "1822650.0"
+ "cum": "1989270.0"
}
}
],
@@ -12952,10 +13844,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 50.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "50",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -12969,10 +13861,10 @@
"minNotional": 5000.0,
"maxNotional": 50000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "50000",
"notionalFloor": "5000",
"maintMarginRatio": "0.02",
@@ -12986,10 +13878,10 @@
"minNotional": 50000.0,
"maxNotional": 600000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "3",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "600000",
"notionalFloor": "50000",
"maintMarginRatio": "0.025",
@@ -13003,10 +13895,10 @@
"minNotional": 600000.0,
"maxNotional": 1200000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "1200000",
"notionalFloor": "600000",
"maintMarginRatio": "0.05",
@@ -13020,10 +13912,10 @@
"minNotional": 1200000.0,
"maxNotional": 3000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "5",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "3000000",
"notionalFloor": "1200000",
"maintMarginRatio": "0.1",
@@ -13037,10 +13929,10 @@
"minNotional": 3000000.0,
"maxNotional": 4000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "6",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "4000000",
"notionalFloor": "3000000",
"maintMarginRatio": "0.125",
@@ -13088,13 +13980,13 @@
"symbol": "BOME/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 10000.0,
+ "maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
"maxLeverage": 75.0,
"info": {
"bracket": "1",
"initialLeverage": "75",
- "notionalCap": "10000",
+ "notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
"cum": "0.0"
@@ -13104,136 +13996,153 @@
"tier": 2.0,
"symbol": "BOME/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 60000.0,
+ "minNotional": 5000.0,
+ "maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
"maxLeverage": 50.0,
"info": {
"bracket": "2",
"initialLeverage": "50",
- "notionalCap": "60000",
- "notionalFloor": "10000",
+ "notionalCap": "10000",
+ "notionalFloor": "5000",
"maintMarginRatio": "0.015",
- "cum": "50.0"
+ "cum": "25.0"
}
},
{
"tier": 3.0,
"symbol": "BOME/USDT:USDT",
"currency": "USDT",
- "minNotional": 60000.0,
- "maxNotional": 300000.0,
+ "minNotional": 10000.0,
+ "maxNotional": 25000.0,
"maintenanceMarginRate": 0.02,
"maxLeverage": 25.0,
"info": {
"bracket": "3",
"initialLeverage": "25",
- "notionalCap": "300000",
- "notionalFloor": "60000",
+ "notionalCap": "25000",
+ "notionalFloor": "10000",
"maintMarginRatio": "0.02",
- "cum": "350.0"
+ "cum": "75.0"
}
},
{
"tier": 4.0,
"symbol": "BOME/USDT:USDT",
"currency": "USDT",
- "minNotional": 300000.0,
- "maxNotional": 600000.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
"maintenanceMarginRate": 0.025,
"maxLeverage": 20.0,
"info": {
"bracket": "4",
"initialLeverage": "20",
- "notionalCap": "600000",
- "notionalFloor": "300000",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
"maintMarginRatio": "0.025",
- "cum": "1850.0"
+ "cum": "200.0"
}
},
{
"tier": 5.0,
"symbol": "BOME/USDT:USDT",
"currency": "USDT",
- "minNotional": 600000.0,
- "maxNotional": 1000000.0,
+ "minNotional": 50000.0,
+ "maxNotional": 250000.0,
"maintenanceMarginRate": 0.05,
"maxLeverage": 10.0,
"info": {
"bracket": "5",
"initialLeverage": "10",
- "notionalCap": "1000000",
- "notionalFloor": "600000",
+ "notionalCap": "250000",
+ "notionalFloor": "50000",
"maintMarginRatio": "0.05",
- "cum": "16850.0"
+ "cum": "1450.0"
}
},
{
"tier": 6.0,
"symbol": "BOME/USDT:USDT",
"currency": "USDT",
- "minNotional": 1000000.0,
- "maxNotional": 1500000.0,
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "1500000",
- "notionalFloor": "1000000",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
"maintMarginRatio": "0.1",
- "cum": "66850.0"
+ "cum": "13950.0"
}
},
{
"tier": 7.0,
"symbol": "BOME/USDT:USDT",
"currency": "USDT",
- "minNotional": 1500000.0,
- "maxNotional": 2000000.0,
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "2000000",
- "notionalFloor": "1500000",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
"maintMarginRatio": "0.125",
- "cum": "104350.0"
+ "cum": "26450.0"
}
},
{
"tier": 8.0,
"symbol": "BOME/USDT:USDT",
"currency": "USDT",
- "minNotional": 2000000.0,
- "maxNotional": 2500000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "2500000",
- "notionalFloor": "2000000",
- "maintMarginRatio": "0.25",
- "cum": "354350.0"
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "68150.0"
}
},
{
"tier": 9.0,
"symbol": "BOME/USDT:USDT",
"currency": "USDT",
- "minNotional": 2500000.0,
- "maxNotional": 3000000.0,
+ "minNotional": 3000000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "318050.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "BOME/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000000.0,
+ "maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "3000000",
- "notionalFloor": "2500000",
+ "notionalCap": "8000000",
+ "notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "979350.0"
+ "cum": "1568050.0"
}
}
],
@@ -14003,15 +14912,15 @@
"symbol": "BSW/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 5000.0,
- "maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxNotional": 20000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 10.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
- "notionalCap": "5000",
+ "initialLeverage": "10",
+ "notionalCap": "20000",
"notionalFloor": "0",
- "maintMarginRatio": "0.01",
+ "maintMarginRatio": "0.02",
"cum": "0.0"
}
},
@@ -14019,89 +14928,55 @@
"tier": 2.0,
"symbol": "BSW/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000.0,
- "maxNotional": 10000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "minNotional": 20000.0,
+ "maxNotional": 40000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 7.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
- "notionalCap": "10000",
- "notionalFloor": "5000",
- "maintMarginRatio": "0.015",
- "cum": "25.0"
+ "initialLeverage": "7",
+ "notionalCap": "40000",
+ "notionalFloor": "20000",
+ "maintMarginRatio": "0.025",
+ "cum": "100.0"
}
},
{
"tier": 3.0,
"symbol": "BSW/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 20000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "minNotional": 40000.0,
+ "maxNotional": 200000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 6.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
- "notionalCap": "20000",
- "notionalFloor": "10000",
- "maintMarginRatio": "0.02",
- "cum": "75.0"
+ "initialLeverage": "6",
+ "notionalCap": "200000",
+ "notionalFloor": "40000",
+ "maintMarginRatio": "0.05",
+ "cum": "1100.0"
}
},
{
"tier": 4.0,
"symbol": "BSW/USDT:USDT",
"currency": "USDT",
- "minNotional": 20000.0,
- "maxNotional": 40000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
- "info": {
- "bracket": "4",
- "initialLeverage": "20",
- "notionalCap": "40000",
- "notionalFloor": "20000",
- "maintMarginRatio": "0.025",
- "cum": "175.0"
- }
- },
- {
- "tier": 5.0,
- "symbol": "BSW/USDT:USDT",
- "currency": "USDT",
- "minNotional": 40000.0,
- "maxNotional": 200000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
- "info": {
- "bracket": "5",
- "initialLeverage": "10",
- "notionalCap": "200000",
- "notionalFloor": "40000",
- "maintMarginRatio": "0.05",
- "cum": "1175.0"
- }
- },
- {
- "tier": 6.0,
- "symbol": "BSW/USDT:USDT",
- "currency": "USDT",
"minNotional": 200000.0,
"maxNotional": 400000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
- "bracket": "6",
+ "bracket": "4",
"initialLeverage": "5",
"notionalCap": "400000",
"notionalFloor": "200000",
"maintMarginRatio": "0.1",
- "cum": "11175.0"
+ "cum": "11100.0"
}
},
{
- "tier": 7.0,
+ "tier": 5.0,
"symbol": "BSW/USDT:USDT",
"currency": "USDT",
"minNotional": 400000.0,
@@ -14109,33 +14984,50 @@
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
- "bracket": "7",
+ "bracket": "5",
"initialLeverage": "4",
"notionalCap": "500000",
"notionalFloor": "400000",
"maintMarginRatio": "0.125",
- "cum": "21175.0"
+ "cum": "21100.0"
}
},
{
- "tier": 8.0,
+ "tier": 6.0,
"symbol": "BSW/USDT:USDT",
"currency": "USDT",
"minNotional": 500000.0,
+ "maxNotional": 750000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "3",
+ "notionalCap": "750000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.1667",
+ "cum": "41950.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "BSW/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 750000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.25,
"maxLeverage": 2.0,
"info": {
- "bracket": "8",
+ "bracket": "7",
"initialLeverage": "2",
"notionalCap": "1000000",
- "notionalFloor": "500000",
+ "notionalFloor": "750000",
"maintMarginRatio": "0.25",
- "cum": "83675.0"
+ "cum": "104425.0"
}
},
{
- "tier": 9.0,
+ "tier": 8.0,
"symbol": "BSW/USDT:USDT",
"currency": "USDT",
"minNotional": 1000000.0,
@@ -14143,12 +15035,12 @@
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "8",
"initialLeverage": "1",
"notionalCap": "2000000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.5",
- "cum": "333675.0"
+ "cum": "354425.0"
}
}
],
@@ -14530,144 +15422,6 @@
}
}
],
- "BTC/USDT:USDT-250328": [
- {
- "tier": 1.0,
- "symbol": "BTC/USDT:USDT-250328",
- "currency": "USDT",
- "minNotional": 0.0,
- "maxNotional": 50000.0,
- "maintenanceMarginRate": 0.01,
- "maxLeverage": 50.0,
- "info": {
- "bracket": "1",
- "initialLeverage": "50",
- "notionalCap": "50000",
- "notionalFloor": "0",
- "maintMarginRatio": "0.01",
- "cum": "0.0"
- }
- },
- {
- "tier": 2.0,
- "symbol": "BTC/USDT:USDT-250328",
- "currency": "USDT",
- "minNotional": 50000.0,
- "maxNotional": 375000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
- "info": {
- "bracket": "2",
- "initialLeverage": "25",
- "notionalCap": "375000",
- "notionalFloor": "50000",
- "maintMarginRatio": "0.02",
- "cum": "500.0"
- }
- },
- {
- "tier": 3.0,
- "symbol": "BTC/USDT:USDT-250328",
- "currency": "USDT",
- "minNotional": 375000.0,
- "maxNotional": 2000000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
- "info": {
- "bracket": "3",
- "initialLeverage": "10",
- "notionalCap": "2000000",
- "notionalFloor": "375000",
- "maintMarginRatio": "0.05",
- "cum": "11750.0"
- }
- },
- {
- "tier": 4.0,
- "symbol": "BTC/USDT:USDT-250328",
- "currency": "USDT",
- "minNotional": 2000000.0,
- "maxNotional": 4000000.0,
- "maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
- "info": {
- "bracket": "4",
- "initialLeverage": "5",
- "notionalCap": "4000000",
- "notionalFloor": "2000000",
- "maintMarginRatio": "0.1",
- "cum": "111750.0"
- }
- },
- {
- "tier": 5.0,
- "symbol": "BTC/USDT:USDT-250328",
- "currency": "USDT",
- "minNotional": 4000000.0,
- "maxNotional": 10000000.0,
- "maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
- "info": {
- "bracket": "5",
- "initialLeverage": "4",
- "notionalCap": "10000000",
- "notionalFloor": "4000000",
- "maintMarginRatio": "0.125",
- "cum": "211750.0"
- }
- },
- {
- "tier": 6.0,
- "symbol": "BTC/USDT:USDT-250328",
- "currency": "USDT",
- "minNotional": 10000000.0,
- "maxNotional": 20000000.0,
- "maintenanceMarginRate": 0.15,
- "maxLeverage": 3.0,
- "info": {
- "bracket": "6",
- "initialLeverage": "3",
- "notionalCap": "20000000",
- "notionalFloor": "10000000",
- "maintMarginRatio": "0.15",
- "cum": "461750.0"
- }
- },
- {
- "tier": 7.0,
- "symbol": "BTC/USDT:USDT-250328",
- "currency": "USDT",
- "minNotional": 20000000.0,
- "maxNotional": 40000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
- "info": {
- "bracket": "7",
- "initialLeverage": "2",
- "notionalCap": "40000000",
- "notionalFloor": "20000000",
- "maintMarginRatio": "0.25",
- "cum": "2461750.0"
- }
- },
- {
- "tier": 8.0,
- "symbol": "BTC/USDT:USDT-250328",
- "currency": "USDT",
- "minNotional": 40000000.0,
- "maxNotional": 120000000.0,
- "maintenanceMarginRate": 0.5,
- "maxLeverage": 1.0,
- "info": {
- "bracket": "8",
- "initialLeverage": "1",
- "notionalCap": "120000000",
- "notionalFloor": "40000000",
- "maintMarginRatio": "0.5",
- "cum": "12461750.0"
- }
- }
- ],
"BTC/USDT:USDT-250627": [
{
"tier": 1.0,
@@ -14806,6 +15560,144 @@
}
}
],
+ "BTC/USDT:USDT-250926": [
+ {
+ "tier": 1.0,
+ "symbol": "BTC/USDT:USDT-250926",
+ "currency": "USDT",
+ "minNotional": 0.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.01,
+ "maxLeverage": 50.0,
+ "info": {
+ "bracket": "1",
+ "initialLeverage": "50",
+ "notionalCap": "50000",
+ "notionalFloor": "0",
+ "maintMarginRatio": "0.01",
+ "cum": "0.0"
+ }
+ },
+ {
+ "tier": 2.0,
+ "symbol": "BTC/USDT:USDT-250926",
+ "currency": "USDT",
+ "minNotional": 50000.0,
+ "maxNotional": 375000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 25.0,
+ "info": {
+ "bracket": "2",
+ "initialLeverage": "25",
+ "notionalCap": "375000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.02",
+ "cum": "500.0"
+ }
+ },
+ {
+ "tier": 3.0,
+ "symbol": "BTC/USDT:USDT-250926",
+ "currency": "USDT",
+ "minNotional": 375000.0,
+ "maxNotional": 2000000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "10",
+ "notionalCap": "2000000",
+ "notionalFloor": "375000",
+ "maintMarginRatio": "0.05",
+ "cum": "11750.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "BTC/USDT:USDT-250926",
+ "currency": "USDT",
+ "minNotional": 2000000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "5",
+ "notionalCap": "4000000",
+ "notionalFloor": "2000000",
+ "maintMarginRatio": "0.1",
+ "cum": "111750.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "BTC/USDT:USDT-250926",
+ "currency": "USDT",
+ "minNotional": 4000000.0,
+ "maxNotional": 10000000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "4",
+ "notionalCap": "10000000",
+ "notionalFloor": "4000000",
+ "maintMarginRatio": "0.125",
+ "cum": "211750.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "BTC/USDT:USDT-250926",
+ "currency": "USDT",
+ "minNotional": 10000000.0,
+ "maxNotional": 20000000.0,
+ "maintenanceMarginRate": 0.15,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "3",
+ "notionalCap": "20000000",
+ "notionalFloor": "10000000",
+ "maintMarginRatio": "0.15",
+ "cum": "461750.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "BTC/USDT:USDT-250926",
+ "currency": "USDT",
+ "minNotional": 20000000.0,
+ "maxNotional": 40000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "2",
+ "notionalCap": "40000000",
+ "notionalFloor": "20000000",
+ "maintMarginRatio": "0.25",
+ "cum": "2461750.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "BTC/USDT:USDT-250926",
+ "currency": "USDT",
+ "minNotional": 40000000.0,
+ "maxNotional": 120000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "1",
+ "notionalCap": "120000000",
+ "notionalFloor": "40000000",
+ "maintMarginRatio": "0.5",
+ "cum": "12461750.0"
+ }
+ }
+ ],
"BTCDOM/USDT:USDT": [
{
"tier": 1.0,
@@ -15298,10 +16190,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -15315,10 +16207,10 @@
"minNotional": 10000.0,
"maxNotional": 30000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "30000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -15332,10 +16224,10 @@
"minNotional": 30000.0,
"maxNotional": 150000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "150000",
"notionalFloor": "30000",
"maintMarginRatio": "0.02",
@@ -15349,10 +16241,10 @@
"minNotional": 150000.0,
"maxNotional": 300000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "300000",
"notionalFloor": "150000",
"maintMarginRatio": "0.025",
@@ -15366,10 +16258,10 @@
"minNotional": 300000.0,
"maxNotional": 800000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "800000",
"notionalFloor": "300000",
"maintMarginRatio": "0.05",
@@ -15383,10 +16275,10 @@
"minNotional": 800000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1000000",
"notionalFloor": "800000",
"maintMarginRatio": "0.1",
@@ -15400,10 +16292,10 @@
"minNotional": 1000000.0,
"maxNotional": 1200000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "1200000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.125",
@@ -15453,10 +16345,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -15470,10 +16362,10 @@
"minNotional": 5000.0,
"maxNotional": 16000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "16000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -15487,10 +16379,10 @@
"minNotional": 16000.0,
"maxNotional": 80000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "80000",
"notionalFloor": "16000",
"maintMarginRatio": "0.02",
@@ -15504,10 +16396,10 @@
"minNotional": 80000.0,
"maxNotional": 160000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "160000",
"notionalFloor": "80000",
"maintMarginRatio": "0.025",
@@ -15521,10 +16413,10 @@
"minNotional": 160000.0,
"maxNotional": 800000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "800000",
"notionalFloor": "160000",
"maintMarginRatio": "0.05",
@@ -15538,10 +16430,10 @@
"minNotional": 800000.0,
"maxNotional": 1600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1600000",
"notionalFloor": "800000",
"maintMarginRatio": "0.1",
@@ -15555,10 +16447,10 @@
"minNotional": 1600000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "2000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.125",
@@ -15587,13 +16479,13 @@
"symbol": "CELO/USDT:USDT",
"currency": "USDT",
"minNotional": 4000000.0,
- "maxNotional": 8000000.0,
+ "maxNotional": 4500000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
"bracket": "9",
"initialLeverage": "1",
- "notionalCap": "8000000",
+ "notionalCap": "4500000",
"notionalFloor": "4000000",
"maintMarginRatio": "0.5",
"cum": "1334505.0"
@@ -15882,13 +16774,13 @@
"symbol": "CFX/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 10000.0,
+ "maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
"maxLeverage": 75.0,
"info": {
"bracket": "1",
"initialLeverage": "75",
- "notionalCap": "10000",
+ "notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
"cum": "0.0"
@@ -15898,136 +16790,153 @@
"tier": 2.0,
"symbol": "CFX/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 60000.0,
+ "minNotional": 5000.0,
+ "maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
"maxLeverage": 50.0,
"info": {
"bracket": "2",
"initialLeverage": "50",
- "notionalCap": "60000",
- "notionalFloor": "10000",
+ "notionalCap": "10000",
+ "notionalFloor": "5000",
"maintMarginRatio": "0.015",
- "cum": "50.0"
+ "cum": "25.0"
}
},
{
"tier": 3.0,
"symbol": "CFX/USDT:USDT",
"currency": "USDT",
- "minNotional": 60000.0,
- "maxNotional": 400000.0,
+ "minNotional": 10000.0,
+ "maxNotional": 25000.0,
"maintenanceMarginRate": 0.02,
"maxLeverage": 25.0,
"info": {
"bracket": "3",
"initialLeverage": "25",
- "notionalCap": "400000",
- "notionalFloor": "60000",
+ "notionalCap": "25000",
+ "notionalFloor": "10000",
"maintMarginRatio": "0.02",
- "cum": "350.0"
+ "cum": "75.0"
}
},
{
"tier": 4.0,
"symbol": "CFX/USDT:USDT",
"currency": "USDT",
- "minNotional": 400000.0,
- "maxNotional": 600000.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
"maintenanceMarginRate": 0.025,
"maxLeverage": 20.0,
"info": {
"bracket": "4",
"initialLeverage": "20",
- "notionalCap": "600000",
- "notionalFloor": "400000",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
"maintMarginRatio": "0.025",
- "cum": "2350.0"
+ "cum": "200.0"
}
},
{
"tier": 5.0,
"symbol": "CFX/USDT:USDT",
"currency": "USDT",
- "minNotional": 600000.0,
- "maxNotional": 2000000.0,
+ "minNotional": 50000.0,
+ "maxNotional": 250000.0,
"maintenanceMarginRate": 0.05,
"maxLeverage": 10.0,
"info": {
"bracket": "5",
"initialLeverage": "10",
- "notionalCap": "2000000",
- "notionalFloor": "600000",
+ "notionalCap": "250000",
+ "notionalFloor": "50000",
"maintMarginRatio": "0.05",
- "cum": "17350.0"
+ "cum": "1450.0"
}
},
{
"tier": 6.0,
"symbol": "CFX/USDT:USDT",
"currency": "USDT",
- "minNotional": 2000000.0,
- "maxNotional": 2500000.0,
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "2500000",
- "notionalFloor": "2000000",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
"maintMarginRatio": "0.1",
- "cum": "117350.0"
+ "cum": "13950.0"
}
},
{
"tier": 7.0,
"symbol": "CFX/USDT:USDT",
"currency": "USDT",
- "minNotional": 2500000.0,
- "maxNotional": 3000000.0,
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "3000000",
- "notionalFloor": "2500000",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
"maintMarginRatio": "0.125",
- "cum": "179850.0"
+ "cum": "26450.0"
}
},
{
"tier": 8.0,
"symbol": "CFX/USDT:USDT",
"currency": "USDT",
- "minNotional": 3000000.0,
- "maxNotional": 3500000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "3500000",
- "notionalFloor": "3000000",
- "maintMarginRatio": "0.25",
- "cum": "554850.0"
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "68150.0"
}
},
{
"tier": 9.0,
"symbol": "CFX/USDT:USDT",
"currency": "USDT",
- "minNotional": 3500000.0,
- "maxNotional": 4000000.0,
+ "minNotional": 3000000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "318050.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "CFX/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000000.0,
+ "maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "4000000",
- "notionalFloor": "3500000",
+ "notionalCap": "8000000",
+ "notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "1429850.0"
+ "cum": "1568050.0"
}
}
],
@@ -16194,10 +17103,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -16211,10 +17120,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -16226,13 +17135,13 @@
"symbol": "CHESS/USDT:USDT",
"currency": "USDT",
"minNotional": 10000.0,
- "maxNotional": 20000.0,
+ "maxNotional": 23000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
- "notionalCap": "20000",
+ "initialLeverage": "10",
+ "notionalCap": "23000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
"cum": "75.0"
@@ -16242,102 +17151,119 @@
"tier": 4.0,
"symbol": "CHESS/USDT:USDT",
"currency": "USDT",
- "minNotional": 20000.0,
- "maxNotional": 40000.0,
+ "minNotional": 23000.0,
+ "maxNotional": 46000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
- "notionalCap": "40000",
- "notionalFloor": "20000",
+ "initialLeverage": "7",
+ "notionalCap": "46000",
+ "notionalFloor": "23000",
"maintMarginRatio": "0.025",
- "cum": "175.0"
+ "cum": "190.0"
}
},
{
"tier": 5.0,
"symbol": "CHESS/USDT:USDT",
"currency": "USDT",
- "minNotional": 40000.0,
- "maxNotional": 200000.0,
+ "minNotional": 46000.0,
+ "maxNotional": 230000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
- "notionalCap": "200000",
- "notionalFloor": "40000",
+ "initialLeverage": "6",
+ "notionalCap": "230000",
+ "notionalFloor": "46000",
"maintMarginRatio": "0.05",
- "cum": "1175.0"
+ "cum": "1340.0"
}
},
{
"tier": 6.0,
"symbol": "CHESS/USDT:USDT",
"currency": "USDT",
- "minNotional": 200000.0,
- "maxNotional": 400000.0,
+ "minNotional": 230000.0,
+ "maxNotional": 460000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "400000",
- "notionalFloor": "200000",
+ "notionalCap": "460000",
+ "notionalFloor": "230000",
"maintMarginRatio": "0.1",
- "cum": "11175.0"
+ "cum": "12840.0"
}
},
{
"tier": 7.0,
"symbol": "CHESS/USDT:USDT",
"currency": "USDT",
- "minNotional": 400000.0,
- "maxNotional": 500000.0,
+ "minNotional": 460000.0,
+ "maxNotional": 800000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "500000",
- "notionalFloor": "400000",
+ "notionalCap": "800000",
+ "notionalFloor": "460000",
"maintMarginRatio": "0.125",
- "cum": "21175.0"
+ "cum": "24340.0"
}
},
{
"tier": 8.0,
"symbol": "CHESS/USDT:USDT",
"currency": "USDT",
- "minNotional": 500000.0,
- "maxNotional": 1000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 800000.0,
+ "maxNotional": 2100000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "1000000",
- "notionalFloor": "500000",
- "maintMarginRatio": "0.25",
- "cum": "83675.0"
+ "initialLeverage": "3",
+ "notionalCap": "2100000",
+ "notionalFloor": "800000",
+ "maintMarginRatio": "0.1667",
+ "cum": "57700.0"
}
},
{
"tier": 9.0,
"symbol": "CHESS/USDT:USDT",
"currency": "USDT",
- "minNotional": 1000000.0,
- "maxNotional": 2000000.0,
+ "minNotional": 2100000.0,
+ "maxNotional": 3400000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "3400000",
+ "notionalFloor": "2100000",
+ "maintMarginRatio": "0.25",
+ "cum": "232630.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "CHESS/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 3400000.0,
+ "maxNotional": 5600000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "2000000",
- "notionalFloor": "1000000",
+ "notionalCap": "5600000",
+ "notionalFloor": "3400000",
"maintMarginRatio": "0.5",
- "cum": "333675.0"
+ "cum": "1082630.0"
}
}
],
@@ -16504,10 +17430,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -16521,10 +17447,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -16536,13 +17462,13 @@
"symbol": "CHR/USDT:USDT",
"currency": "USDT",
"minNotional": 10000.0,
- "maxNotional": 50000.0,
+ "maxNotional": 35000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
- "notionalCap": "50000",
+ "initialLeverage": "10",
+ "notionalCap": "35000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
"cum": "75.0"
@@ -16552,102 +17478,119 @@
"tier": 4.0,
"symbol": "CHR/USDT:USDT",
"currency": "USDT",
- "minNotional": 50000.0,
- "maxNotional": 100000.0,
+ "minNotional": 35000.0,
+ "maxNotional": 70000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
- "notionalCap": "100000",
- "notionalFloor": "50000",
+ "initialLeverage": "7",
+ "notionalCap": "70000",
+ "notionalFloor": "35000",
"maintMarginRatio": "0.025",
- "cum": "325.0"
+ "cum": "250.0"
}
},
{
"tier": 5.0,
"symbol": "CHR/USDT:USDT",
"currency": "USDT",
- "minNotional": 100000.0,
- "maxNotional": 500000.0,
+ "minNotional": 70000.0,
+ "maxNotional": 350000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
- "notionalCap": "500000",
- "notionalFloor": "100000",
+ "initialLeverage": "6",
+ "notionalCap": "350000",
+ "notionalFloor": "70000",
"maintMarginRatio": "0.05",
- "cum": "2825.0"
+ "cum": "2000.0"
}
},
{
"tier": 6.0,
"symbol": "CHR/USDT:USDT",
"currency": "USDT",
- "minNotional": 500000.0,
- "maxNotional": 1000000.0,
+ "minNotional": 350000.0,
+ "maxNotional": 700000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "1000000",
- "notionalFloor": "500000",
+ "notionalCap": "700000",
+ "notionalFloor": "350000",
"maintMarginRatio": "0.1",
- "cum": "27825.0"
+ "cum": "19500.0"
}
},
{
"tier": 7.0,
"symbol": "CHR/USDT:USDT",
"currency": "USDT",
- "minNotional": 1000000.0,
- "maxNotional": 1250000.0,
+ "minNotional": 700000.0,
+ "maxNotional": 1100000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "1250000",
- "notionalFloor": "1000000",
+ "notionalCap": "1100000",
+ "notionalFloor": "700000",
"maintMarginRatio": "0.125",
- "cum": "52825.0"
+ "cum": "37000.0"
}
},
{
"tier": 8.0,
"symbol": "CHR/USDT:USDT",
"currency": "USDT",
- "minNotional": 1250000.0,
- "maxNotional": 2500000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 1100000.0,
+ "maxNotional": 2550000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "2500000",
- "notionalFloor": "1250000",
- "maintMarginRatio": "0.25",
- "cum": "209075.0"
+ "initialLeverage": "3",
+ "notionalCap": "2550000",
+ "notionalFloor": "1100000",
+ "maintMarginRatio": "0.1667",
+ "cum": "82870.0"
}
},
{
"tier": 9.0,
"symbol": "CHR/USDT:USDT",
"currency": "USDT",
- "minNotional": 2500000.0,
- "maxNotional": 5000000.0,
+ "minNotional": 2550000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "4000000",
+ "notionalFloor": "2550000",
+ "maintMarginRatio": "0.25",
+ "cum": "295285.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "CHR/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 4000000.0,
+ "maxNotional": 6800000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "5000000",
- "notionalFloor": "2500000",
+ "notionalCap": "6800000",
+ "notionalFloor": "4000000",
"maintMarginRatio": "0.5",
- "cum": "834075.0"
+ "cum": "1295285.0"
}
}
],
@@ -16814,10 +17757,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -16831,10 +17774,10 @@
"minNotional": 10000.0,
"maxNotional": 20000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "20000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -16848,10 +17791,10 @@
"minNotional": 20000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "8",
"notionalCap": "100000",
"notionalFloor": "20000",
"maintMarginRatio": "0.02",
@@ -16865,10 +17808,10 @@
"minNotional": 100000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "7",
"notionalCap": "200000",
"notionalFloor": "100000",
"maintMarginRatio": "0.025",
@@ -16882,10 +17825,10 @@
"minNotional": 200000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "6",
"notionalCap": "1000000",
"notionalFloor": "200000",
"maintMarginRatio": "0.05",
@@ -16931,33 +17874,50 @@
"symbol": "CKB/USDT:USDT",
"currency": "USDT",
"minNotional": 2500000.0,
- "maxNotional": 5000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "maxNotional": 3750000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "5000000",
+ "initialLeverage": "3",
+ "notionalCap": "3750000",
"notionalFloor": "2500000",
- "maintMarginRatio": "0.25",
- "cum": "418150.0"
+ "maintMarginRatio": "0.1667",
+ "cum": "209900.0"
}
},
{
"tier": 9.0,
"symbol": "CKB/USDT:USDT",
"currency": "USDT",
+ "minNotional": 3750000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3750000",
+ "maintMarginRatio": "0.25",
+ "cum": "522275.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "CKB/USDT:USDT",
+ "currency": "USDT",
"minNotional": 5000000.0,
"maxNotional": 10000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "10000000",
"notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "1668150.0"
+ "cum": "1772275.0"
}
}
],
@@ -17073,10 +18033,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -17090,10 +18050,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -17105,13 +18065,13 @@
"symbol": "COMP/USDT:USDT",
"currency": "USDT",
"minNotional": 10000.0,
- "maxNotional": 50000.0,
+ "maxNotional": 35000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
- "notionalCap": "50000",
+ "initialLeverage": "10",
+ "notionalCap": "35000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
"cum": "75.0"
@@ -17121,102 +18081,119 @@
"tier": 4.0,
"symbol": "COMP/USDT:USDT",
"currency": "USDT",
- "minNotional": 50000.0,
- "maxNotional": 100000.0,
+ "minNotional": 35000.0,
+ "maxNotional": 70000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
- "notionalCap": "100000",
- "notionalFloor": "50000",
+ "initialLeverage": "7",
+ "notionalCap": "70000",
+ "notionalFloor": "35000",
"maintMarginRatio": "0.025",
- "cum": "325.0"
+ "cum": "250.0"
}
},
{
"tier": 5.0,
"symbol": "COMP/USDT:USDT",
"currency": "USDT",
- "minNotional": 100000.0,
- "maxNotional": 500000.0,
+ "minNotional": 70000.0,
+ "maxNotional": 350000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
- "notionalCap": "500000",
- "notionalFloor": "100000",
+ "initialLeverage": "6",
+ "notionalCap": "350000",
+ "notionalFloor": "70000",
"maintMarginRatio": "0.05",
- "cum": "2825.0"
+ "cum": "2000.0"
}
},
{
"tier": 6.0,
"symbol": "COMP/USDT:USDT",
"currency": "USDT",
- "minNotional": 500000.0,
- "maxNotional": 1000000.0,
+ "minNotional": 350000.0,
+ "maxNotional": 700000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "1000000",
- "notionalFloor": "500000",
+ "notionalCap": "700000",
+ "notionalFloor": "350000",
"maintMarginRatio": "0.1",
- "cum": "27825.0"
+ "cum": "19500.0"
}
},
{
"tier": 7.0,
"symbol": "COMP/USDT:USDT",
"currency": "USDT",
- "minNotional": 1000000.0,
- "maxNotional": 1250000.0,
+ "minNotional": 700000.0,
+ "maxNotional": 1100000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "1250000",
- "notionalFloor": "1000000",
+ "notionalCap": "1100000",
+ "notionalFloor": "700000",
"maintMarginRatio": "0.125",
- "cum": "52825.0"
+ "cum": "37000.0"
}
},
{
"tier": 8.0,
"symbol": "COMP/USDT:USDT",
"currency": "USDT",
- "minNotional": 1250000.0,
- "maxNotional": 2500000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 1100000.0,
+ "maxNotional": 2550000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "2500000",
- "notionalFloor": "1250000",
- "maintMarginRatio": "0.25",
- "cum": "209075.0"
+ "initialLeverage": "3",
+ "notionalCap": "2550000",
+ "notionalFloor": "1100000",
+ "maintMarginRatio": "0.1667",
+ "cum": "82870.0"
}
},
{
"tier": 9.0,
"symbol": "COMP/USDT:USDT",
"currency": "USDT",
- "minNotional": 2500000.0,
- "maxNotional": 5000000.0,
+ "minNotional": 2550000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "4000000",
+ "notionalFloor": "2550000",
+ "maintMarginRatio": "0.25",
+ "cum": "295285.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "COMP/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 4000000.0,
+ "maxNotional": 6800000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "5000000",
- "notionalFloor": "2500000",
+ "notionalCap": "6800000",
+ "notionalFloor": "4000000",
"maintMarginRatio": "0.5",
- "cum": "834075.0"
+ "cum": "1295285.0"
}
}
],
@@ -17383,10 +18360,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -17400,10 +18377,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -17417,10 +18394,10 @@
"minNotional": 10000.0,
"maxNotional": 20000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "20000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -17434,10 +18411,10 @@
"minNotional": 20000.0,
"maxNotional": 40000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "40000",
"notionalFloor": "20000",
"maintMarginRatio": "0.025",
@@ -17451,10 +18428,10 @@
"minNotional": 40000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "200000",
"notionalFloor": "40000",
"maintMarginRatio": "0.05",
@@ -17468,10 +18445,10 @@
"minNotional": 200000.0,
"maxNotional": 400000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "400000",
"notionalFloor": "200000",
"maintMarginRatio": "0.1",
@@ -17485,10 +18462,10 @@
"minNotional": 400000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "500000",
"notionalFloor": "400000",
"maintMarginRatio": "0.125",
@@ -17676,10 +18653,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -17693,10 +18670,10 @@
"minNotional": 5000.0,
"maxNotional": 16000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "16000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -17710,10 +18687,10 @@
"minNotional": 16000.0,
"maxNotional": 80000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "7",
"notionalCap": "80000",
"notionalFloor": "16000",
"maintMarginRatio": "0.02",
@@ -17727,10 +18704,10 @@
"minNotional": 80000.0,
"maxNotional": 160000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "160000",
"notionalFloor": "80000",
"maintMarginRatio": "0.025",
@@ -17744,10 +18721,10 @@
"minNotional": 160000.0,
"maxNotional": 800000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "800000",
"notionalFloor": "160000",
"maintMarginRatio": "0.05",
@@ -17761,10 +18738,10 @@
"minNotional": 800000.0,
"maxNotional": 1600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1600000",
"notionalFloor": "800000",
"maintMarginRatio": "0.1",
@@ -17778,10 +18755,10 @@
"minNotional": 1600000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "2000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.125",
@@ -18123,110 +19100,6 @@
"currency": "USDT",
"minNotional": 0.0,
"maxNotional": 5000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 11.0,
- "info": {
- "bracket": "1",
- "initialLeverage": "11",
- "notionalCap": "5000",
- "notionalFloor": "0",
- "maintMarginRatio": "0.02",
- "cum": "0.0"
- }
- },
- {
- "tier": 2.0,
- "symbol": "CTK/USDT:USDT",
- "currency": "USDT",
- "minNotional": 5000.0,
- "maxNotional": 25000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 10.0,
- "info": {
- "bracket": "2",
- "initialLeverage": "10",
- "notionalCap": "25000",
- "notionalFloor": "5000",
- "maintMarginRatio": "0.025",
- "cum": "25.0"
- }
- },
- {
- "tier": 3.0,
- "symbol": "CTK/USDT:USDT",
- "currency": "USDT",
- "minNotional": 25000.0,
- "maxNotional": 100000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 8.0,
- "info": {
- "bracket": "3",
- "initialLeverage": "8",
- "notionalCap": "100000",
- "notionalFloor": "25000",
- "maintMarginRatio": "0.05",
- "cum": "650.0"
- }
- },
- {
- "tier": 4.0,
- "symbol": "CTK/USDT:USDT",
- "currency": "USDT",
- "minNotional": 100000.0,
- "maxNotional": 250000.0,
- "maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
- "info": {
- "bracket": "4",
- "initialLeverage": "5",
- "notionalCap": "250000",
- "notionalFloor": "100000",
- "maintMarginRatio": "0.1",
- "cum": "5650.0"
- }
- },
- {
- "tier": 5.0,
- "symbol": "CTK/USDT:USDT",
- "currency": "USDT",
- "minNotional": 250000.0,
- "maxNotional": 1000000.0,
- "maintenanceMarginRate": 0.125,
- "maxLeverage": 2.0,
- "info": {
- "bracket": "5",
- "initialLeverage": "2",
- "notionalCap": "1000000",
- "notionalFloor": "250000",
- "maintMarginRatio": "0.125",
- "cum": "11900.0"
- }
- },
- {
- "tier": 6.0,
- "symbol": "CTK/USDT:USDT",
- "currency": "USDT",
- "minNotional": 1000000.0,
- "maxNotional": 1500000.0,
- "maintenanceMarginRate": 0.5,
- "maxLeverage": 1.0,
- "info": {
- "bracket": "6",
- "initialLeverage": "1",
- "notionalCap": "1500000",
- "notionalFloor": "1000000",
- "maintMarginRatio": "0.5",
- "cum": "386900.0"
- }
- }
- ],
- "CTSI/USDT:USDT": [
- {
- "tier": 1.0,
- "symbol": "CTSI/USDT:USDT",
- "currency": "USDT",
- "minNotional": 0.0,
- "maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
"maxLeverage": 75.0,
"info": {
@@ -18240,7 +19113,7 @@
},
{
"tier": 2.0,
- "symbol": "CTSI/USDT:USDT",
+ "symbol": "CTK/USDT:USDT",
"currency": "USDT",
"minNotional": 5000.0,
"maxNotional": 10000.0,
@@ -18257,15 +19130,187 @@
},
{
"tier": 3.0,
- "symbol": "CTSI/USDT:USDT",
+ "symbol": "CTK/USDT:USDT",
"currency": "USDT",
"minNotional": 10000.0,
- "maxNotional": 50000.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": "CTK/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": "CTK/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": "CTK/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": "CTK/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": "CTK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 500000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "1500000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.1667",
+ "cum": "34800.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "CTK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 2500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "2500000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.25",
+ "cum": "159750.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "CTK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 2500000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "10",
+ "initialLeverage": "1",
+ "notionalCap": "4000000",
+ "notionalFloor": "2500000",
+ "maintMarginRatio": "0.5",
+ "cum": "784750.0"
+ }
+ }
+ ],
+ "CTSI/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "CTSI/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 0.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.01,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "1",
+ "initialLeverage": "20",
+ "notionalCap": "5000",
+ "notionalFloor": "0",
+ "maintMarginRatio": "0.01",
+ "cum": "0.0"
+ }
+ },
+ {
+ "tier": 2.0,
+ "symbol": "CTSI/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000.0,
+ "maxNotional": 10000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 15.0,
+ "info": {
+ "bracket": "2",
+ "initialLeverage": "15",
+ "notionalCap": "10000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.015",
+ "cum": "25.0"
+ }
+ },
+ {
+ "tier": 3.0,
+ "symbol": "CTSI/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 10000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "10",
"notionalCap": "50000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -18279,10 +19324,10 @@
"minNotional": 50000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "100000",
"notionalFloor": "50000",
"maintMarginRatio": "0.025",
@@ -18296,10 +19341,10 @@
"minNotional": 100000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "500000",
"notionalFloor": "100000",
"maintMarginRatio": "0.05",
@@ -18313,10 +19358,10 @@
"minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.1",
@@ -18330,10 +19375,10 @@
"minNotional": 1000000.0,
"maxNotional": 1250000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "1250000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.125",
@@ -18988,10 +20033,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -19005,10 +20050,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -19020,13 +20065,13 @@
"symbol": "DASH/USDT:USDT",
"currency": "USDT",
"minNotional": 10000.0,
- "maxNotional": 50000.0,
+ "maxNotional": 35000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
- "notionalCap": "50000",
+ "initialLeverage": "10",
+ "notionalCap": "35000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
"cum": "75.0"
@@ -19036,75 +20081,247 @@
"tier": 4.0,
"symbol": "DASH/USDT:USDT",
"currency": "USDT",
- "minNotional": 50000.0,
- "maxNotional": 100000.0,
+ "minNotional": 35000.0,
+ "maxNotional": 70000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
- "notionalCap": "100000",
- "notionalFloor": "50000",
+ "initialLeverage": "7",
+ "notionalCap": "70000",
+ "notionalFloor": "35000",
"maintMarginRatio": "0.025",
- "cum": "325.0"
+ "cum": "250.0"
}
},
{
"tier": 5.0,
"symbol": "DASH/USDT:USDT",
"currency": "USDT",
- "minNotional": 100000.0,
- "maxNotional": 500000.0,
+ "minNotional": 70000.0,
+ "maxNotional": 350000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
- "notionalCap": "500000",
- "notionalFloor": "100000",
+ "initialLeverage": "6",
+ "notionalCap": "350000",
+ "notionalFloor": "70000",
"maintMarginRatio": "0.05",
- "cum": "2825.0"
+ "cum": "2000.0"
}
},
{
"tier": 6.0,
"symbol": "DASH/USDT:USDT",
"currency": "USDT",
- "minNotional": 500000.0,
- "maxNotional": 1000000.0,
+ "minNotional": 350000.0,
+ "maxNotional": 700000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "1000000",
- "notionalFloor": "500000",
+ "notionalCap": "700000",
+ "notionalFloor": "350000",
"maintMarginRatio": "0.1",
- "cum": "27825.0"
+ "cum": "19500.0"
}
},
{
"tier": 7.0,
"symbol": "DASH/USDT:USDT",
"currency": "USDT",
- "minNotional": 1000000.0,
- "maxNotional": 1250000.0,
+ "minNotional": 700000.0,
+ "maxNotional": 1100000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "1250000",
- "notionalFloor": "1000000",
+ "notionalCap": "1100000",
+ "notionalFloor": "700000",
"maintMarginRatio": "0.125",
- "cum": "52825.0"
+ "cum": "37000.0"
}
},
{
"tier": 8.0,
"symbol": "DASH/USDT:USDT",
"currency": "USDT",
- "minNotional": 1250000.0,
+ "minNotional": 1100000.0,
+ "maxNotional": 2550000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "2550000",
+ "notionalFloor": "1100000",
+ "maintMarginRatio": "0.1667",
+ "cum": "82870.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "DASH/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 2550000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "4000000",
+ "notionalFloor": "2550000",
+ "maintMarginRatio": "0.25",
+ "cum": "295285.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "DASH/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 4000000.0,
+ "maxNotional": 6800000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "10",
+ "initialLeverage": "1",
+ "notionalCap": "6800000",
+ "notionalFloor": "4000000",
+ "maintMarginRatio": "0.5",
+ "cum": "1295285.0"
+ }
+ }
+ ],
+ "DEEP/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "DEEP/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": "DEEP/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": "DEEP/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 10000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "20",
+ "notionalCap": "50000",
+ "notionalFloor": "10000",
+ "maintMarginRatio": "0.025",
+ "cum": "75.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "DEEP/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 50000.0,
+ "maxNotional": 125000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "10",
+ "notionalCap": "125000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1325.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "DEEP/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 125000.0,
+ "maxNotional": 250000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "5",
+ "notionalCap": "250000",
+ "notionalFloor": "125000",
+ "maintMarginRatio": "0.1",
+ "cum": "7575.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "DEEP/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": "DEEP/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 500000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "3",
+ "notionalCap": "1500000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.1667",
+ "cum": "34675.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "DEEP/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
"maxNotional": 2500000.0,
"maintenanceMarginRate": 0.25,
"maxLeverage": 2.0,
@@ -19112,26 +20329,26 @@
"bracket": "8",
"initialLeverage": "2",
"notionalCap": "2500000",
- "notionalFloor": "1250000",
+ "notionalFloor": "1500000",
"maintMarginRatio": "0.25",
- "cum": "209075.0"
+ "cum": "159625.0"
}
},
{
"tier": 9.0,
- "symbol": "DASH/USDT:USDT",
+ "symbol": "DEEP/USDT:USDT",
"currency": "USDT",
"minNotional": 2500000.0,
- "maxNotional": 5000000.0,
+ "maxNotional": 4000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
"bracket": "9",
"initialLeverage": "1",
- "notionalCap": "5000000",
+ "notionalCap": "4000000",
"notionalFloor": "2500000",
"maintMarginRatio": "0.5",
- "cum": "834075.0"
+ "cum": "784625.0"
}
}
],
@@ -19678,10 +20895,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -19695,10 +20912,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -19712,10 +20929,10 @@
"minNotional": 10000.0,
"maxNotional": 30000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 12.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "12",
"notionalCap": "30000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -19729,10 +20946,10 @@
"minNotional": 30000.0,
"maxNotional": 60000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "10",
"notionalCap": "60000",
"notionalFloor": "30000",
"maintMarginRatio": "0.025",
@@ -19746,10 +20963,10 @@
"minNotional": 60000.0,
"maxNotional": 300000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "8",
"notionalCap": "300000",
"notionalFloor": "60000",
"maintMarginRatio": "0.05",
@@ -19812,13 +21029,13 @@
"symbol": "DEXE/USDT:USDT",
"currency": "USDT",
"minNotional": 1500000.0,
- "maxNotional": 3000000.0,
+ "maxNotional": 2000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
"bracket": "9",
"initialLeverage": "1",
- "notionalCap": "3000000",
+ "notionalCap": "2000000",
"notionalFloor": "1500000",
"maintMarginRatio": "0.5",
"cum": "500475.0"
@@ -20092,10 +21309,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -20109,10 +21326,10 @@
"minNotional": 10000.0,
"maxNotional": 20000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "20000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -20126,10 +21343,10 @@
"minNotional": 20000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "100000",
"notionalFloor": "20000",
"maintMarginRatio": "0.02",
@@ -20143,10 +21360,10 @@
"minNotional": 100000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "7",
"notionalCap": "200000",
"notionalFloor": "100000",
"maintMarginRatio": "0.025",
@@ -20160,10 +21377,10 @@
"minNotional": 200000.0,
"maxNotional": 300000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "6",
"notionalCap": "300000",
"notionalFloor": "200000",
"maintMarginRatio": "0.05",
@@ -20209,33 +21426,50 @@
"symbol": "DIA/USDT:USDT",
"currency": "USDT",
"minNotional": 600000.0,
- "maxNotional": 700000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "maxNotional": 650000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "700000",
+ "initialLeverage": "3",
+ "notionalCap": "650000",
"notionalFloor": "600000",
- "maintMarginRatio": "0.25",
- "cum": "108150.0"
+ "maintMarginRatio": "0.1667",
+ "cum": "58170.0"
}
},
{
"tier": 9.0,
"symbol": "DIA/USDT:USDT",
"currency": "USDT",
+ "minNotional": 650000.0,
+ "maxNotional": 700000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "700000",
+ "notionalFloor": "650000",
+ "maintMarginRatio": "0.25",
+ "cum": "112315.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "DIA/USDT:USDT",
+ "currency": "USDT",
"minNotional": 700000.0,
"maxNotional": 800000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "800000",
"notionalFloor": "700000",
"maintMarginRatio": "0.5",
- "cum": "283150.0"
+ "cum": "287315.0"
}
}
],
@@ -20710,13 +21944,13 @@
"symbol": "DOGS/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 10000.0,
+ "maxNotional": 7000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
- "notionalCap": "10000",
+ "initialLeverage": "20",
+ "notionalCap": "7000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
"cum": "0.0"
@@ -20726,136 +21960,308 @@
"tier": 2.0,
"symbol": "DOGS/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 60000.0,
+ "minNotional": 7000.0,
+ "maxNotional": 30000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
- "notionalCap": "60000",
- "notionalFloor": "10000",
+ "initialLeverage": "10",
+ "notionalCap": "30000",
+ "notionalFloor": "7000",
"maintMarginRatio": "0.015",
- "cum": "50.0"
+ "cum": "35.0"
}
},
{
"tier": 3.0,
"symbol": "DOGS/USDT:USDT",
"currency": "USDT",
- "minNotional": 60000.0,
- "maxNotional": 300000.0,
+ "minNotional": 30000.0,
+ "maxNotional": 135000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
- "notionalCap": "300000",
- "notionalFloor": "60000",
+ "initialLeverage": "8",
+ "notionalCap": "135000",
+ "notionalFloor": "30000",
"maintMarginRatio": "0.02",
- "cum": "350.0"
+ "cum": "185.0"
}
},
{
"tier": 4.0,
"symbol": "DOGS/USDT:USDT",
"currency": "USDT",
- "minNotional": 300000.0,
- "maxNotional": 600000.0,
+ "minNotional": 135000.0,
+ "maxNotional": 270000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
- "notionalCap": "600000",
- "notionalFloor": "300000",
+ "initialLeverage": "7",
+ "notionalCap": "270000",
+ "notionalFloor": "135000",
"maintMarginRatio": "0.025",
- "cum": "1850.0"
+ "cum": "860.0"
}
},
{
"tier": 5.0,
"symbol": "DOGS/USDT:USDT",
"currency": "USDT",
- "minNotional": 600000.0,
- "maxNotional": 1500000.0,
+ "minNotional": 270000.0,
+ "maxNotional": 750000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
- "notionalCap": "1500000",
- "notionalFloor": "600000",
+ "initialLeverage": "6",
+ "notionalCap": "750000",
+ "notionalFloor": "270000",
"maintMarginRatio": "0.05",
- "cum": "16850.0"
+ "cum": "7610.0"
}
},
{
"tier": 6.0,
"symbol": "DOGS/USDT:USDT",
"currency": "USDT",
- "minNotional": 1500000.0,
- "maxNotional": 2000000.0,
+ "minNotional": 750000.0,
+ "maxNotional": 1100000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "2000000",
- "notionalFloor": "1500000",
+ "notionalCap": "1100000",
+ "notionalFloor": "750000",
"maintMarginRatio": "0.1",
- "cum": "91850.0"
+ "cum": "45110.0"
}
},
{
"tier": 7.0,
"symbol": "DOGS/USDT:USDT",
"currency": "USDT",
- "minNotional": 2000000.0,
- "maxNotional": 2500000.0,
+ "minNotional": 1100000.0,
+ "maxNotional": 1600000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "2500000",
- "notionalFloor": "2000000",
+ "notionalCap": "1600000",
+ "notionalFloor": "1100000",
"maintMarginRatio": "0.125",
- "cum": "141850.0"
+ "cum": "72610.0"
}
},
{
"tier": 8.0,
"symbol": "DOGS/USDT:USDT",
"currency": "USDT",
- "minNotional": 2500000.0,
- "maxNotional": 3000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 1600000.0,
+ "maxNotional": 2900000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "3000000",
- "notionalFloor": "2500000",
- "maintMarginRatio": "0.25",
- "cum": "454350.0"
+ "initialLeverage": "3",
+ "notionalCap": "2900000",
+ "notionalFloor": "1600000",
+ "maintMarginRatio": "0.1667",
+ "cum": "139330.0"
}
},
{
"tier": 9.0,
"symbol": "DOGS/USDT:USDT",
"currency": "USDT",
- "minNotional": 3000000.0,
- "maxNotional": 3500000.0,
+ "minNotional": 2900000.0,
+ "maxNotional": 4200000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "4200000",
+ "notionalFloor": "2900000",
+ "maintMarginRatio": "0.25",
+ "cum": "380900.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "DOGS/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 4200000.0,
+ "maxNotional": 6200000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "10",
+ "initialLeverage": "1",
+ "notionalCap": "6200000",
+ "notionalFloor": "4200000",
+ "maintMarginRatio": "0.5",
+ "cum": "1430900.0"
+ }
+ }
+ ],
+ "DOLO/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "DOLO/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": "DOLO/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": "DOLO/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 10000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "20",
+ "notionalCap": "50000",
+ "notionalFloor": "10000",
+ "maintMarginRatio": "0.025",
+ "cum": "75.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "DOLO/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 50000.0,
+ "maxNotional": 125000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "10",
+ "notionalCap": "125000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1325.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "DOLO/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 125000.0,
+ "maxNotional": 250000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "5",
+ "notionalCap": "250000",
+ "notionalFloor": "125000",
+ "maintMarginRatio": "0.1",
+ "cum": "7575.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "DOLO/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": "DOLO/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 500000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "3",
+ "notionalCap": "1500000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.1667",
+ "cum": "34675.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "DOLO/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 2500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "2",
+ "notionalCap": "2500000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.25",
+ "cum": "159625.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "DOLO/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 2500000.0,
+ "maxNotional": 4000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
"bracket": "9",
"initialLeverage": "1",
- "notionalCap": "3500000",
- "notionalFloor": "3000000",
+ "notionalCap": "4000000",
+ "notionalFloor": "2500000",
"maintMarginRatio": "0.5",
- "cum": "1204350.0"
+ "cum": "784625.0"
}
}
],
@@ -21039,10 +22445,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -21056,10 +22462,10 @@
"minNotional": 10000.0,
"maxNotional": 20000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "20000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -21073,10 +22479,10 @@
"minNotional": 20000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "8",
"notionalCap": "100000",
"notionalFloor": "20000",
"maintMarginRatio": "0.02",
@@ -21090,10 +22496,10 @@
"minNotional": 100000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "7",
"notionalCap": "200000",
"notionalFloor": "100000",
"maintMarginRatio": "0.025",
@@ -21107,10 +22513,10 @@
"minNotional": 200000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "6",
"notionalCap": "1000000",
"notionalFloor": "200000",
"maintMarginRatio": "0.05",
@@ -21156,33 +22562,50 @@
"symbol": "DRIFT/USDT:USDT",
"currency": "USDT",
"minNotional": 2500000.0,
- "maxNotional": 5000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "maxNotional": 3750000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "5000000",
+ "initialLeverage": "3",
+ "notionalCap": "3750000",
"notionalFloor": "2500000",
- "maintMarginRatio": "0.25",
- "cum": "418150.0"
+ "maintMarginRatio": "0.1667",
+ "cum": "209900.0"
}
},
{
"tier": 9.0,
"symbol": "DRIFT/USDT:USDT",
"currency": "USDT",
+ "minNotional": 3750000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3750000",
+ "maintMarginRatio": "0.25",
+ "cum": "522275.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "DRIFT/USDT:USDT",
+ "currency": "USDT",
"minNotional": 5000000.0,
"maxNotional": 10000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "10000000",
"notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "1668150.0"
+ "cum": "1772275.0"
}
}
],
@@ -21194,10 +22617,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -21211,10 +22634,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -21228,10 +22651,10 @@
"minNotional": 10000.0,
"maxNotional": 50000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "50000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -21245,10 +22668,10 @@
"minNotional": 50000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "100000",
"notionalFloor": "50000",
"maintMarginRatio": "0.025",
@@ -21262,10 +22685,10 @@
"minNotional": 100000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "500000",
"notionalFloor": "100000",
"maintMarginRatio": "0.05",
@@ -21279,10 +22702,10 @@
"minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.1",
@@ -21296,10 +22719,10 @@
"minNotional": 1000000.0,
"maxNotional": 1250000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "1250000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.125",
@@ -21502,15 +22925,15 @@
"symbol": "DYM/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 5000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxNotional": 4000.0,
+ "maintenanceMarginRate": 0.01,
+ "maxLeverage": 25.0,
"info": {
"bracket": "1",
- "initialLeverage": "50",
- "notionalCap": "5000",
+ "initialLeverage": "25",
+ "notionalCap": "4000",
"notionalFloor": "0",
- "maintMarginRatio": "0.015",
+ "maintMarginRatio": "0.01",
"cum": "0.0"
}
},
@@ -21518,72 +22941,89 @@
"tier": 2.0,
"symbol": "DYM/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000.0,
- "maxNotional": 25000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "minNotional": 4000.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 20.0,
"info": {
"bracket": "2",
- "initialLeverage": "25",
- "notionalCap": "25000",
- "notionalFloor": "5000",
- "maintMarginRatio": "0.02",
- "cum": "25.0"
+ "initialLeverage": "20",
+ "notionalCap": "5000",
+ "notionalFloor": "4000",
+ "maintMarginRatio": "0.015",
+ "cum": "20.0"
}
},
{
"tier": 3.0,
"symbol": "DYM/USDT:USDT",
"currency": "USDT",
- "minNotional": 25000.0,
- "maxNotional": 80000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "minNotional": 5000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "20",
- "notionalCap": "80000",
- "notionalFloor": "25000",
- "maintMarginRatio": "0.025",
- "cum": "150.0"
+ "initialLeverage": "10",
+ "notionalCap": "25000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.02",
+ "cum": "45.0"
}
},
{
"tier": 4.0,
"symbol": "DYM/USDT:USDT",
"currency": "USDT",
- "minNotional": 80000.0,
- "maxNotional": 800000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "minNotional": 25000.0,
+ "maxNotional": 80000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "800000",
- "notionalFloor": "80000",
- "maintMarginRatio": "0.05",
- "cum": "2150.0"
+ "initialLeverage": "7",
+ "notionalCap": "80000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.025",
+ "cum": "170.0"
}
},
{
"tier": 5.0,
"symbol": "DYM/USDT:USDT",
"currency": "USDT",
+ "minNotional": 80000.0,
+ "maxNotional": 800000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 6.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "6",
+ "notionalCap": "800000",
+ "notionalFloor": "80000",
+ "maintMarginRatio": "0.05",
+ "cum": "2170.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "DYM/USDT:USDT",
+ "currency": "USDT",
"minNotional": 800000.0,
"maxNotional": 1600000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
- "bracket": "5",
+ "bracket": "6",
"initialLeverage": "5",
"notionalCap": "1600000",
"notionalFloor": "800000",
"maintMarginRatio": "0.1",
- "cum": "42150.0"
+ "cum": "42170.0"
}
},
{
- "tier": 6.0,
+ "tier": 7.0,
"symbol": "DYM/USDT:USDT",
"currency": "USDT",
"minNotional": 1600000.0,
@@ -21591,46 +23031,63 @@
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
- "bracket": "6",
+ "bracket": "7",
"initialLeverage": "4",
"notionalCap": "2000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.125",
- "cum": "82150.0"
- }
- },
- {
- "tier": 7.0,
- "symbol": "DYM/USDT:USDT",
- "currency": "USDT",
- "minNotional": 2000000.0,
- "maxNotional": 4000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
- "info": {
- "bracket": "7",
- "initialLeverage": "2",
- "notionalCap": "4000000",
- "notionalFloor": "2000000",
- "maintMarginRatio": "0.25",
- "cum": "332150.0"
+ "cum": "82170.0"
}
},
{
"tier": 8.0,
"symbol": "DYM/USDT:USDT",
"currency": "USDT",
+ "minNotional": 2000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "2000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "165570.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "DYM/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 3000000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "4000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "415470.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "DYM/USDT:USDT",
+ "currency": "USDT",
"minNotional": 4000000.0,
"maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "8",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "8000000",
"notionalFloor": "4000000",
"maintMarginRatio": "0.5",
- "cum": "1332150.0"
+ "cum": "1415470.0"
}
}
],
@@ -21763,10 +23220,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -21780,10 +23237,10 @@
"minNotional": 10000.0,
"maxNotional": 20000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "20000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -21797,10 +23254,10 @@
"minNotional": 20000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "8",
"notionalCap": "100000",
"notionalFloor": "20000",
"maintMarginRatio": "0.02",
@@ -21814,10 +23271,10 @@
"minNotional": 100000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "7",
"notionalCap": "200000",
"notionalFloor": "100000",
"maintMarginRatio": "0.025",
@@ -21831,10 +23288,10 @@
"minNotional": 200000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "6",
"notionalCap": "1000000",
"notionalFloor": "200000",
"maintMarginRatio": "0.05",
@@ -21880,33 +23337,50 @@
"symbol": "EGLD/USDT:USDT",
"currency": "USDT",
"minNotional": 2500000.0,
- "maxNotional": 6000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "maxNotional": 3750000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "6000000",
+ "initialLeverage": "3",
+ "notionalCap": "3750000",
"notionalFloor": "2500000",
- "maintMarginRatio": "0.25",
- "cum": "418150.0"
+ "maintMarginRatio": "0.1667",
+ "cum": "209900.0"
}
},
{
"tier": 9.0,
"symbol": "EGLD/USDT:USDT",
"currency": "USDT",
- "minNotional": 6000000.0,
+ "minNotional": 3750000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3750000",
+ "maintMarginRatio": "0.25",
+ "cum": "522275.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "EGLD/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000000.0,
"maxNotional": 10000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "10000000",
- "notionalFloor": "6000000",
+ "notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "1918150.0"
+ "cum": "1772275.0"
}
}
],
@@ -21916,13 +23390,13 @@
"symbol": "EIGEN/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 10000.0,
+ "maxNotional": 7000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
- "notionalCap": "10000",
+ "initialLeverage": "20",
+ "notionalCap": "7000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
"cum": "0.0"
@@ -21932,136 +23406,153 @@
"tier": 2.0,
"symbol": "EIGEN/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 60000.0,
+ "minNotional": 7000.0,
+ "maxNotional": 30000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
- "notionalCap": "60000",
- "notionalFloor": "10000",
+ "initialLeverage": "10",
+ "notionalCap": "30000",
+ "notionalFloor": "7000",
"maintMarginRatio": "0.015",
- "cum": "50.0"
+ "cum": "35.0"
}
},
{
"tier": 3.0,
"symbol": "EIGEN/USDT:USDT",
"currency": "USDT",
- "minNotional": 60000.0,
- "maxNotional": 300000.0,
+ "minNotional": 30000.0,
+ "maxNotional": 135000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
- "notionalCap": "300000",
- "notionalFloor": "60000",
+ "initialLeverage": "8",
+ "notionalCap": "135000",
+ "notionalFloor": "30000",
"maintMarginRatio": "0.02",
- "cum": "350.0"
+ "cum": "185.0"
}
},
{
"tier": 4.0,
"symbol": "EIGEN/USDT:USDT",
"currency": "USDT",
- "minNotional": 300000.0,
- "maxNotional": 600000.0,
+ "minNotional": 135000.0,
+ "maxNotional": 270000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
- "notionalCap": "600000",
- "notionalFloor": "300000",
+ "initialLeverage": "7",
+ "notionalCap": "270000",
+ "notionalFloor": "135000",
"maintMarginRatio": "0.025",
- "cum": "1850.0"
+ "cum": "860.0"
}
},
{
"tier": 5.0,
"symbol": "EIGEN/USDT:USDT",
"currency": "USDT",
- "minNotional": 600000.0,
- "maxNotional": 2000000.0,
+ "minNotional": 270000.0,
+ "maxNotional": 950000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
- "notionalCap": "2000000",
- "notionalFloor": "600000",
+ "initialLeverage": "6",
+ "notionalCap": "950000",
+ "notionalFloor": "270000",
"maintMarginRatio": "0.05",
- "cum": "16850.0"
+ "cum": "7610.0"
}
},
{
"tier": 6.0,
"symbol": "EIGEN/USDT:USDT",
"currency": "USDT",
- "minNotional": 2000000.0,
- "maxNotional": 3000000.0,
+ "minNotional": 950000.0,
+ "maxNotional": 1500000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "3000000",
- "notionalFloor": "2000000",
+ "notionalCap": "1500000",
+ "notionalFloor": "950000",
"maintMarginRatio": "0.1",
- "cum": "116850.0"
+ "cum": "55110.0"
}
},
{
"tier": 7.0,
"symbol": "EIGEN/USDT:USDT",
"currency": "USDT",
- "minNotional": 3000000.0,
- "maxNotional": 4000000.0,
+ "minNotional": 1500000.0,
+ "maxNotional": 2200000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "4000000",
- "notionalFloor": "3000000",
+ "notionalCap": "2200000",
+ "notionalFloor": "1500000",
"maintMarginRatio": "0.125",
- "cum": "191850.0"
+ "cum": "92610.0"
}
},
{
"tier": 8.0,
"symbol": "EIGEN/USDT:USDT",
"currency": "USDT",
- "minNotional": 4000000.0,
- "maxNotional": 4500000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 2200000.0,
+ "maxNotional": 3500000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "4500000",
- "notionalFloor": "4000000",
- "maintMarginRatio": "0.25",
- "cum": "691850.0"
+ "initialLeverage": "3",
+ "notionalCap": "3500000",
+ "notionalFloor": "2200000",
+ "maintMarginRatio": "0.1667",
+ "cum": "184350.0"
}
},
{
"tier": 9.0,
"symbol": "EIGEN/USDT:USDT",
"currency": "USDT",
- "minNotional": 4500000.0,
- "maxNotional": 5000000.0,
+ "minNotional": 3500000.0,
+ "maxNotional": 4800000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "4800000",
+ "notionalFloor": "3500000",
+ "maintMarginRatio": "0.25",
+ "cum": "475900.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "EIGEN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 4800000.0,
+ "maxNotional": 6800000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "5000000",
- "notionalFloor": "4500000",
+ "notionalCap": "6800000",
+ "notionalFloor": "4800000",
"maintMarginRatio": "0.5",
- "cum": "1816850.0"
+ "cum": "1675900.0"
}
}
],
@@ -22831,10 +24322,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -22848,10 +24339,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -22865,10 +24356,10 @@
"minNotional": 10000.0,
"maxNotional": 30000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "30000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -22882,10 +24373,10 @@
"minNotional": 30000.0,
"maxNotional": 60000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "60000",
"notionalFloor": "30000",
"maintMarginRatio": "0.025",
@@ -22899,10 +24390,10 @@
"minNotional": 60000.0,
"maxNotional": 300000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "300000",
"notionalFloor": "60000",
"maintMarginRatio": "0.05",
@@ -22916,10 +24407,10 @@
"minNotional": 300000.0,
"maxNotional": 600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "600000",
"notionalFloor": "300000",
"maintMarginRatio": "0.1",
@@ -22933,10 +24424,10 @@
"minNotional": 600000.0,
"maxNotional": 750000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "750000",
"notionalFloor": "600000",
"maintMarginRatio": "0.125",
@@ -22978,6 +24469,161 @@
}
}
],
+ "EPT/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "EPT/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": "EPT/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": "EPT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 10000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "20",
+ "notionalCap": "50000",
+ "notionalFloor": "10000",
+ "maintMarginRatio": "0.025",
+ "cum": "75.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "EPT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 50000.0,
+ "maxNotional": 125000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "10",
+ "notionalCap": "125000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1325.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "EPT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 125000.0,
+ "maxNotional": 250000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "5",
+ "notionalCap": "250000",
+ "notionalFloor": "125000",
+ "maintMarginRatio": "0.1",
+ "cum": "7575.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "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": 1500000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "3",
+ "notionalCap": "1500000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.1667",
+ "cum": "34675.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "EPT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 2500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "2",
+ "notionalCap": "2500000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.25",
+ "cum": "159625.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "EPT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 2500000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "1",
+ "notionalCap": "4000000",
+ "notionalFloor": "2500000",
+ "maintMarginRatio": "0.5",
+ "cum": "784625.0"
+ }
+ }
+ ],
"ETC/USDT:USDT": [
{
"tier": 1.0,
@@ -23717,144 +25363,6 @@
}
}
],
- "ETH/USDT:USDT-250328": [
- {
- "tier": 1.0,
- "symbol": "ETH/USDT:USDT-250328",
- "currency": "USDT",
- "minNotional": 0.0,
- "maxNotional": 50000.0,
- "maintenanceMarginRate": 0.01,
- "maxLeverage": 50.0,
- "info": {
- "bracket": "1",
- "initialLeverage": "50",
- "notionalCap": "50000",
- "notionalFloor": "0",
- "maintMarginRatio": "0.01",
- "cum": "0.0"
- }
- },
- {
- "tier": 2.0,
- "symbol": "ETH/USDT:USDT-250328",
- "currency": "USDT",
- "minNotional": 50000.0,
- "maxNotional": 375000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
- "info": {
- "bracket": "2",
- "initialLeverage": "25",
- "notionalCap": "375000",
- "notionalFloor": "50000",
- "maintMarginRatio": "0.02",
- "cum": "500.0"
- }
- },
- {
- "tier": 3.0,
- "symbol": "ETH/USDT:USDT-250328",
- "currency": "USDT",
- "minNotional": 375000.0,
- "maxNotional": 2000000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
- "info": {
- "bracket": "3",
- "initialLeverage": "10",
- "notionalCap": "2000000",
- "notionalFloor": "375000",
- "maintMarginRatio": "0.05",
- "cum": "11750.0"
- }
- },
- {
- "tier": 4.0,
- "symbol": "ETH/USDT:USDT-250328",
- "currency": "USDT",
- "minNotional": 2000000.0,
- "maxNotional": 4000000.0,
- "maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
- "info": {
- "bracket": "4",
- "initialLeverage": "5",
- "notionalCap": "4000000",
- "notionalFloor": "2000000",
- "maintMarginRatio": "0.1",
- "cum": "111750.0"
- }
- },
- {
- "tier": 5.0,
- "symbol": "ETH/USDT:USDT-250328",
- "currency": "USDT",
- "minNotional": 4000000.0,
- "maxNotional": 10000000.0,
- "maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
- "info": {
- "bracket": "5",
- "initialLeverage": "4",
- "notionalCap": "10000000",
- "notionalFloor": "4000000",
- "maintMarginRatio": "0.125",
- "cum": "211750.0"
- }
- },
- {
- "tier": 6.0,
- "symbol": "ETH/USDT:USDT-250328",
- "currency": "USDT",
- "minNotional": 10000000.0,
- "maxNotional": 20000000.0,
- "maintenanceMarginRate": 0.15,
- "maxLeverage": 3.0,
- "info": {
- "bracket": "6",
- "initialLeverage": "3",
- "notionalCap": "20000000",
- "notionalFloor": "10000000",
- "maintMarginRatio": "0.15",
- "cum": "461750.0"
- }
- },
- {
- "tier": 7.0,
- "symbol": "ETH/USDT:USDT-250328",
- "currency": "USDT",
- "minNotional": 20000000.0,
- "maxNotional": 40000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
- "info": {
- "bracket": "7",
- "initialLeverage": "2",
- "notionalCap": "40000000",
- "notionalFloor": "20000000",
- "maintMarginRatio": "0.25",
- "cum": "2461750.0"
- }
- },
- {
- "tier": 8.0,
- "symbol": "ETH/USDT:USDT-250328",
- "currency": "USDT",
- "minNotional": 40000000.0,
- "maxNotional": 120000000.0,
- "maintenanceMarginRate": 0.5,
- "maxLeverage": 1.0,
- "info": {
- "bracket": "8",
- "initialLeverage": "1",
- "notionalCap": "120000000",
- "notionalFloor": "40000000",
- "maintMarginRatio": "0.5",
- "cum": "12461750.0"
- }
- }
- ],
"ETH/USDT:USDT-250627": [
{
"tier": 1.0,
@@ -23993,6 +25501,144 @@
}
}
],
+ "ETH/USDT:USDT-250926": [
+ {
+ "tier": 1.0,
+ "symbol": "ETH/USDT:USDT-250926",
+ "currency": "USDT",
+ "minNotional": 0.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.01,
+ "maxLeverage": 50.0,
+ "info": {
+ "bracket": "1",
+ "initialLeverage": "50",
+ "notionalCap": "50000",
+ "notionalFloor": "0",
+ "maintMarginRatio": "0.01",
+ "cum": "0.0"
+ }
+ },
+ {
+ "tier": 2.0,
+ "symbol": "ETH/USDT:USDT-250926",
+ "currency": "USDT",
+ "minNotional": 50000.0,
+ "maxNotional": 375000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 25.0,
+ "info": {
+ "bracket": "2",
+ "initialLeverage": "25",
+ "notionalCap": "375000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.02",
+ "cum": "500.0"
+ }
+ },
+ {
+ "tier": 3.0,
+ "symbol": "ETH/USDT:USDT-250926",
+ "currency": "USDT",
+ "minNotional": 375000.0,
+ "maxNotional": 2000000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "10",
+ "notionalCap": "2000000",
+ "notionalFloor": "375000",
+ "maintMarginRatio": "0.05",
+ "cum": "11750.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "ETH/USDT:USDT-250926",
+ "currency": "USDT",
+ "minNotional": 2000000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "5",
+ "notionalCap": "4000000",
+ "notionalFloor": "2000000",
+ "maintMarginRatio": "0.1",
+ "cum": "111750.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "ETH/USDT:USDT-250926",
+ "currency": "USDT",
+ "minNotional": 4000000.0,
+ "maxNotional": 10000000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "4",
+ "notionalCap": "10000000",
+ "notionalFloor": "4000000",
+ "maintMarginRatio": "0.125",
+ "cum": "211750.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "ETH/USDT:USDT-250926",
+ "currency": "USDT",
+ "minNotional": 10000000.0,
+ "maxNotional": 20000000.0,
+ "maintenanceMarginRate": 0.15,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "3",
+ "notionalCap": "20000000",
+ "notionalFloor": "10000000",
+ "maintMarginRatio": "0.15",
+ "cum": "461750.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "ETH/USDT:USDT-250926",
+ "currency": "USDT",
+ "minNotional": 20000000.0,
+ "maxNotional": 40000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "2",
+ "notionalCap": "40000000",
+ "notionalFloor": "20000000",
+ "maintMarginRatio": "0.25",
+ "cum": "2461750.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "ETH/USDT:USDT-250926",
+ "currency": "USDT",
+ "minNotional": 40000000.0,
+ "maxNotional": 120000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "1",
+ "notionalCap": "120000000",
+ "notionalFloor": "40000000",
+ "maintMarginRatio": "0.5",
+ "cum": "12461750.0"
+ }
+ }
+ ],
"ETHFI/USDC:USDC": [
{
"tier": 1.0,
@@ -24001,10 +25647,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 50.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "50",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -24018,10 +25664,10 @@
"minNotional": 5000.0,
"maxNotional": 50000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "50000",
"notionalFloor": "5000",
"maintMarginRatio": "0.02",
@@ -24035,10 +25681,10 @@
"minNotional": 50000.0,
"maxNotional": 600000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "3",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "600000",
"notionalFloor": "50000",
"maintMarginRatio": "0.025",
@@ -24052,10 +25698,10 @@
"minNotional": 600000.0,
"maxNotional": 1200000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "1200000",
"notionalFloor": "600000",
"maintMarginRatio": "0.05",
@@ -24069,10 +25715,10 @@
"minNotional": 1200000.0,
"maxNotional": 3000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "5",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "3000000",
"notionalFloor": "1200000",
"maintMarginRatio": "0.1",
@@ -24086,10 +25732,10 @@
"minNotional": 3000000.0,
"maxNotional": 4000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "6",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "4000000",
"notionalFloor": "3000000",
"maintMarginRatio": "0.125",
@@ -24139,10 +25785,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -24156,10 +25802,10 @@
"minNotional": 10000.0,
"maxNotional": 40000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "40000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -24173,10 +25819,10 @@
"minNotional": 40000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "7",
"notionalCap": "200000",
"notionalFloor": "40000",
"maintMarginRatio": "0.02",
@@ -24190,10 +25836,10 @@
"minNotional": 200000.0,
"maxNotional": 400000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "400000",
"notionalFloor": "200000",
"maintMarginRatio": "0.025",
@@ -24207,10 +25853,10 @@
"minNotional": 400000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "2000000",
"notionalFloor": "400000",
"maintMarginRatio": "0.05",
@@ -24224,10 +25870,10 @@
"minNotional": 2000000.0,
"maxNotional": 4000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "4000000",
"notionalFloor": "2000000",
"maintMarginRatio": "0.1",
@@ -24241,10 +25887,10 @@
"minNotional": 4000000.0,
"maxNotional": 5000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "5000000",
"notionalFloor": "4000000",
"maintMarginRatio": "0.125",
@@ -24447,13 +26093,13 @@
"symbol": "FARTCOIN/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"
@@ -24463,17 +26109,17 @@
"tier": 2.0,
"symbol": "FARTCOIN/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
+ "minNotional": 5000.0,
"maxNotional": 20000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 20.0,
+ "maxLeverage": 50.0,
"info": {
"bracket": "2",
- "initialLeverage": "20",
+ "initialLeverage": "50",
"notionalCap": "20000",
- "notionalFloor": "10000",
+ "notionalFloor": "5000",
"maintMarginRatio": "0.015",
- "cum": "50.0"
+ "cum": "25.0"
}
},
{
@@ -24481,50 +26127,50 @@
"symbol": "FARTCOIN/USDT:USDT",
"currency": "USDT",
"minNotional": 20000.0,
- "maxNotional": 100000.0,
+ "maxNotional": 300000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 15.0,
+ "maxLeverage": 25.0,
"info": {
"bracket": "3",
- "initialLeverage": "15",
- "notionalCap": "100000",
+ "initialLeverage": "25",
+ "notionalCap": "300000",
"notionalFloor": "20000",
"maintMarginRatio": "0.02",
- "cum": "150.0"
+ "cum": "125.0"
}
},
{
"tier": 4.0,
"symbol": "FARTCOIN/USDT:USDT",
"currency": "USDT",
- "minNotional": 100000.0,
- "maxNotional": 200000.0,
+ "minNotional": 300000.0,
+ "maxNotional": 500000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 10.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "200000",
- "notionalFloor": "100000",
+ "initialLeverage": "20",
+ "notionalCap": "500000",
+ "notionalFloor": "300000",
"maintMarginRatio": "0.025",
- "cum": "650.0"
+ "cum": "1625.0"
}
},
{
"tier": 5.0,
"symbol": "FARTCOIN/USDT:USDT",
"currency": "USDT",
- "minNotional": 200000.0,
+ "minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 8.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "5",
- "initialLeverage": "8",
+ "initialLeverage": "10",
"notionalCap": "1000000",
- "notionalFloor": "200000",
+ "notionalFloor": "500000",
"maintMarginRatio": "0.05",
- "cum": "5650.0"
+ "cum": "14125.0"
}
},
{
@@ -24541,7 +26187,7 @@
"notionalCap": "2000000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.1",
- "cum": "55650.0"
+ "cum": "64125.0"
}
},
{
@@ -24558,7 +26204,7 @@
"notionalCap": "2500000",
"notionalFloor": "2000000",
"maintMarginRatio": "0.125",
- "cum": "105650.0"
+ "cum": "114125.0"
}
},
{
@@ -24575,7 +26221,7 @@
"notionalCap": "5000000",
"notionalFloor": "2500000",
"maintMarginRatio": "0.25",
- "cum": "418150.0"
+ "cum": "426625.0"
}
},
{
@@ -24592,7 +26238,7 @@
"notionalCap": "6000000",
"notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "1668150.0"
+ "cum": "1676625.0"
}
}
],
@@ -24751,6 +26397,127 @@
}
}
],
+ "FHE/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "FHE/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 0.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "1",
+ "initialLeverage": "20",
+ "notionalCap": "5000",
+ "notionalFloor": "0",
+ "maintMarginRatio": "0.025",
+ "cum": "0.0"
+ }
+ },
+ {
+ "tier": 2.0,
+ "symbol": "FHE/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.033,
+ "maxLeverage": 15.0,
+ "info": {
+ "bracket": "2",
+ "initialLeverage": "15",
+ "notionalCap": "25000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.033",
+ "cum": "40.0"
+ }
+ },
+ {
+ "tier": 3.0,
+ "symbol": "FHE/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 25000.0,
+ "maxNotional": 100000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "10",
+ "notionalCap": "100000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.05",
+ "cum": "465.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "FHE/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 100000.0,
+ "maxNotional": 200000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "5",
+ "notionalCap": "200000",
+ "notionalFloor": "100000",
+ "maintMarginRatio": "0.1",
+ "cum": "5465.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "FHE/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 200000.0,
+ "maxNotional": 500000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "4",
+ "notionalCap": "500000",
+ "notionalFloor": "200000",
+ "maintMarginRatio": "0.125",
+ "cum": "10465.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "FHE/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "2",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.25",
+ "cum": "72965.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "FHE/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1000000.0,
+ "maxNotional": 2000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "1",
+ "notionalCap": "2000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.5",
+ "cum": "322965.0"
+ }
+ }
+ ],
"FIDA/USDT:USDT": [
{
"tier": 1.0,
@@ -24759,10 +26526,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -24776,10 +26543,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -24793,10 +26560,10 @@
"minNotional": 10000.0,
"maxNotional": 50000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "50000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -24810,10 +26577,10 @@
"minNotional": 50000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "100000",
"notionalFloor": "50000",
"maintMarginRatio": "0.025",
@@ -24827,10 +26594,10 @@
"minNotional": 100000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "500000",
"notionalFloor": "100000",
"maintMarginRatio": "0.05",
@@ -24844,10 +26611,10 @@
"minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.1",
@@ -24861,10 +26628,10 @@
"minNotional": 1000000.0,
"maxNotional": 1250000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "1250000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.125",
@@ -25241,10 +27008,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -25258,10 +27025,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -25275,10 +27042,10 @@
"minNotional": 10000.0,
"maxNotional": 30000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "30000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -25292,10 +27059,10 @@
"minNotional": 30000.0,
"maxNotional": 60000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "60000",
"notionalFloor": "30000",
"maintMarginRatio": "0.025",
@@ -25309,10 +27076,10 @@
"minNotional": 60000.0,
"maxNotional": 300000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "300000",
"notionalFloor": "60000",
"maintMarginRatio": "0.05",
@@ -25326,10 +27093,10 @@
"minNotional": 300000.0,
"maxNotional": 600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "600000",
"notionalFloor": "300000",
"maintMarginRatio": "0.1",
@@ -25343,10 +27110,10 @@
"minNotional": 600000.0,
"maxNotional": 750000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "750000",
"notionalFloor": "600000",
"maintMarginRatio": "0.125",
@@ -25388,21 +27155,193 @@
}
}
],
+ "FIS/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "FIS/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": "FIS/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": "FIS/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": "FIS/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": "FIS/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": "FIS/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": "FIS/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": "FIS/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 500000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "1500000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.1667",
+ "cum": "34800.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "FIS/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 2500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "2500000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.25",
+ "cum": "159750.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "FIS/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 2500000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "10",
+ "initialLeverage": "1",
+ "notionalCap": "4000000",
+ "notionalFloor": "2500000",
+ "maintMarginRatio": "0.5",
+ "cum": "784750.0"
+ }
+ }
+ ],
"FLM/USDT:USDT": [
{
"tier": 1.0,
"symbol": "FLM/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 5000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxNotional": 20000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 15.0,
"info": {
"bracket": "1",
- "initialLeverage": "50",
- "notionalCap": "5000",
+ "initialLeverage": "15",
+ "notionalCap": "20000",
"notionalFloor": "0",
- "maintMarginRatio": "0.015",
+ "maintMarginRatio": "0.02",
"cum": "0.0"
}
},
@@ -25410,72 +27349,55 @@
"tier": 2.0,
"symbol": "FLM/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000.0,
- "maxNotional": 20000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "minNotional": 20000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "25",
- "notionalCap": "20000",
- "notionalFloor": "5000",
- "maintMarginRatio": "0.02",
- "cum": "25.0"
+ "initialLeverage": "10",
+ "notionalCap": "25000",
+ "notionalFloor": "20000",
+ "maintMarginRatio": "0.025",
+ "cum": "100.0"
}
},
{
"tier": 3.0,
"symbol": "FLM/USDT:USDT",
"currency": "USDT",
- "minNotional": 20000.0,
- "maxNotional": 25000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "minNotional": 25000.0,
+ "maxNotional": 200000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 6.0,
"info": {
"bracket": "3",
- "initialLeverage": "20",
- "notionalCap": "25000",
- "notionalFloor": "20000",
- "maintMarginRatio": "0.025",
- "cum": "125.0"
+ "initialLeverage": "6",
+ "notionalCap": "200000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.05",
+ "cum": "725.0"
}
},
{
"tier": 4.0,
"symbol": "FLM/USDT:USDT",
"currency": "USDT",
- "minNotional": 25000.0,
- "maxNotional": 200000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
- "info": {
- "bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "200000",
- "notionalFloor": "25000",
- "maintMarginRatio": "0.05",
- "cum": "750.0"
- }
- },
- {
- "tier": 5.0,
- "symbol": "FLM/USDT:USDT",
- "currency": "USDT",
"minNotional": 200000.0,
"maxNotional": 400000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
- "bracket": "5",
+ "bracket": "4",
"initialLeverage": "5",
"notionalCap": "400000",
"notionalFloor": "200000",
"maintMarginRatio": "0.1",
- "cum": "10750.0"
+ "cum": "10725.0"
}
},
{
- "tier": 6.0,
+ "tier": 5.0,
"symbol": "FLM/USDT:USDT",
"currency": "USDT",
"minNotional": 400000.0,
@@ -25483,19 +27405,36 @@
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
- "bracket": "6",
+ "bracket": "5",
"initialLeverage": "4",
"notionalCap": "500000",
"notionalFloor": "400000",
"maintMarginRatio": "0.125",
- "cum": "20750.0"
+ "cum": "20725.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "FLM/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 500000.0,
+ "maxNotional": 750000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "3",
+ "notionalCap": "750000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.1667",
+ "cum": "41575.0"
}
},
{
"tier": 7.0,
"symbol": "FLM/USDT:USDT",
"currency": "USDT",
- "minNotional": 500000.0,
+ "minNotional": 750000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.25,
"maxLeverage": 2.0,
@@ -25503,9 +27442,9 @@
"bracket": "7",
"initialLeverage": "2",
"notionalCap": "1000000",
- "notionalFloor": "500000",
+ "notionalFloor": "750000",
"maintMarginRatio": "0.25",
- "cum": "83250.0"
+ "cum": "104050.0"
}
},
{
@@ -25522,7 +27461,7 @@
"notionalCap": "2000000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.5",
- "cum": "333250.0"
+ "cum": "354050.0"
}
}
],
@@ -25974,6 +27913,127 @@
}
}
],
+ "FORTH/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "FORTH/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 0.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "1",
+ "initialLeverage": "20",
+ "notionalCap": "5000",
+ "notionalFloor": "0",
+ "maintMarginRatio": "0.02",
+ "cum": "0.0"
+ }
+ },
+ {
+ "tier": 2.0,
+ "symbol": "FORTH/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000.0,
+ "maxNotional": 10000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "2",
+ "initialLeverage": "10",
+ "notionalCap": "10000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.025",
+ "cum": "25.0"
+ }
+ },
+ {
+ "tier": 3.0,
+ "symbol": "FORTH/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 10000.0,
+ "maxNotional": 60000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "5",
+ "notionalCap": "60000",
+ "notionalFloor": "10000",
+ "maintMarginRatio": "0.05",
+ "cum": "275.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "FORTH/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 60000.0,
+ "maxNotional": 300000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "4",
+ "notionalCap": "300000",
+ "notionalFloor": "60000",
+ "maintMarginRatio": "0.1",
+ "cum": "3275.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "FORTH/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 300000.0,
+ "maxNotional": 400000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "3",
+ "notionalCap": "400000",
+ "notionalFloor": "300000",
+ "maintMarginRatio": "0.125",
+ "cum": "10775.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "FORTH/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 400000.0,
+ "maxNotional": 1000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "2",
+ "notionalCap": "1000000",
+ "notionalFloor": "400000",
+ "maintMarginRatio": "0.25",
+ "cum": "60775.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "FORTH/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "1",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.5",
+ "cum": "310775.0"
+ }
+ }
+ ],
"FTM/USDT:USDT": [
{
"tier": 1.0,
@@ -26233,6 +28293,144 @@
}
}
],
+ "FUN/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "FUN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 0.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 25.0,
+ "info": {
+ "bracket": "1",
+ "initialLeverage": "25",
+ "notionalCap": "5000",
+ "notionalFloor": "0",
+ "maintMarginRatio": "0.015",
+ "cum": "0.0"
+ }
+ },
+ {
+ "tier": 2.0,
+ "symbol": "FUN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000.0,
+ "maxNotional": 20000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "2",
+ "initialLeverage": "20",
+ "notionalCap": "20000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.02",
+ "cum": "25.0"
+ }
+ },
+ {
+ "tier": 3.0,
+ "symbol": "FUN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 20000.0,
+ "maxNotional": 30000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "10",
+ "notionalCap": "30000",
+ "notionalFloor": "20000",
+ "maintMarginRatio": "0.025",
+ "cum": "125.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "FUN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 30000.0,
+ "maxNotional": 300000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "5",
+ "notionalCap": "300000",
+ "notionalFloor": "30000",
+ "maintMarginRatio": "0.05",
+ "cum": "875.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "FUN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 300000.0,
+ "maxNotional": 600000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "4",
+ "notionalCap": "600000",
+ "notionalFloor": "300000",
+ "maintMarginRatio": "0.1",
+ "cum": "15875.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "FUN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 600000.0,
+ "maxNotional": 750000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "3",
+ "notionalCap": "750000",
+ "notionalFloor": "600000",
+ "maintMarginRatio": "0.125",
+ "cum": "30875.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "FUN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 750000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "2",
+ "notionalCap": "1500000",
+ "notionalFloor": "750000",
+ "maintMarginRatio": "0.25",
+ "cum": "124625.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "FUN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "1",
+ "notionalCap": "3000000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.5",
+ "cum": "499625.0"
+ }
+ }
+ ],
"FXS/USDT:USDT": [
{
"tier": 1.0,
@@ -26481,15 +28679,15 @@
"symbol": "GALA/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 10000.0,
- "maintenanceMarginRate": 0.006,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.01,
"maxLeverage": 75.0,
"info": {
"bracket": "1",
"initialLeverage": "75",
- "notionalCap": "10000",
+ "notionalCap": "5000",
"notionalFloor": "0",
- "maintMarginRatio": "0.006",
+ "maintMarginRatio": "0.01",
"cum": "0.0"
}
},
@@ -26497,153 +28695,153 @@
"tier": 2.0,
"symbol": "GALA/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 50000.0,
- "maintenanceMarginRate": 0.01,
+ "minNotional": 5000.0,
+ "maxNotional": 10000.0,
+ "maintenanceMarginRate": 0.015,
"maxLeverage": 50.0,
"info": {
"bracket": "2",
"initialLeverage": "50",
- "notionalCap": "50000",
- "notionalFloor": "10000",
- "maintMarginRatio": "0.01",
- "cum": "40.0"
+ "notionalCap": "10000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.015",
+ "cum": "25.0"
}
},
{
"tier": 3.0,
"symbol": "GALA/USDT:USDT",
"currency": "USDT",
- "minNotional": 50000.0,
- "maxNotional": 80000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 40.0,
+ "minNotional": 10000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 25.0,
"info": {
"bracket": "3",
- "initialLeverage": "40",
- "notionalCap": "80000",
- "notionalFloor": "50000",
- "maintMarginRatio": "0.015",
- "cum": "290.0"
+ "initialLeverage": "25",
+ "notionalCap": "25000",
+ "notionalFloor": "10000",
+ "maintMarginRatio": "0.02",
+ "cum": "75.0"
}
},
{
"tier": 4.0,
"symbol": "GALA/USDT:USDT",
"currency": "USDT",
- "minNotional": 80000.0,
- "maxNotional": 200000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
"info": {
"bracket": "4",
- "initialLeverage": "25",
- "notionalCap": "200000",
- "notionalFloor": "80000",
- "maintMarginRatio": "0.02",
- "cum": "690.0"
+ "initialLeverage": "20",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.025",
+ "cum": "200.0"
}
},
{
"tier": 5.0,
"symbol": "GALA/USDT:USDT",
"currency": "USDT",
- "minNotional": 200000.0,
- "maxNotional": 900000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "minNotional": 50000.0,
+ "maxNotional": 250000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
"info": {
"bracket": "5",
- "initialLeverage": "20",
- "notionalCap": "900000",
- "notionalFloor": "200000",
- "maintMarginRatio": "0.025",
- "cum": "1690.0"
+ "initialLeverage": "10",
+ "notionalCap": "250000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1450.0"
}
},
{
"tier": 6.0,
"symbol": "GALA/USDT:USDT",
"currency": "USDT",
- "minNotional": 900000.0,
- "maxNotional": 2000000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
"info": {
"bracket": "6",
- "initialLeverage": "10",
- "notionalCap": "2000000",
- "notionalFloor": "900000",
- "maintMarginRatio": "0.05",
- "cum": "24190.0"
+ "initialLeverage": "5",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
+ "maintMarginRatio": "0.1",
+ "cum": "13950.0"
}
},
{
"tier": 7.0,
"symbol": "GALA/USDT:USDT",
"currency": "USDT",
- "minNotional": 2000000.0,
- "maxNotional": 5000000.0,
- "maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
"info": {
"bracket": "7",
- "initialLeverage": "5",
- "notionalCap": "5000000",
- "notionalFloor": "2000000",
- "maintMarginRatio": "0.1",
- "cum": "124190.0"
+ "initialLeverage": "4",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.125",
+ "cum": "26450.0"
}
},
{
"tier": 8.0,
"symbol": "GALA/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000000.0,
- "maxNotional": 6000000.0,
- "maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "4",
- "notionalCap": "6000000",
- "notionalFloor": "5000000",
- "maintMarginRatio": "0.125",
- "cum": "249190.0"
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "68150.0"
}
},
{
"tier": 9.0,
"symbol": "GALA/USDT:USDT",
"currency": "USDT",
- "minNotional": 6000000.0,
- "maxNotional": 18000000.0,
+ "minNotional": 3000000.0,
+ "maxNotional": 5000000.0,
"maintenanceMarginRate": 0.25,
"maxLeverage": 2.0,
"info": {
"bracket": "9",
"initialLeverage": "2",
- "notionalCap": "18000000",
- "notionalFloor": "6000000",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
"maintMarginRatio": "0.25",
- "cum": "999190.0"
+ "cum": "318050.0"
}
},
{
"tier": 10.0,
"symbol": "GALA/USDT:USDT",
"currency": "USDT",
- "minNotional": 18000000.0,
- "maxNotional": 30000000.0,
+ "minNotional": 5000000.0,
+ "maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
"bracket": "10",
"initialLeverage": "1",
- "notionalCap": "30000000",
- "notionalFloor": "18000000",
+ "notionalCap": "8000000",
+ "notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "5499190.0"
+ "cum": "1568050.0"
}
}
],
@@ -27205,15 +29403,15 @@
"symbol": "GMT/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 50000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.01,
+ "maxLeverage": 75.0,
"info": {
"bracket": "1",
- "initialLeverage": "50",
- "notionalCap": "50000",
+ "initialLeverage": "75",
+ "notionalCap": "5000",
"notionalFloor": "0",
- "maintMarginRatio": "0.015",
+ "maintMarginRatio": "0.01",
"cum": "0.0"
}
},
@@ -27221,102 +29419,153 @@
"tier": 2.0,
"symbol": "GMT/USDT:USDT",
"currency": "USDT",
- "minNotional": 50000.0,
- "maxNotional": 150000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "minNotional": 5000.0,
+ "maxNotional": 10000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 50.0,
"info": {
"bracket": "2",
- "initialLeverage": "20",
- "notionalCap": "150000",
- "notionalFloor": "50000",
- "maintMarginRatio": "0.025",
- "cum": "500.0"
+ "initialLeverage": "50",
+ "notionalCap": "10000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.015",
+ "cum": "25.0"
}
},
{
"tier": 3.0,
"symbol": "GMT/USDT:USDT",
"currency": "USDT",
- "minNotional": 150000.0,
- "maxNotional": 600000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "minNotional": 10000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 25.0,
"info": {
"bracket": "3",
- "initialLeverage": "10",
- "notionalCap": "600000",
- "notionalFloor": "150000",
- "maintMarginRatio": "0.05",
- "cum": "4250.0"
+ "initialLeverage": "25",
+ "notionalCap": "25000",
+ "notionalFloor": "10000",
+ "maintMarginRatio": "0.02",
+ "cum": "75.0"
}
},
{
"tier": 4.0,
"symbol": "GMT/USDT:USDT",
"currency": "USDT",
- "minNotional": 600000.0,
- "maxNotional": 1600000.0,
- "maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
"info": {
"bracket": "4",
- "initialLeverage": "5",
- "notionalCap": "1600000",
- "notionalFloor": "600000",
- "maintMarginRatio": "0.1",
- "cum": "34250.0"
+ "initialLeverage": "20",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.025",
+ "cum": "200.0"
}
},
{
"tier": 5.0,
"symbol": "GMT/USDT:USDT",
"currency": "USDT",
- "minNotional": 1600000.0,
- "maxNotional": 2000000.0,
- "maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "minNotional": 50000.0,
+ "maxNotional": 250000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
"info": {
"bracket": "5",
- "initialLeverage": "4",
- "notionalCap": "2000000",
- "notionalFloor": "1600000",
- "maintMarginRatio": "0.125",
- "cum": "74250.0"
+ "initialLeverage": "10",
+ "notionalCap": "250000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1450.0"
}
},
{
"tier": 6.0,
"symbol": "GMT/USDT:USDT",
"currency": "USDT",
- "minNotional": 2000000.0,
- "maxNotional": 4000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
"info": {
"bracket": "6",
- "initialLeverage": "2",
- "notionalCap": "4000000",
- "notionalFloor": "2000000",
- "maintMarginRatio": "0.25",
- "cum": "324250.0"
+ "initialLeverage": "5",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
+ "maintMarginRatio": "0.1",
+ "cum": "13950.0"
}
},
{
"tier": 7.0,
"symbol": "GMT/USDT:USDT",
"currency": "USDT",
- "minNotional": 4000000.0,
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "4",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.125",
+ "cum": "26450.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "GMT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "68150.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "GMT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 3000000.0,
"maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "318050.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "GMT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000000.0,
+ "maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "7",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "5000000",
- "notionalFloor": "4000000",
+ "notionalCap": "8000000",
+ "notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "1324250.0"
+ "cum": "1568050.0"
}
}
],
@@ -27447,13 +29696,13 @@
"symbol": "GOAT/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 10000.0,
+ "maxNotional": 4600.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 25.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "25",
- "notionalCap": "10000",
+ "initialLeverage": "20",
+ "notionalCap": "4600",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
"cum": "0.0"
@@ -27463,136 +29712,153 @@
"tier": 2.0,
"symbol": "GOAT/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 80000.0,
+ "minNotional": 4600.0,
+ "maxNotional": 35000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 20.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "20",
- "notionalCap": "80000",
- "notionalFloor": "10000",
+ "initialLeverage": "10",
+ "notionalCap": "35000",
+ "notionalFloor": "4600",
"maintMarginRatio": "0.015",
- "cum": "50.0"
+ "cum": "23.0"
}
},
{
"tier": 3.0,
"symbol": "GOAT/USDT:USDT",
"currency": "USDT",
- "minNotional": 80000.0,
- "maxNotional": 400000.0,
+ "minNotional": 35000.0,
+ "maxNotional": 175000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 15.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "15",
- "notionalCap": "400000",
- "notionalFloor": "80000",
+ "initialLeverage": "8",
+ "notionalCap": "175000",
+ "notionalFloor": "35000",
"maintMarginRatio": "0.02",
- "cum": "450.0"
+ "cum": "198.0"
}
},
{
"tier": 4.0,
"symbol": "GOAT/USDT:USDT",
"currency": "USDT",
- "minNotional": 400000.0,
- "maxNotional": 800000.0,
+ "minNotional": 175000.0,
+ "maxNotional": 350000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 10.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "800000",
- "notionalFloor": "400000",
+ "initialLeverage": "7",
+ "notionalCap": "350000",
+ "notionalFloor": "175000",
"maintMarginRatio": "0.025",
- "cum": "2450.0"
+ "cum": "1073.0"
}
},
{
"tier": 5.0,
"symbol": "GOAT/USDT:USDT",
"currency": "USDT",
- "minNotional": 800000.0,
- "maxNotional": 3000000.0,
+ "minNotional": 350000.0,
+ "maxNotional": 1350000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 8.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "8",
- "notionalCap": "3000000",
- "notionalFloor": "800000",
+ "initialLeverage": "6",
+ "notionalCap": "1350000",
+ "notionalFloor": "350000",
"maintMarginRatio": "0.05",
- "cum": "22450.0"
+ "cum": "9823.0"
}
},
{
"tier": 6.0,
"symbol": "GOAT/USDT:USDT",
"currency": "USDT",
- "minNotional": 3000000.0,
- "maxNotional": 4000000.0,
+ "minNotional": 1350000.0,
+ "maxNotional": 1900000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "4000000",
- "notionalFloor": "3000000",
+ "notionalCap": "1900000",
+ "notionalFloor": "1350000",
"maintMarginRatio": "0.1",
- "cum": "172450.0"
+ "cum": "77323.0"
}
},
{
"tier": 7.0,
"symbol": "GOAT/USDT:USDT",
"currency": "USDT",
- "minNotional": 4000000.0,
- "maxNotional": 5000000.0,
+ "minNotional": 1900000.0,
+ "maxNotional": 2600000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "5000000",
- "notionalFloor": "4000000",
+ "notionalCap": "2600000",
+ "notionalFloor": "1900000",
"maintMarginRatio": "0.125",
- "cum": "272450.0"
+ "cum": "124823.0"
}
},
{
"tier": 8.0,
"symbol": "GOAT/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000000.0,
- "maxNotional": 5500000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 2600000.0,
+ "maxNotional": 3900000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "5500000",
- "notionalFloor": "5000000",
- "maintMarginRatio": "0.25",
- "cum": "897450.0"
+ "initialLeverage": "3",
+ "notionalCap": "3900000",
+ "notionalFloor": "2600000",
+ "maintMarginRatio": "0.1667",
+ "cum": "233243.0"
}
},
{
"tier": 9.0,
"symbol": "GOAT/USDT:USDT",
"currency": "USDT",
- "minNotional": 5500000.0,
- "maxNotional": 6000000.0,
+ "minNotional": 3900000.0,
+ "maxNotional": 5200000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5200000",
+ "notionalFloor": "3900000",
+ "maintMarginRatio": "0.25",
+ "cum": "558113.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "GOAT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5200000.0,
+ "maxNotional": 7200000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "6000000",
- "notionalFloor": "5500000",
+ "notionalCap": "7200000",
+ "notionalFloor": "5200000",
"maintMarginRatio": "0.5",
- "cum": "2272450.0"
+ "cum": "1858113.0"
}
}
],
@@ -27687,33 +29953,50 @@
"symbol": "GPS/USDT:USDT",
"currency": "USDT",
"minNotional": 750000.0,
- "maxNotional": 1500000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "maxNotional": 1125000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "6",
- "initialLeverage": "2",
- "notionalCap": "1500000",
+ "initialLeverage": "3",
+ "notionalCap": "1125000",
"notionalFloor": "750000",
- "maintMarginRatio": "0.25",
- "cum": "116900.0"
+ "maintMarginRatio": "0.1667",
+ "cum": "54425.0"
}
},
{
"tier": 7.0,
"symbol": "GPS/USDT:USDT",
"currency": "USDT",
+ "minNotional": 1125000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "2",
+ "notionalCap": "1500000",
+ "notionalFloor": "1125000",
+ "maintMarginRatio": "0.25",
+ "cum": "148137.5"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "GPS/USDT:USDT",
+ "currency": "USDT",
"minNotional": 1500000.0,
"maxNotional": 3000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "7",
+ "bracket": "8",
"initialLeverage": "1",
"notionalCap": "3000000",
"notionalFloor": "1500000",
"maintMarginRatio": "0.5",
- "cum": "491900.0"
+ "cum": "523137.5"
}
}
],
@@ -28156,10 +30439,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -28173,10 +30456,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -28190,10 +30473,10 @@
"minNotional": 10000.0,
"maxNotional": 30000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "30000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -28207,10 +30490,10 @@
"minNotional": 30000.0,
"maxNotional": 60000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "60000",
"notionalFloor": "30000",
"maintMarginRatio": "0.025",
@@ -28224,10 +30507,10 @@
"minNotional": 60000.0,
"maxNotional": 300000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "300000",
"notionalFloor": "60000",
"maintMarginRatio": "0.05",
@@ -28241,10 +30524,10 @@
"minNotional": 300000.0,
"maxNotional": 600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "600000",
"notionalFloor": "300000",
"maintMarginRatio": "0.1",
@@ -28258,10 +30541,10 @@
"minNotional": 600000.0,
"maxNotional": 750000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "750000",
"notionalFloor": "600000",
"maintMarginRatio": "0.125",
@@ -28303,6 +30586,316 @@
}
}
],
+ "GUN/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "GUN/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": "GUN/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": "GUN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 10000.0,
+ "maxNotional": 30000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 25.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "25",
+ "notionalCap": "30000",
+ "notionalFloor": "10000",
+ "maintMarginRatio": "0.02",
+ "cum": "75.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "GUN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 30000.0,
+ "maxNotional": 60000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "20",
+ "notionalCap": "60000",
+ "notionalFloor": "30000",
+ "maintMarginRatio": "0.025",
+ "cum": "225.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "GUN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 60000.0,
+ "maxNotional": 300000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "10",
+ "notionalCap": "300000",
+ "notionalFloor": "60000",
+ "maintMarginRatio": "0.05",
+ "cum": "1725.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "GUN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 300000.0,
+ "maxNotional": 600000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "5",
+ "notionalCap": "600000",
+ "notionalFloor": "300000",
+ "maintMarginRatio": "0.1",
+ "cum": "16725.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "GUN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 600000.0,
+ "maxNotional": 750000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "4",
+ "notionalCap": "750000",
+ "notionalFloor": "600000",
+ "maintMarginRatio": "0.125",
+ "cum": "31725.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "GUN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 750000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "2",
+ "notionalCap": "1500000",
+ "notionalFloor": "750000",
+ "maintMarginRatio": "0.25",
+ "cum": "125475.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "GUN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "1",
+ "notionalCap": "3000000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.5",
+ "cum": "500475.0"
+ }
+ }
+ ],
+ "HAEDAL/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "HAEDAL/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": "HAEDAL/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": "HAEDAL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 10000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "20",
+ "notionalCap": "50000",
+ "notionalFloor": "10000",
+ "maintMarginRatio": "0.025",
+ "cum": "75.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "HAEDAL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 50000.0,
+ "maxNotional": 125000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "10",
+ "notionalCap": "125000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1325.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "HAEDAL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 125000.0,
+ "maxNotional": 250000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "5",
+ "notionalCap": "250000",
+ "notionalFloor": "125000",
+ "maintMarginRatio": "0.1",
+ "cum": "7575.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "HAEDAL/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": "HAEDAL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 500000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "3",
+ "notionalCap": "1500000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.1667",
+ "cum": "34675.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "HAEDAL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 2500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "2",
+ "notionalCap": "2500000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.25",
+ "cum": "159625.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "HAEDAL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 2500000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "1",
+ "notionalCap": "4000000",
+ "notionalFloor": "2500000",
+ "maintMarginRatio": "0.5",
+ "cum": "784625.0"
+ }
+ }
+ ],
"HBAR/USDC:USDC": [
{
"tier": 1.0,
@@ -28621,10 +31214,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -28638,10 +31231,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -28655,10 +31248,10 @@
"minNotional": 10000.0,
"maxNotional": 30000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "30000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -28672,10 +31265,10 @@
"minNotional": 30000.0,
"maxNotional": 60000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "60000",
"notionalFloor": "30000",
"maintMarginRatio": "0.025",
@@ -28689,10 +31282,10 @@
"minNotional": 60000.0,
"maxNotional": 300000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "300000",
"notionalFloor": "60000",
"maintMarginRatio": "0.05",
@@ -28706,10 +31299,10 @@
"minNotional": 300000.0,
"maxNotional": 600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "600000",
"notionalFloor": "300000",
"maintMarginRatio": "0.1",
@@ -28723,10 +31316,10 @@
"minNotional": 600000.0,
"maxNotional": 750000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "750000",
"notionalFloor": "600000",
"maintMarginRatio": "0.125",
@@ -29139,10 +31732,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 25.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "25",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -29156,10 +31749,10 @@
"minNotional": 5000.0,
"maxNotional": 16000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 20.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "20",
+ "initialLeverage": "10",
"notionalCap": "16000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -29173,10 +31766,10 @@
"minNotional": 16000.0,
"maxNotional": 80000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 15.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "3",
- "initialLeverage": "15",
+ "initialLeverage": "7",
"notionalCap": "80000",
"notionalFloor": "16000",
"maintMarginRatio": "0.02",
@@ -29190,10 +31783,10 @@
"minNotional": 80000.0,
"maxNotional": 160000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
+ "initialLeverage": "6",
"notionalCap": "160000",
"notionalFloor": "80000",
"maintMarginRatio": "0.025",
@@ -29207,10 +31800,10 @@
"minNotional": 160000.0,
"maxNotional": 800000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 8.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "8",
+ "initialLeverage": "5",
"notionalCap": "800000",
"notionalFloor": "160000",
"maintMarginRatio": "0.05",
@@ -29224,10 +31817,10 @@
"minNotional": 800000.0,
"maxNotional": 1600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1600000",
"notionalFloor": "800000",
"maintMarginRatio": "0.1",
@@ -29241,10 +31834,10 @@
"minNotional": 1600000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "2000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.125",
@@ -29449,10 +32042,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -29466,10 +32059,10 @@
"minNotional": 10000.0,
"maxNotional": 20000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "20000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -29483,10 +32076,10 @@
"minNotional": 20000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "8",
"notionalCap": "100000",
"notionalFloor": "20000",
"maintMarginRatio": "0.02",
@@ -29500,10 +32093,10 @@
"minNotional": 100000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "7",
"notionalCap": "200000",
"notionalFloor": "100000",
"maintMarginRatio": "0.025",
@@ -29517,10 +32110,10 @@
"minNotional": 200000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "6",
"notionalCap": "1000000",
"notionalFloor": "200000",
"maintMarginRatio": "0.05",
@@ -29566,33 +32159,50 @@
"symbol": "HMSTR/USDT:USDT",
"currency": "USDT",
"minNotional": 2500000.0,
- "maxNotional": 5000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "maxNotional": 3750000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "5000000",
+ "initialLeverage": "3",
+ "notionalCap": "3750000",
"notionalFloor": "2500000",
- "maintMarginRatio": "0.25",
- "cum": "418150.0"
+ "maintMarginRatio": "0.1667",
+ "cum": "209900.0"
}
},
{
"tier": 9.0,
"symbol": "HMSTR/USDT:USDT",
"currency": "USDT",
+ "minNotional": 3750000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3750000",
+ "maintMarginRatio": "0.25",
+ "cum": "522275.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "HMSTR/USDT:USDT",
+ "currency": "USDT",
"minNotional": 5000000.0,
"maxNotional": 10000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "10000000",
"notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "1668150.0"
+ "cum": "1772275.0"
}
}
],
@@ -29708,6 +32318,178 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "1",
+ "initialLeverage": "20",
+ "notionalCap": "5000",
+ "notionalFloor": "0",
+ "maintMarginRatio": "0.01",
+ "cum": "0.0"
+ }
+ },
+ {
+ "tier": 2.0,
+ "symbol": "HOT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000.0,
+ "maxNotional": 10000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 15.0,
+ "info": {
+ "bracket": "2",
+ "initialLeverage": "15",
+ "notionalCap": "10000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.015",
+ "cum": "25.0"
+ }
+ },
+ {
+ "tier": 3.0,
+ "symbol": "HOT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 10000.0,
+ "maxNotional": 35000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "10",
+ "notionalCap": "35000",
+ "notionalFloor": "10000",
+ "maintMarginRatio": "0.02",
+ "cum": "75.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "HOT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 35000.0,
+ "maxNotional": 70000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 7.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "7",
+ "notionalCap": "70000",
+ "notionalFloor": "35000",
+ "maintMarginRatio": "0.025",
+ "cum": "250.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "HOT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 70000.0,
+ "maxNotional": 350000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 6.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "6",
+ "notionalCap": "350000",
+ "notionalFloor": "70000",
+ "maintMarginRatio": "0.05",
+ "cum": "2000.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "HOT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 350000.0,
+ "maxNotional": 700000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "5",
+ "notionalCap": "700000",
+ "notionalFloor": "350000",
+ "maintMarginRatio": "0.1",
+ "cum": "19500.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "HOT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 700000.0,
+ "maxNotional": 1100000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "4",
+ "notionalCap": "1100000",
+ "notionalFloor": "700000",
+ "maintMarginRatio": "0.125",
+ "cum": "37000.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "HOT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1100000.0,
+ "maxNotional": 2550000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "2550000",
+ "notionalFloor": "1100000",
+ "maintMarginRatio": "0.1667",
+ "cum": "82870.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "HOT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 2550000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "4000000",
+ "notionalFloor": "2550000",
+ "maintMarginRatio": "0.25",
+ "cum": "295285.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "HOT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 4000000.0,
+ "maxNotional": 6800000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "10",
+ "initialLeverage": "1",
+ "notionalCap": "6800000",
+ "notionalFloor": "4000000",
+ "maintMarginRatio": "0.5",
+ "cum": "1295285.0"
+ }
+ }
+ ],
+ "HYPER/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "HYPER/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 0.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.01,
"maxLeverage": 75.0,
"info": {
"bracket": "1",
@@ -29720,7 +32502,7 @@
},
{
"tier": 2.0,
- "symbol": "HOT/USDT:USDT",
+ "symbol": "HYPER/USDT:USDT",
"currency": "USDT",
"minNotional": 5000.0,
"maxNotional": 10000.0,
@@ -29737,16 +32519,16 @@
},
{
"tier": 3.0,
- "symbol": "HOT/USDT:USDT",
+ "symbol": "HYPER/USDT:USDT",
"currency": "USDT",
"minNotional": 10000.0,
- "maxNotional": 50000.0,
+ "maxNotional": 25000.0,
"maintenanceMarginRate": 0.02,
"maxLeverage": 25.0,
"info": {
"bracket": "3",
"initialLeverage": "25",
- "notionalCap": "50000",
+ "notionalCap": "25000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
"cum": "75.0"
@@ -29754,104 +32536,121 @@
},
{
"tier": 4.0,
- "symbol": "HOT/USDT:USDT",
+ "symbol": "HYPER/USDT:USDT",
"currency": "USDT",
- "minNotional": 50000.0,
- "maxNotional": 100000.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
"maintenanceMarginRate": 0.025,
"maxLeverage": 20.0,
"info": {
"bracket": "4",
"initialLeverage": "20",
- "notionalCap": "100000",
- "notionalFloor": "50000",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
"maintMarginRatio": "0.025",
- "cum": "325.0"
+ "cum": "200.0"
}
},
{
"tier": 5.0,
- "symbol": "HOT/USDT:USDT",
+ "symbol": "HYPER/USDT:USDT",
"currency": "USDT",
- "minNotional": 100000.0,
- "maxNotional": 500000.0,
+ "minNotional": 50000.0,
+ "maxNotional": 125000.0,
"maintenanceMarginRate": 0.05,
"maxLeverage": 10.0,
"info": {
"bracket": "5",
"initialLeverage": "10",
- "notionalCap": "500000",
- "notionalFloor": "100000",
+ "notionalCap": "125000",
+ "notionalFloor": "50000",
"maintMarginRatio": "0.05",
- "cum": "2825.0"
+ "cum": "1450.0"
}
},
{
"tier": 6.0,
- "symbol": "HOT/USDT:USDT",
+ "symbol": "HYPER/USDT:USDT",
"currency": "USDT",
- "minNotional": 500000.0,
- "maxNotional": 1000000.0,
+ "minNotional": 125000.0,
+ "maxNotional": 250000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "1000000",
- "notionalFloor": "500000",
+ "notionalCap": "250000",
+ "notionalFloor": "125000",
"maintMarginRatio": "0.1",
- "cum": "27825.0"
+ "cum": "7700.0"
}
},
{
"tier": 7.0,
- "symbol": "HOT/USDT:USDT",
+ "symbol": "HYPER/USDT:USDT",
"currency": "USDT",
- "minNotional": 1000000.0,
- "maxNotional": 1250000.0,
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "1250000",
- "notionalFloor": "1000000",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
"maintMarginRatio": "0.125",
- "cum": "52825.0"
+ "cum": "13950.0"
}
},
{
"tier": 8.0,
- "symbol": "HOT/USDT:USDT",
+ "symbol": "HYPER/USDT:USDT",
"currency": "USDT",
- "minNotional": 1250000.0,
- "maxNotional": 2500000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 500000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "2500000",
- "notionalFloor": "1250000",
- "maintMarginRatio": "0.25",
- "cum": "209075.0"
+ "initialLeverage": "3",
+ "notionalCap": "1500000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.1667",
+ "cum": "34800.0"
}
},
{
"tier": 9.0,
- "symbol": "HOT/USDT:USDT",
+ "symbol": "HYPER/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 2500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "2500000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.25",
+ "cum": "159750.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "HYPER/USDT:USDT",
"currency": "USDT",
"minNotional": 2500000.0,
- "maxNotional": 5000000.0,
+ "maxNotional": 4000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "5000000",
+ "notionalCap": "4000000",
"notionalFloor": "2500000",
"maintMarginRatio": "0.5",
- "cum": "834075.0"
+ "cum": "784750.0"
}
}
],
@@ -30156,10 +32955,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -30173,10 +32972,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -30190,10 +32989,10 @@
"minNotional": 10000.0,
"maxNotional": 50000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "50000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -30207,10 +33006,10 @@
"minNotional": 50000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "100000",
"notionalFloor": "50000",
"maintMarginRatio": "0.025",
@@ -30224,10 +33023,10 @@
"minNotional": 100000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "500000",
"notionalFloor": "100000",
"maintMarginRatio": "0.05",
@@ -30241,10 +33040,10 @@
"minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.1",
@@ -30258,10 +33057,10 @@
"minNotional": 1000000.0,
"maxNotional": 1250000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "1250000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.125",
@@ -30666,6 +33465,178 @@
}
}
],
+ "INIT/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "INIT/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": "INIT/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": "INIT/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": "INIT/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": "INIT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 50000.0,
+ "maxNotional": 250000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "10",
+ "notionalCap": "250000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1450.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "INIT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "5",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
+ "maintMarginRatio": "0.1",
+ "cum": "13950.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "INIT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "4",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.125",
+ "cum": "26450.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "INIT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "68150.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "INIT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 3000000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "318050.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "INIT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000000.0,
+ "maxNotional": 8000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "10",
+ "initialLeverage": "1",
+ "notionalCap": "8000000",
+ "notionalFloor": "5000000",
+ "maintMarginRatio": "0.5",
+ "cum": "1568050.0"
+ }
+ }
+ ],
"INJ/USDT:USDT": [
{
"tier": 1.0,
@@ -30827,13 +33798,13 @@
"symbol": "IO/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 10000.0,
+ "maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
"maxLeverage": 75.0,
"info": {
"bracket": "1",
"initialLeverage": "75",
- "notionalCap": "10000",
+ "notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
"cum": "0.0"
@@ -30843,136 +33814,153 @@
"tier": 2.0,
"symbol": "IO/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 30000.0,
+ "minNotional": 5000.0,
+ "maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
"maxLeverage": 50.0,
"info": {
"bracket": "2",
"initialLeverage": "50",
- "notionalCap": "30000",
- "notionalFloor": "10000",
+ "notionalCap": "10000",
+ "notionalFloor": "5000",
"maintMarginRatio": "0.015",
- "cum": "50.0"
+ "cum": "25.0"
}
},
{
"tier": 3.0,
"symbol": "IO/USDT:USDT",
"currency": "USDT",
- "minNotional": 30000.0,
- "maxNotional": 150000.0,
+ "minNotional": 10000.0,
+ "maxNotional": 25000.0,
"maintenanceMarginRate": 0.02,
"maxLeverage": 25.0,
"info": {
"bracket": "3",
"initialLeverage": "25",
- "notionalCap": "150000",
- "notionalFloor": "30000",
+ "notionalCap": "25000",
+ "notionalFloor": "10000",
"maintMarginRatio": "0.02",
- "cum": "200.0"
+ "cum": "75.0"
}
},
{
"tier": 4.0,
"symbol": "IO/USDT:USDT",
"currency": "USDT",
- "minNotional": 150000.0,
- "maxNotional": 300000.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
"maintenanceMarginRate": 0.025,
"maxLeverage": 20.0,
"info": {
"bracket": "4",
"initialLeverage": "20",
- "notionalCap": "300000",
- "notionalFloor": "150000",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
"maintMarginRatio": "0.025",
- "cum": "950.0"
+ "cum": "200.0"
}
},
{
"tier": 5.0,
"symbol": "IO/USDT:USDT",
"currency": "USDT",
- "minNotional": 300000.0,
- "maxNotional": 1500000.0,
+ "minNotional": 50000.0,
+ "maxNotional": 250000.0,
"maintenanceMarginRate": 0.05,
"maxLeverage": 10.0,
"info": {
"bracket": "5",
"initialLeverage": "10",
- "notionalCap": "1500000",
- "notionalFloor": "300000",
+ "notionalCap": "250000",
+ "notionalFloor": "50000",
"maintMarginRatio": "0.05",
- "cum": "8450.0"
+ "cum": "1450.0"
}
},
{
"tier": 6.0,
"symbol": "IO/USDT:USDT",
"currency": "USDT",
- "minNotional": 1500000.0,
- "maxNotional": 3000000.0,
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "3000000",
- "notionalFloor": "1500000",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
"maintMarginRatio": "0.1",
- "cum": "83450.0"
+ "cum": "13950.0"
}
},
{
"tier": 7.0,
"symbol": "IO/USDT:USDT",
"currency": "USDT",
- "minNotional": 3000000.0,
- "maxNotional": 3750000.0,
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "3750000",
- "notionalFloor": "3000000",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
"maintMarginRatio": "0.125",
- "cum": "158450.0"
+ "cum": "26450.0"
}
},
{
"tier": 8.0,
"symbol": "IO/USDT:USDT",
"currency": "USDT",
- "minNotional": 3750000.0,
- "maxNotional": 7500000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "7500000",
- "notionalFloor": "3750000",
- "maintMarginRatio": "0.25",
- "cum": "627200.0"
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "68150.0"
}
},
{
"tier": 9.0,
"symbol": "IO/USDT:USDT",
"currency": "USDT",
- "minNotional": 7500000.0,
- "maxNotional": 15000000.0,
+ "minNotional": 3000000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "318050.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "IO/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000000.0,
+ "maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "15000000",
- "notionalFloor": "7500000",
+ "notionalCap": "8000000",
+ "notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "2502200.0"
+ "cum": "1568050.0"
}
}
],
@@ -31672,15 +34660,15 @@
"symbol": "JASMY/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 5000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 10.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 9.0,
"info": {
"bracket": "1",
- "initialLeverage": "10",
- "notionalCap": "5000",
+ "initialLeverage": "9",
+ "notionalCap": "25000",
"notionalFloor": "0",
- "maintMarginRatio": "0.015",
+ "maintMarginRatio": "0.02",
"cum": "0.0"
}
},
@@ -31688,38 +34676,21 @@
"tier": 2.0,
"symbol": "JASMY/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000.0,
- "maxNotional": 25000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 9.0,
- "info": {
- "bracket": "2",
- "initialLeverage": "9",
- "notionalCap": "25000",
- "notionalFloor": "5000",
- "maintMarginRatio": "0.02",
- "cum": "25.0"
- }
- },
- {
- "tier": 3.0,
- "symbol": "JASMY/USDT:USDT",
- "currency": "USDT",
"minNotional": 25000.0,
"maxNotional": 80000.0,
"maintenanceMarginRate": 0.025,
"maxLeverage": 8.0,
"info": {
- "bracket": "3",
+ "bracket": "2",
"initialLeverage": "8",
"notionalCap": "80000",
"notionalFloor": "25000",
"maintMarginRatio": "0.025",
- "cum": "150.0"
+ "cum": "125.0"
}
},
{
- "tier": 4.0,
+ "tier": 3.0,
"symbol": "JASMY/USDT:USDT",
"currency": "USDT",
"minNotional": 80000.0,
@@ -31727,16 +34698,16 @@
"maintenanceMarginRate": 0.05,
"maxLeverage": 6.0,
"info": {
- "bracket": "4",
+ "bracket": "3",
"initialLeverage": "6",
"notionalCap": "800000",
"notionalFloor": "80000",
"maintMarginRatio": "0.05",
- "cum": "2150.0"
+ "cum": "2125.0"
}
},
{
- "tier": 5.0,
+ "tier": 4.0,
"symbol": "JASMY/USDT:USDT",
"currency": "USDT",
"minNotional": 800000.0,
@@ -31744,16 +34715,16 @@
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
- "bracket": "5",
+ "bracket": "4",
"initialLeverage": "5",
"notionalCap": "1600000",
"notionalFloor": "800000",
"maintMarginRatio": "0.1",
- "cum": "42150.0"
+ "cum": "42125.0"
}
},
{
- "tier": 6.0,
+ "tier": 5.0,
"symbol": "JASMY/USDT:USDT",
"currency": "USDT",
"minNotional": 1600000.0,
@@ -31761,19 +34732,36 @@
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
- "bracket": "6",
+ "bracket": "5",
"initialLeverage": "4",
"notionalCap": "2000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.125",
- "cum": "82150.0"
+ "cum": "82125.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "JASMY/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 2000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "2000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "165525.0"
}
},
{
"tier": 7.0,
"symbol": "JASMY/USDT:USDT",
"currency": "USDT",
- "minNotional": 2000000.0,
+ "minNotional": 3000000.0,
"maxNotional": 4000000.0,
"maintenanceMarginRate": 0.25,
"maxLeverage": 2.0,
@@ -31781,9 +34769,9 @@
"bracket": "7",
"initialLeverage": "2",
"notionalCap": "4000000",
- "notionalFloor": "2000000",
+ "notionalFloor": "3000000",
"maintMarginRatio": "0.25",
- "cum": "332150.0"
+ "cum": "415425.0"
}
},
{
@@ -31800,7 +34788,7 @@
"notionalCap": "4500000",
"notionalFloor": "4000000",
"maintMarginRatio": "0.5",
- "cum": "1332150.0"
+ "cum": "1415425.0"
}
}
],
@@ -31812,10 +34800,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "25",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.02",
@@ -31829,10 +34817,10 @@
"minNotional": 5000.0,
"maxNotional": 25000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "20",
+ "initialLeverage": "10",
"notionalCap": "25000",
"notionalFloor": "5000",
"maintMarginRatio": "0.025",
@@ -31846,10 +34834,10 @@
"minNotional": 25000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "3",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "200000",
"notionalFloor": "25000",
"maintMarginRatio": "0.05",
@@ -31863,10 +34851,10 @@
"minNotional": 200000.0,
"maxNotional": 300000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "4",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "300000",
"notionalFloor": "200000",
"maintMarginRatio": "0.1",
@@ -31880,10 +34868,10 @@
"minNotional": 300000.0,
"maxNotional": 400000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "5",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "400000",
"notionalFloor": "300000",
"maintMarginRatio": "0.125",
@@ -31933,10 +34921,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -31950,10 +34938,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -31967,10 +34955,10 @@
"minNotional": 10000.0,
"maxNotional": 50000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "50000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -31984,10 +34972,10 @@
"minNotional": 50000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "100000",
"notionalFloor": "50000",
"maintMarginRatio": "0.025",
@@ -32001,10 +34989,10 @@
"minNotional": 100000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "500000",
"notionalFloor": "100000",
"maintMarginRatio": "0.05",
@@ -32018,10 +35006,10 @@
"minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.1",
@@ -32035,10 +35023,10 @@
"minNotional": 1000000.0,
"maxNotional": 1250000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "1250000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.125",
@@ -32080,6 +35068,178 @@
}
}
],
+ "JST/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "JST/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": "JST/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": "JST/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": "JST/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": "JST/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": "JST/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": "JST/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": "JST/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 500000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "1500000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.1667",
+ "cum": "34800.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "JST/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 2500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "2500000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.25",
+ "cum": "159750.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "JST/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 2500000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "10",
+ "initialLeverage": "1",
+ "notionalCap": "4000000",
+ "notionalFloor": "2500000",
+ "maintMarginRatio": "0.5",
+ "cum": "784750.0"
+ }
+ }
+ ],
"JTO/USDT:USDT": [
{
"tier": 1.0,
@@ -33303,6 +36463,161 @@
}
}
],
+ "KERNEL/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "KERNEL/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": "KERNEL/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": "KERNEL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 10000.0,
+ "maxNotional": 30000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 25.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "25",
+ "notionalCap": "30000",
+ "notionalFloor": "10000",
+ "maintMarginRatio": "0.02",
+ "cum": "75.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "KERNEL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 30000.0,
+ "maxNotional": 60000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "20",
+ "notionalCap": "60000",
+ "notionalFloor": "30000",
+ "maintMarginRatio": "0.025",
+ "cum": "225.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "KERNEL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 60000.0,
+ "maxNotional": 300000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "10",
+ "notionalCap": "300000",
+ "notionalFloor": "60000",
+ "maintMarginRatio": "0.05",
+ "cum": "1725.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "KERNEL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 300000.0,
+ "maxNotional": 600000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "5",
+ "notionalCap": "600000",
+ "notionalFloor": "300000",
+ "maintMarginRatio": "0.1",
+ "cum": "16725.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "KERNEL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 600000.0,
+ "maxNotional": 750000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "4",
+ "notionalCap": "750000",
+ "notionalFloor": "600000",
+ "maintMarginRatio": "0.125",
+ "cum": "31725.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "KERNEL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 750000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "2",
+ "notionalCap": "1500000",
+ "notionalFloor": "750000",
+ "maintMarginRatio": "0.25",
+ "cum": "125475.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "KERNEL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "1",
+ "notionalCap": "3000000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.5",
+ "cum": "500475.0"
+ }
+ }
+ ],
"KEY/USDT:USDT": [
{
"tier": 1.0,
@@ -35033,15 +38348,15 @@
"symbol": "LISTA/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 5000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxNotional": 4000.0,
+ "maintenanceMarginRate": 0.01,
+ "maxLeverage": 25.0,
"info": {
"bracket": "1",
- "initialLeverage": "50",
- "notionalCap": "5000",
+ "initialLeverage": "25",
+ "notionalCap": "4000",
"notionalFloor": "0",
- "maintMarginRatio": "0.015",
+ "maintMarginRatio": "0.01",
"cum": "0.0"
}
},
@@ -35049,72 +38364,89 @@
"tier": 2.0,
"symbol": "LISTA/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000.0,
- "maxNotional": 25000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "minNotional": 4000.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 20.0,
"info": {
"bracket": "2",
- "initialLeverage": "25",
- "notionalCap": "25000",
- "notionalFloor": "5000",
- "maintMarginRatio": "0.02",
- "cum": "25.0"
+ "initialLeverage": "20",
+ "notionalCap": "5000",
+ "notionalFloor": "4000",
+ "maintMarginRatio": "0.015",
+ "cum": "20.0"
}
},
{
"tier": 3.0,
"symbol": "LISTA/USDT:USDT",
"currency": "USDT",
- "minNotional": 25000.0,
- "maxNotional": 50000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "minNotional": 5000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "20",
- "notionalCap": "50000",
- "notionalFloor": "25000",
- "maintMarginRatio": "0.025",
- "cum": "150.0"
+ "initialLeverage": "10",
+ "notionalCap": "25000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.02",
+ "cum": "45.0"
}
},
{
"tier": 4.0,
"symbol": "LISTA/USDT:USDT",
"currency": "USDT",
- "minNotional": 50000.0,
- "maxNotional": 500000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "500000",
- "notionalFloor": "50000",
- "maintMarginRatio": "0.05",
- "cum": "1400.0"
+ "initialLeverage": "7",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.025",
+ "cum": "170.0"
}
},
{
"tier": 5.0,
"symbol": "LISTA/USDT:USDT",
"currency": "USDT",
+ "minNotional": 50000.0,
+ "maxNotional": 500000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 6.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "6",
+ "notionalCap": "500000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1420.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "LISTA/USDT:USDT",
+ "currency": "USDT",
"minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
- "bracket": "5",
+ "bracket": "6",
"initialLeverage": "5",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.1",
- "cum": "26400.0"
+ "cum": "26420.0"
}
},
{
- "tier": 6.0,
+ "tier": 7.0,
"symbol": "LISTA/USDT:USDT",
"currency": "USDT",
"minNotional": 1000000.0,
@@ -35122,46 +38454,63 @@
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
- "bracket": "6",
+ "bracket": "7",
"initialLeverage": "4",
"notionalCap": "1250000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.125",
- "cum": "51400.0"
- }
- },
- {
- "tier": 7.0,
- "symbol": "LISTA/USDT:USDT",
- "currency": "USDT",
- "minNotional": 1250000.0,
- "maxNotional": 2500000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
- "info": {
- "bracket": "7",
- "initialLeverage": "2",
- "notionalCap": "2500000",
- "notionalFloor": "1250000",
- "maintMarginRatio": "0.25",
- "cum": "207650.0"
+ "cum": "51420.0"
}
},
{
"tier": 8.0,
"symbol": "LISTA/USDT:USDT",
"currency": "USDT",
+ "minNotional": 1250000.0,
+ "maxNotional": 1875000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "1875000",
+ "notionalFloor": "1250000",
+ "maintMarginRatio": "0.1667",
+ "cum": "103545.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "LISTA/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1875000.0,
+ "maxNotional": 2500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "2500000",
+ "notionalFloor": "1875000",
+ "maintMarginRatio": "0.25",
+ "cum": "259732.5"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "LISTA/USDT:USDT",
+ "currency": "USDT",
"minNotional": 2500000.0,
"maxNotional": 5000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "8",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "5000000",
"notionalFloor": "2500000",
"maintMarginRatio": "0.5",
- "cum": "832650.0"
+ "cum": "884732.5"
}
}
],
@@ -35311,10 +38660,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -35328,10 +38677,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -35345,10 +38694,10 @@
"minNotional": 10000.0,
"maxNotional": 20000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "20000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -35362,10 +38711,10 @@
"minNotional": 20000.0,
"maxNotional": 40000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "40000",
"notionalFloor": "20000",
"maintMarginRatio": "0.025",
@@ -35379,10 +38728,10 @@
"minNotional": 40000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "200000",
"notionalFloor": "40000",
"maintMarginRatio": "0.05",
@@ -35396,10 +38745,10 @@
"minNotional": 200000.0,
"maxNotional": 400000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "400000",
"notionalFloor": "200000",
"maintMarginRatio": "0.1",
@@ -35413,10 +38762,10 @@
"minNotional": 400000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "500000",
"notionalFloor": "400000",
"maintMarginRatio": "0.125",
@@ -35570,10 +38919,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -35587,10 +38936,10 @@
"minNotional": 5000.0,
"maxNotional": 16000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "16000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -35604,10 +38953,10 @@
"minNotional": 16000.0,
"maxNotional": 80000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "80000",
"notionalFloor": "16000",
"maintMarginRatio": "0.02",
@@ -35621,10 +38970,10 @@
"minNotional": 80000.0,
"maxNotional": 160000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "160000",
"notionalFloor": "80000",
"maintMarginRatio": "0.025",
@@ -35638,10 +38987,10 @@
"minNotional": 160000.0,
"maxNotional": 800000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "800000",
"notionalFloor": "160000",
"maintMarginRatio": "0.05",
@@ -35655,10 +39004,10 @@
"minNotional": 800000.0,
"maxNotional": 1600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1600000",
"notionalFloor": "800000",
"maintMarginRatio": "0.1",
@@ -35672,10 +39021,10 @@
"minNotional": 1600000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "2000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.125",
@@ -35704,13 +39053,13 @@
"symbol": "LPT/USDT:USDT",
"currency": "USDT",
"minNotional": 4000000.0,
- "maxNotional": 8000000.0,
+ "maxNotional": 4500000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
"bracket": "9",
"initialLeverage": "1",
- "notionalCap": "8000000",
+ "notionalCap": "4500000",
"notionalFloor": "4000000",
"maintMarginRatio": "0.5",
"cum": "1334505.0"
@@ -36570,10 +39919,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -36587,10 +39936,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -36604,10 +39953,10 @@
"minNotional": 10000.0,
"maxNotional": 50000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "50000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -36621,10 +39970,10 @@
"minNotional": 50000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "100000",
"notionalFloor": "50000",
"maintMarginRatio": "0.025",
@@ -36638,10 +39987,10 @@
"minNotional": 100000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "500000",
"notionalFloor": "100000",
"maintMarginRatio": "0.05",
@@ -36655,10 +40004,10 @@
"minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.1",
@@ -36672,10 +40021,10 @@
"minNotional": 1000000.0,
"maxNotional": 1250000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "1250000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.125",
@@ -36725,10 +40074,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -36742,10 +40091,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -36759,10 +40108,10 @@
"minNotional": 10000.0,
"maxNotional": 50000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "50000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -36776,10 +40125,10 @@
"minNotional": 50000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "100000",
"notionalFloor": "50000",
"maintMarginRatio": "0.025",
@@ -36793,10 +40142,10 @@
"minNotional": 100000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "500000",
"notionalFloor": "100000",
"maintMarginRatio": "0.05",
@@ -36810,10 +40159,10 @@
"minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.1",
@@ -36827,10 +40176,10 @@
"minNotional": 1000000.0,
"maxNotional": 1250000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "1250000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.125",
@@ -36878,13 +40227,13 @@
"symbol": "MANA/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 5000.0,
+ "maxNotional": 10600.0,
"maintenanceMarginRate": 0.0065,
- "maxLeverage": 50.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "50",
- "notionalCap": "5000",
+ "initialLeverage": "20",
+ "notionalCap": "10600",
"notionalFloor": "0",
"maintMarginRatio": "0.0065",
"cum": "0.0"
@@ -36894,89 +40243,106 @@
"tier": 2.0,
"symbol": "MANA/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000.0,
- "maxNotional": 25000.0,
- "maintenanceMarginRate": 0.0075,
- "maxLeverage": 40.0,
+ "minNotional": 10600.0,
+ "maxNotional": 23000.0,
+ "maintenanceMarginRate": 0.01,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "40",
- "notionalCap": "25000",
- "notionalFloor": "5000",
- "maintMarginRatio": "0.0075",
- "cum": "5.0"
+ "initialLeverage": "10",
+ "notionalCap": "23000",
+ "notionalFloor": "10600",
+ "maintMarginRatio": "0.01",
+ "cum": "37.1"
}
},
{
"tier": 3.0,
"symbol": "MANA/USDT:USDT",
"currency": "USDT",
- "minNotional": 25000.0,
- "maxNotional": 50000.0,
- "maintenanceMarginRate": 0.01,
- "maxLeverage": 25.0,
+ "minNotional": 23000.0,
+ "maxNotional": 30000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 9.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
- "notionalCap": "50000",
- "notionalFloor": "25000",
- "maintMarginRatio": "0.01",
- "cum": "67.5"
+ "initialLeverage": "9",
+ "notionalCap": "30000",
+ "notionalFloor": "23000",
+ "maintMarginRatio": "0.015",
+ "cum": "152.1"
}
},
{
"tier": 4.0,
"symbol": "MANA/USDT:USDT",
"currency": "USDT",
- "minNotional": 50000.0,
- "maxNotional": 150000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "minNotional": 30000.0,
+ "maxNotional": 47000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 8.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
- "notionalCap": "150000",
- "notionalFloor": "50000",
- "maintMarginRatio": "0.025",
- "cum": "817.5"
+ "initialLeverage": "8",
+ "notionalCap": "47000",
+ "notionalFloor": "30000",
+ "maintMarginRatio": "0.02",
+ "cum": "302.1"
}
},
{
"tier": 5.0,
"symbol": "MANA/USDT:USDT",
"currency": "USDT",
- "minNotional": 150000.0,
- "maxNotional": 250000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "minNotional": 47000.0,
+ "maxNotional": 90000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 7.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
- "notionalCap": "250000",
- "notionalFloor": "150000",
- "maintMarginRatio": "0.05",
- "cum": "4567.5"
+ "initialLeverage": "7",
+ "notionalCap": "90000",
+ "notionalFloor": "47000",
+ "maintMarginRatio": "0.025",
+ "cum": "537.1"
}
},
{
"tier": 6.0,
"symbol": "MANA/USDT:USDT",
"currency": "USDT",
+ "minNotional": 90000.0,
+ "maxNotional": 250000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 6.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "6",
+ "notionalCap": "250000",
+ "notionalFloor": "90000",
+ "maintMarginRatio": "0.05",
+ "cum": "2787.1"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "MANA/USDT:USDT",
+ "currency": "USDT",
"minNotional": 250000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
- "bracket": "6",
+ "bracket": "7",
"initialLeverage": "5",
"notionalCap": "500000",
"notionalFloor": "250000",
"maintMarginRatio": "0.1",
- "cum": "17067.5"
+ "cum": "15287.1"
}
},
{
- "tier": 7.0,
+ "tier": 8.0,
"symbol": "MANA/USDT:USDT",
"currency": "USDT",
"minNotional": 500000.0,
@@ -36984,46 +40350,63 @@
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
- "bracket": "7",
+ "bracket": "8",
"initialLeverage": "4",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.125",
- "cum": "29567.5"
- }
- },
- {
- "tier": 8.0,
- "symbol": "MANA/USDT:USDT",
- "currency": "USDT",
- "minNotional": 1000000.0,
- "maxNotional": 5000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
- "info": {
- "bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "5000000",
- "notionalFloor": "1000000",
- "maintMarginRatio": "0.25",
- "cum": "154567.5"
+ "cum": "27787.1"
}
},
{
"tier": 9.0,
"symbol": "MANA/USDT:USDT",
"currency": "USDT",
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "69487.1"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "MANA/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 3000000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "10",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "319387.1"
+ }
+ },
+ {
+ "tier": 11.0,
+ "symbol": "MANA/USDT:USDT",
+ "currency": "USDT",
"minNotional": 5000000.0,
- "maxNotional": 10000000.0,
+ "maxNotional": 8800000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "11",
"initialLeverage": "1",
- "notionalCap": "10000000",
+ "notionalCap": "8800000",
"notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "1404567.5"
+ "cum": "1569387.1"
}
}
],
@@ -37035,282 +40418,6 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 50.0,
- "info": {
- "bracket": "1",
- "initialLeverage": "50",
- "notionalCap": "5000",
- "notionalFloor": "0",
- "maintMarginRatio": "0.01",
- "cum": "0.0"
- }
- },
- {
- "tier": 2.0,
- "symbol": "MANTA/USDT:USDT",
- "currency": "USDT",
- "minNotional": 5000.0,
- "maxNotional": 50000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
- "info": {
- "bracket": "2",
- "initialLeverage": "25",
- "notionalCap": "50000",
- "notionalFloor": "5000",
- "maintMarginRatio": "0.02",
- "cum": "50.0"
- }
- },
- {
- "tier": 3.0,
- "symbol": "MANTA/USDT:USDT",
- "currency": "USDT",
- "minNotional": 50000.0,
- "maxNotional": 100000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
- "info": {
- "bracket": "3",
- "initialLeverage": "20",
- "notionalCap": "100000",
- "notionalFloor": "50000",
- "maintMarginRatio": "0.025",
- "cum": "300.0"
- }
- },
- {
- "tier": 4.0,
- "symbol": "MANTA/USDT:USDT",
- "currency": "USDT",
- "minNotional": 100000.0,
- "maxNotional": 1000000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
- "info": {
- "bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "1000000",
- "notionalFloor": "100000",
- "maintMarginRatio": "0.05",
- "cum": "2800.0"
- }
- },
- {
- "tier": 5.0,
- "symbol": "MANTA/USDT:USDT",
- "currency": "USDT",
- "minNotional": 1000000.0,
- "maxNotional": 2000000.0,
- "maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
- "info": {
- "bracket": "5",
- "initialLeverage": "5",
- "notionalCap": "2000000",
- "notionalFloor": "1000000",
- "maintMarginRatio": "0.1",
- "cum": "52800.0"
- }
- },
- {
- "tier": 6.0,
- "symbol": "MANTA/USDT:USDT",
- "currency": "USDT",
- "minNotional": 2000000.0,
- "maxNotional": 2500000.0,
- "maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
- "info": {
- "bracket": "6",
- "initialLeverage": "4",
- "notionalCap": "2500000",
- "notionalFloor": "2000000",
- "maintMarginRatio": "0.125",
- "cum": "102800.0"
- }
- },
- {
- "tier": 7.0,
- "symbol": "MANTA/USDT:USDT",
- "currency": "USDT",
- "minNotional": 2500000.0,
- "maxNotional": 5000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
- "info": {
- "bracket": "7",
- "initialLeverage": "2",
- "notionalCap": "5000000",
- "notionalFloor": "2500000",
- "maintMarginRatio": "0.25",
- "cum": "415300.0"
- }
- },
- {
- "tier": 8.0,
- "symbol": "MANTA/USDT:USDT",
- "currency": "USDT",
- "minNotional": 5000000.0,
- "maxNotional": 10000000.0,
- "maintenanceMarginRate": 0.5,
- "maxLeverage": 1.0,
- "info": {
- "bracket": "8",
- "initialLeverage": "1",
- "notionalCap": "10000000",
- "notionalFloor": "5000000",
- "maintMarginRatio": "0.5",
- "cum": "1665300.0"
- }
- }
- ],
- "MASK/USDT:USDT": [
- {
- "tier": 1.0,
- "symbol": "MASK/USDT:USDT",
- "currency": "USDT",
- "minNotional": 0.0,
- "maxNotional": 5000.0,
- "maintenanceMarginRate": 0.01,
- "maxLeverage": 50.0,
- "info": {
- "bracket": "1",
- "initialLeverage": "50",
- "notionalCap": "5000",
- "notionalFloor": "0",
- "maintMarginRatio": "0.01",
- "cum": "0.0"
- }
- },
- {
- "tier": 2.0,
- "symbol": "MASK/USDT:USDT",
- "currency": "USDT",
- "minNotional": 5000.0,
- "maxNotional": 25000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
- "info": {
- "bracket": "2",
- "initialLeverage": "25",
- "notionalCap": "25000",
- "notionalFloor": "5000",
- "maintMarginRatio": "0.02",
- "cum": "50.0"
- }
- },
- {
- "tier": 3.0,
- "symbol": "MASK/USDT:USDT",
- "currency": "USDT",
- "minNotional": 25000.0,
- "maxNotional": 900000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
- "info": {
- "bracket": "3",
- "initialLeverage": "20",
- "notionalCap": "900000",
- "notionalFloor": "25000",
- "maintMarginRatio": "0.025",
- "cum": "175.0"
- }
- },
- {
- "tier": 4.0,
- "symbol": "MASK/USDT:USDT",
- "currency": "USDT",
- "minNotional": 900000.0,
- "maxNotional": 1800000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
- "info": {
- "bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "1800000",
- "notionalFloor": "900000",
- "maintMarginRatio": "0.05",
- "cum": "22675.0"
- }
- },
- {
- "tier": 5.0,
- "symbol": "MASK/USDT:USDT",
- "currency": "USDT",
- "minNotional": 1800000.0,
- "maxNotional": 4800000.0,
- "maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
- "info": {
- "bracket": "5",
- "initialLeverage": "5",
- "notionalCap": "4800000",
- "notionalFloor": "1800000",
- "maintMarginRatio": "0.1",
- "cum": "112675.0"
- }
- },
- {
- "tier": 6.0,
- "symbol": "MASK/USDT:USDT",
- "currency": "USDT",
- "minNotional": 4800000.0,
- "maxNotional": 6000000.0,
- "maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
- "info": {
- "bracket": "6",
- "initialLeverage": "4",
- "notionalCap": "6000000",
- "notionalFloor": "4800000",
- "maintMarginRatio": "0.125",
- "cum": "232675.0"
- }
- },
- {
- "tier": 7.0,
- "symbol": "MASK/USDT:USDT",
- "currency": "USDT",
- "minNotional": 6000000.0,
- "maxNotional": 18000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
- "info": {
- "bracket": "7",
- "initialLeverage": "2",
- "notionalCap": "18000000",
- "notionalFloor": "6000000",
- "maintMarginRatio": "0.25",
- "cum": "982675.0"
- }
- },
- {
- "tier": 8.0,
- "symbol": "MASK/USDT:USDT",
- "currency": "USDT",
- "minNotional": 18000000.0,
- "maxNotional": 30000000.0,
- "maintenanceMarginRate": 0.5,
- "maxLeverage": 1.0,
- "info": {
- "bracket": "8",
- "initialLeverage": "1",
- "notionalCap": "30000000",
- "notionalFloor": "18000000",
- "maintMarginRatio": "0.5",
- "cum": "5482675.0"
- }
- }
- ],
- "MAV/USDT:USDT": [
- {
- "tier": 1.0,
- "symbol": "MAV/USDT:USDT",
- "currency": "USDT",
- "minNotional": 0.0,
- "maxNotional": 5000.0,
- "maintenanceMarginRate": 0.01,
"maxLeverage": 75.0,
"info": {
"bracket": "1",
@@ -37323,7 +40430,7 @@
},
{
"tier": 2.0,
- "symbol": "MAV/USDT:USDT",
+ "symbol": "MANTA/USDT:USDT",
"currency": "USDT",
"minNotional": 5000.0,
"maxNotional": 10000.0,
@@ -37340,15 +40447,359 @@
},
{
"tier": 3.0,
- "symbol": "MAV/USDT:USDT",
+ "symbol": "MANTA/USDT:USDT",
"currency": "USDT",
"minNotional": 10000.0,
- "maxNotional": 50000.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": "MANTA/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": "MANTA/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 50000.0,
+ "maxNotional": 250000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "10",
+ "notionalCap": "250000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1450.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "MANTA/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "5",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
+ "maintMarginRatio": "0.1",
+ "cum": "13950.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "MANTA/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "4",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.125",
+ "cum": "26450.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "MANTA/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "68150.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "MANTA/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 3000000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "318050.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "MANTA/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000000.0,
+ "maxNotional": 8000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "10",
+ "initialLeverage": "1",
+ "notionalCap": "8000000",
+ "notionalFloor": "5000000",
+ "maintMarginRatio": "0.5",
+ "cum": "1568050.0"
+ }
+ }
+ ],
+ "MASK/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "MASK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 0.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.01,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "1",
+ "initialLeverage": "20",
+ "notionalCap": "5000",
+ "notionalFloor": "0",
+ "maintMarginRatio": "0.01",
+ "cum": "0.0"
+ }
+ },
+ {
+ "tier": 2.0,
+ "symbol": "MASK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000.0,
+ "maxNotional": 10000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 15.0,
+ "info": {
+ "bracket": "2",
+ "initialLeverage": "15",
+ "notionalCap": "10000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.015",
+ "cum": "25.0"
+ }
+ },
+ {
+ "tier": 3.0,
+ "symbol": "MASK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 10000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "10",
+ "notionalCap": "25000",
+ "notionalFloor": "10000",
+ "maintMarginRatio": "0.02",
+ "cum": "75.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "MASK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 25000.0,
+ "maxNotional": 900000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 7.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "7",
+ "notionalCap": "900000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.025",
+ "cum": "200.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "MASK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 900000.0,
+ "maxNotional": 1800000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 6.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "6",
+ "notionalCap": "1800000",
+ "notionalFloor": "900000",
+ "maintMarginRatio": "0.05",
+ "cum": "22700.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "MASK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1800000.0,
+ "maxNotional": 4800000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "5",
+ "notionalCap": "4800000",
+ "notionalFloor": "1800000",
+ "maintMarginRatio": "0.1",
+ "cum": "112700.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "MASK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 4800000.0,
+ "maxNotional": 6000000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "4",
+ "notionalCap": "6000000",
+ "notionalFloor": "4800000",
+ "maintMarginRatio": "0.125",
+ "cum": "232700.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "MASK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 6000000.0,
+ "maxNotional": 12000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "12000000",
+ "notionalFloor": "6000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "482900.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "MASK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 12000000.0,
+ "maxNotional": 18000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "18000000",
+ "notionalFloor": "12000000",
+ "maintMarginRatio": "0.25",
+ "cum": "1482500.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "MASK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 18000000.0,
+ "maxNotional": 30000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "10",
+ "initialLeverage": "1",
+ "notionalCap": "30000000",
+ "notionalFloor": "18000000",
+ "maintMarginRatio": "0.5",
+ "cum": "5982500.0"
+ }
+ }
+ ],
+ "MAV/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "MAV/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 0.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.01,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "1",
+ "initialLeverage": "20",
+ "notionalCap": "5000",
+ "notionalFloor": "0",
+ "maintMarginRatio": "0.01",
+ "cum": "0.0"
+ }
+ },
+ {
+ "tier": 2.0,
+ "symbol": "MAV/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000.0,
+ "maxNotional": 10000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 15.0,
+ "info": {
+ "bracket": "2",
+ "initialLeverage": "15",
+ "notionalCap": "10000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.015",
+ "cum": "25.0"
+ }
+ },
+ {
+ "tier": 3.0,
+ "symbol": "MAV/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 10000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "10",
"notionalCap": "50000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -37362,10 +40813,10 @@
"minNotional": 50000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "100000",
"notionalFloor": "50000",
"maintMarginRatio": "0.025",
@@ -37379,10 +40830,10 @@
"minNotional": 100000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "500000",
"notionalFloor": "100000",
"maintMarginRatio": "0.05",
@@ -37396,10 +40847,10 @@
"minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.1",
@@ -37413,10 +40864,10 @@
"minNotional": 1000000.0,
"maxNotional": 1250000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "1250000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.125",
@@ -38139,10 +41590,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -38156,10 +41607,10 @@
"minNotional": 5000.0,
"maxNotional": 16000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "16000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -38173,10 +41624,10 @@
"minNotional": 16000.0,
"maxNotional": 80000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "7",
"notionalCap": "80000",
"notionalFloor": "16000",
"maintMarginRatio": "0.02",
@@ -38190,10 +41641,10 @@
"minNotional": 80000.0,
"maxNotional": 160000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "160000",
"notionalFloor": "80000",
"maintMarginRatio": "0.025",
@@ -38207,10 +41658,10 @@
"minNotional": 160000.0,
"maxNotional": 800000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "800000",
"notionalFloor": "160000",
"maintMarginRatio": "0.05",
@@ -38224,10 +41675,10 @@
"minNotional": 800000.0,
"maxNotional": 1600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1600000",
"notionalFloor": "800000",
"maintMarginRatio": "0.1",
@@ -38241,10 +41692,10 @@
"minNotional": 1600000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "2000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.125",
@@ -38286,6 +41737,161 @@
}
}
],
+ "MEMEFI/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "MEMEFI/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": "MEMEFI/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": "MEMEFI/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 10000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "20",
+ "notionalCap": "50000",
+ "notionalFloor": "10000",
+ "maintMarginRatio": "0.025",
+ "cum": "75.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "MEMEFI/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 50000.0,
+ "maxNotional": 125000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "10",
+ "notionalCap": "125000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1325.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "MEMEFI/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 125000.0,
+ "maxNotional": 250000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "5",
+ "notionalCap": "250000",
+ "notionalFloor": "125000",
+ "maintMarginRatio": "0.1",
+ "cum": "7575.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "MEMEFI/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": "MEMEFI/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 500000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "3",
+ "notionalCap": "1500000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.1667",
+ "cum": "34675.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "MEMEFI/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 2500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "2",
+ "notionalCap": "2500000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.25",
+ "cum": "159625.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "MEMEFI/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 2500000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "1",
+ "notionalCap": "4000000",
+ "notionalFloor": "2500000",
+ "maintMarginRatio": "0.5",
+ "cum": "784625.0"
+ }
+ }
+ ],
"METIS/USDT:USDT": [
{
"tier": 1.0,
@@ -38413,15 +42019,15 @@
"symbol": "MEW/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 10000.0,
- "maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 50.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
- "notionalCap": "10000",
+ "initialLeverage": "50",
+ "notionalCap": "5000",
"notionalFloor": "0",
- "maintMarginRatio": "0.01",
+ "maintMarginRatio": "0.015",
"cum": "0.0"
}
},
@@ -38429,136 +42035,136 @@
"tier": 2.0,
"symbol": "MEW/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 60000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "minNotional": 5000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 25.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
- "notionalCap": "60000",
- "notionalFloor": "10000",
- "maintMarginRatio": "0.015",
- "cum": "50.0"
+ "initialLeverage": "25",
+ "notionalCap": "25000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.02",
+ "cum": "25.0"
}
},
{
"tier": 3.0,
"symbol": "MEW/USDT:USDT",
"currency": "USDT",
- "minNotional": 60000.0,
- "maxNotional": 300000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
- "notionalCap": "300000",
- "notionalFloor": "60000",
- "maintMarginRatio": "0.02",
- "cum": "350.0"
+ "initialLeverage": "20",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.025",
+ "cum": "150.0"
}
},
{
"tier": 4.0,
"symbol": "MEW/USDT:USDT",
"currency": "USDT",
- "minNotional": 300000.0,
- "maxNotional": 600000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "minNotional": 50000.0,
+ "maxNotional": 250000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
- "notionalCap": "600000",
- "notionalFloor": "300000",
- "maintMarginRatio": "0.025",
- "cum": "1850.0"
+ "initialLeverage": "10",
+ "notionalCap": "250000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1400.0"
}
},
{
"tier": 5.0,
"symbol": "MEW/USDT:USDT",
"currency": "USDT",
- "minNotional": 600000.0,
- "maxNotional": 900000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
- "notionalCap": "900000",
- "notionalFloor": "600000",
- "maintMarginRatio": "0.05",
- "cum": "16850.0"
+ "initialLeverage": "5",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
+ "maintMarginRatio": "0.1",
+ "cum": "13900.0"
}
},
{
"tier": 6.0,
"symbol": "MEW/USDT:USDT",
"currency": "USDT",
- "minNotional": 900000.0,
- "maxNotional": 1200000.0,
- "maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
- "notionalCap": "1200000",
- "notionalFloor": "900000",
- "maintMarginRatio": "0.1",
- "cum": "61850.0"
+ "initialLeverage": "4",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.125",
+ "cum": "26400.0"
}
},
{
"tier": 7.0,
"symbol": "MEW/USDT:USDT",
"currency": "USDT",
- "minNotional": 1200000.0,
- "maxNotional": 1500000.0,
- "maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
- "notionalCap": "1500000",
- "notionalFloor": "1200000",
- "maintMarginRatio": "0.125",
- "cum": "91850.0"
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "68100.0"
}
},
{
"tier": 8.0,
"symbol": "MEW/USDT:USDT",
"currency": "USDT",
- "minNotional": 1500000.0,
- "maxNotional": 1800000.0,
+ "minNotional": 3000000.0,
+ "maxNotional": 5000000.0,
"maintenanceMarginRate": 0.25,
"maxLeverage": 2.0,
"info": {
"bracket": "8",
"initialLeverage": "2",
- "notionalCap": "1800000",
- "notionalFloor": "1500000",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
"maintMarginRatio": "0.25",
- "cum": "279350.0"
+ "cum": "318000.0"
}
},
{
"tier": 9.0,
"symbol": "MEW/USDT:USDT",
"currency": "USDT",
- "minNotional": 1800000.0,
- "maxNotional": 2000000.0,
+ "minNotional": 5000000.0,
+ "maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
"bracket": "9",
"initialLeverage": "1",
- "notionalCap": "2000000",
- "notionalFloor": "1800000",
+ "notionalCap": "8000000",
+ "notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "729350.0"
+ "cum": "1568000.0"
}
}
],
@@ -38855,6 +42461,144 @@
}
}
],
+ "MLN/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "MLN/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": "MLN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000.0,
+ "maxNotional": 20000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 25.0,
+ "info": {
+ "bracket": "2",
+ "initialLeverage": "25",
+ "notionalCap": "20000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.02",
+ "cum": "25.0"
+ }
+ },
+ {
+ "tier": 3.0,
+ "symbol": "MLN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 20000.0,
+ "maxNotional": 30000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "20",
+ "notionalCap": "30000",
+ "notionalFloor": "20000",
+ "maintMarginRatio": "0.025",
+ "cum": "125.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "MLN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 30000.0,
+ "maxNotional": 300000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "10",
+ "notionalCap": "300000",
+ "notionalFloor": "30000",
+ "maintMarginRatio": "0.05",
+ "cum": "875.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "MLN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 300000.0,
+ "maxNotional": 600000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "5",
+ "notionalCap": "600000",
+ "notionalFloor": "300000",
+ "maintMarginRatio": "0.1",
+ "cum": "15875.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "MLN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 600000.0,
+ "maxNotional": 750000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "4",
+ "notionalCap": "750000",
+ "notionalFloor": "600000",
+ "maintMarginRatio": "0.125",
+ "cum": "30875.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "MLN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 750000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "2",
+ "notionalCap": "1500000",
+ "notionalFloor": "750000",
+ "maintMarginRatio": "0.25",
+ "cum": "124625.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "MLN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "1",
+ "notionalCap": "3000000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.5",
+ "cum": "499625.0"
+ }
+ }
+ ],
"MOCA/USDT:USDT": [
{
"tier": 1.0,
@@ -39016,13 +42760,13 @@
"symbol": "MOODENG/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 10000.0,
+ "maxNotional": 4600.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 25.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "25",
- "notionalCap": "10000",
+ "initialLeverage": "20",
+ "notionalCap": "4600",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
"cum": "0.0"
@@ -39032,136 +42776,153 @@
"tier": 2.0,
"symbol": "MOODENG/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 80000.0,
+ "minNotional": 4600.0,
+ "maxNotional": 35000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 20.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "20",
- "notionalCap": "80000",
- "notionalFloor": "10000",
+ "initialLeverage": "10",
+ "notionalCap": "35000",
+ "notionalFloor": "4600",
"maintMarginRatio": "0.015",
- "cum": "50.0"
+ "cum": "23.0"
}
},
{
"tier": 3.0,
"symbol": "MOODENG/USDT:USDT",
"currency": "USDT",
- "minNotional": 80000.0,
- "maxNotional": 400000.0,
+ "minNotional": 35000.0,
+ "maxNotional": 175000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 15.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "15",
- "notionalCap": "400000",
- "notionalFloor": "80000",
+ "initialLeverage": "8",
+ "notionalCap": "175000",
+ "notionalFloor": "35000",
"maintMarginRatio": "0.02",
- "cum": "450.0"
+ "cum": "198.0"
}
},
{
"tier": 4.0,
"symbol": "MOODENG/USDT:USDT",
"currency": "USDT",
- "minNotional": 400000.0,
- "maxNotional": 800000.0,
+ "minNotional": 175000.0,
+ "maxNotional": 350000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 10.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "800000",
- "notionalFloor": "400000",
+ "initialLeverage": "7",
+ "notionalCap": "350000",
+ "notionalFloor": "175000",
"maintMarginRatio": "0.025",
- "cum": "2450.0"
+ "cum": "1073.0"
}
},
{
"tier": 5.0,
"symbol": "MOODENG/USDT:USDT",
"currency": "USDT",
- "minNotional": 800000.0,
- "maxNotional": 4000000.0,
+ "minNotional": 350000.0,
+ "maxNotional": 1750000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 8.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "8",
- "notionalCap": "4000000",
- "notionalFloor": "800000",
+ "initialLeverage": "6",
+ "notionalCap": "1750000",
+ "notionalFloor": "350000",
"maintMarginRatio": "0.05",
- "cum": "22450.0"
+ "cum": "9823.0"
}
},
{
"tier": 6.0,
"symbol": "MOODENG/USDT:USDT",
"currency": "USDT",
- "minNotional": 4000000.0,
- "maxNotional": 4500000.0,
+ "minNotional": 1750000.0,
+ "maxNotional": 2100000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "4500000",
- "notionalFloor": "4000000",
+ "notionalCap": "2100000",
+ "notionalFloor": "1750000",
"maintMarginRatio": "0.1",
- "cum": "222450.0"
+ "cum": "97323.0"
}
},
{
"tier": 7.0,
"symbol": "MOODENG/USDT:USDT",
"currency": "USDT",
- "minNotional": 4500000.0,
- "maxNotional": 5000000.0,
+ "minNotional": 2100000.0,
+ "maxNotional": 2600000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "5000000",
- "notionalFloor": "4500000",
+ "notionalCap": "2600000",
+ "notionalFloor": "2100000",
"maintMarginRatio": "0.125",
- "cum": "334950.0"
+ "cum": "149823.0"
}
},
{
"tier": 8.0,
"symbol": "MOODENG/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000000.0,
- "maxNotional": 5500000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 2600000.0,
+ "maxNotional": 3900000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "5500000",
- "notionalFloor": "5000000",
- "maintMarginRatio": "0.25",
- "cum": "959950.0"
+ "initialLeverage": "3",
+ "notionalCap": "3900000",
+ "notionalFloor": "2600000",
+ "maintMarginRatio": "0.1667",
+ "cum": "258243.0"
}
},
{
"tier": 9.0,
"symbol": "MOODENG/USDT:USDT",
"currency": "USDT",
- "minNotional": 5500000.0,
- "maxNotional": 6000000.0,
+ "minNotional": 3900000.0,
+ "maxNotional": 5200000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5200000",
+ "notionalFloor": "3900000",
+ "maintMarginRatio": "0.25",
+ "cum": "583113.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "MOODENG/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5200000.0,
+ "maxNotional": 7200000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "6000000",
- "notionalFloor": "5500000",
+ "notionalCap": "7200000",
+ "notionalFloor": "5200000",
"maintMarginRatio": "0.5",
- "cum": "2334950.0"
+ "cum": "1883113.0"
}
}
],
@@ -39602,15 +43363,15 @@
"symbol": "MTL/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 5000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxNotional": 4200.0,
+ "maintenanceMarginRate": 0.01,
+ "maxLeverage": 26.0,
"info": {
"bracket": "1",
- "initialLeverage": "25",
- "notionalCap": "5000",
+ "initialLeverage": "26",
+ "notionalCap": "4200",
"notionalFloor": "0",
- "maintMarginRatio": "0.02",
+ "maintMarginRatio": "0.01",
"cum": "0.0"
}
},
@@ -39618,102 +43379,153 @@
"tier": 2.0,
"symbol": "MTL/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000.0,
- "maxNotional": 25000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "minNotional": 4200.0,
+ "maxNotional": 7600.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 25.0,
"info": {
"bracket": "2",
- "initialLeverage": "20",
- "notionalCap": "25000",
- "notionalFloor": "5000",
- "maintMarginRatio": "0.025",
- "cum": "25.0"
+ "initialLeverage": "25",
+ "notionalCap": "7600",
+ "notionalFloor": "4200",
+ "maintMarginRatio": "0.015",
+ "cum": "21.0"
}
},
{
"tier": 3.0,
"symbol": "MTL/USDT:USDT",
"currency": "USDT",
- "minNotional": 25000.0,
- "maxNotional": 600000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "minNotional": 7600.0,
+ "maxNotional": 17000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 20.0,
"info": {
"bracket": "3",
- "initialLeverage": "10",
- "notionalCap": "600000",
- "notionalFloor": "25000",
- "maintMarginRatio": "0.05",
- "cum": "650.0"
+ "initialLeverage": "20",
+ "notionalCap": "17000",
+ "notionalFloor": "7600",
+ "maintMarginRatio": "0.02",
+ "cum": "59.0"
}
},
{
"tier": 4.0,
"symbol": "MTL/USDT:USDT",
"currency": "USDT",
- "minNotional": 600000.0,
- "maxNotional": 1600000.0,
- "maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "minNotional": 17000.0,
+ "maxNotional": 40000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 10.0,
"info": {
"bracket": "4",
- "initialLeverage": "5",
- "notionalCap": "1600000",
- "notionalFloor": "600000",
- "maintMarginRatio": "0.1",
- "cum": "30650.0"
+ "initialLeverage": "10",
+ "notionalCap": "40000",
+ "notionalFloor": "17000",
+ "maintMarginRatio": "0.025",
+ "cum": "144.0"
}
},
{
"tier": 5.0,
"symbol": "MTL/USDT:USDT",
"currency": "USDT",
- "minNotional": 1600000.0,
- "maxNotional": 2000000.0,
- "maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "minNotional": 40000.0,
+ "maxNotional": 390000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "4",
- "notionalCap": "2000000",
- "notionalFloor": "1600000",
- "maintMarginRatio": "0.125",
- "cum": "70650.0"
+ "initialLeverage": "6",
+ "notionalCap": "390000",
+ "notionalFloor": "40000",
+ "maintMarginRatio": "0.05",
+ "cum": "1144.0"
}
},
{
"tier": 6.0,
"symbol": "MTL/USDT:USDT",
"currency": "USDT",
- "minNotional": 2000000.0,
- "maxNotional": 6000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 390000.0,
+ "maxNotional": 940000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
"info": {
"bracket": "6",
- "initialLeverage": "2",
- "notionalCap": "6000000",
- "notionalFloor": "2000000",
- "maintMarginRatio": "0.25",
- "cum": "320650.0"
+ "initialLeverage": "5",
+ "notionalCap": "940000",
+ "notionalFloor": "390000",
+ "maintMarginRatio": "0.1",
+ "cum": "20644.0"
}
},
{
"tier": 7.0,
"symbol": "MTL/USDT:USDT",
"currency": "USDT",
- "minNotional": 6000000.0,
- "maxNotional": 10000000.0,
+ "minNotional": 940000.0,
+ "maxNotional": 1400000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "4",
+ "notionalCap": "1400000",
+ "notionalFloor": "940000",
+ "maintMarginRatio": "0.125",
+ "cum": "44144.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "MTL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1400000.0,
+ "maxNotional": 3400000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "3400000",
+ "notionalFloor": "1400000",
+ "maintMarginRatio": "0.1667",
+ "cum": "102524.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "MTL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 3400000.0,
+ "maxNotional": 5400000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5400000",
+ "notionalFloor": "3400000",
+ "maintMarginRatio": "0.25",
+ "cum": "385744.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "MTL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5400000.0,
+ "maxNotional": 8800000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "7",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "10000000",
- "notionalFloor": "6000000",
+ "notionalCap": "8800000",
+ "notionalFloor": "5400000",
"maintMarginRatio": "0.5",
- "cum": "1820650.0"
+ "cum": "1735744.0"
}
}
],
@@ -40294,10 +44106,10 @@
"minNotional": 0.0,
"maxNotional": 20000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "20000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -40311,10 +44123,10 @@
"minNotional": 20000.0,
"maxNotional": 160000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "8",
"notionalCap": "160000",
"notionalFloor": "20000",
"maintMarginRatio": "0.015",
@@ -40328,10 +44140,10 @@
"minNotional": 160000.0,
"maxNotional": 800000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "7",
"notionalCap": "800000",
"notionalFloor": "160000",
"maintMarginRatio": "0.02",
@@ -40345,10 +44157,10 @@
"minNotional": 800000.0,
"maxNotional": 1600000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "1600000",
"notionalFloor": "800000",
"maintMarginRatio": "0.025",
@@ -40362,10 +44174,10 @@
"minNotional": 1600000.0,
"maxNotional": 3000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "3000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.05",
@@ -40379,10 +44191,10 @@
"minNotional": 3000000.0,
"maxNotional": 5000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "5000000",
"notionalFloor": "3000000",
"maintMarginRatio": "0.1",
@@ -40396,10 +44208,10 @@
"minNotional": 5000000.0,
"maxNotional": 7000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "7000000",
"notionalFloor": "5000000",
"maintMarginRatio": "0.125",
@@ -40604,10 +44416,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.006,
- "maxLeverage": 50.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "50",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.006",
@@ -40621,10 +44433,10 @@
"minNotional": 5000.0,
"maxNotional": 50000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 25.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "25",
+ "initialLeverage": "15",
"notionalCap": "50000",
"notionalFloor": "5000",
"maintMarginRatio": "0.01",
@@ -40636,13 +44448,13 @@
"symbol": "NEO/USDC:USDC",
"currency": "USDC",
"minNotional": 50000.0,
- "maxNotional": 400000.0,
+ "maxNotional": 100000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "20",
- "notionalCap": "400000",
+ "initialLeverage": "10",
+ "notionalCap": "100000",
"notionalFloor": "50000",
"maintMarginRatio": "0.025",
"cum": "770.0"
@@ -40652,85 +44464,85 @@
"tier": 4.0,
"symbol": "NEO/USDC:USDC",
"currency": "USDC",
- "minNotional": 400000.0,
- "maxNotional": 800000.0,
+ "minNotional": 100000.0,
+ "maxNotional": 300000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "800000",
- "notionalFloor": "400000",
+ "initialLeverage": "5",
+ "notionalCap": "300000",
+ "notionalFloor": "100000",
"maintMarginRatio": "0.05",
- "cum": "10770.0"
+ "cum": "3270.0"
}
},
{
"tier": 5.0,
"symbol": "NEO/USDC:USDC",
"currency": "USDC",
- "minNotional": 800000.0,
- "maxNotional": 2000000.0,
+ "minNotional": 300000.0,
+ "maxNotional": 600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "5",
- "initialLeverage": "5",
- "notionalCap": "2000000",
- "notionalFloor": "800000",
+ "initialLeverage": "4",
+ "notionalCap": "600000",
+ "notionalFloor": "300000",
"maintMarginRatio": "0.1",
- "cum": "50770.0"
+ "cum": "18270.0"
}
},
{
"tier": 6.0,
"symbol": "NEO/USDC:USDC",
"currency": "USDC",
- "minNotional": 2000000.0,
- "maxNotional": 5000000.0,
+ "minNotional": 600000.0,
+ "maxNotional": 750000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "6",
- "initialLeverage": "4",
- "notionalCap": "5000000",
- "notionalFloor": "2000000",
+ "initialLeverage": "3",
+ "notionalCap": "750000",
+ "notionalFloor": "600000",
"maintMarginRatio": "0.125",
- "cum": "100770.0"
+ "cum": "33270.0"
}
},
{
"tier": 7.0,
"symbol": "NEO/USDC:USDC",
"currency": "USDC",
- "minNotional": 5000000.0,
- "maxNotional": 12000000.0,
+ "minNotional": 750000.0,
+ "maxNotional": 1500000.0,
"maintenanceMarginRate": 0.25,
"maxLeverage": 2.0,
"info": {
"bracket": "7",
"initialLeverage": "2",
- "notionalCap": "12000000",
- "notionalFloor": "5000000",
+ "notionalCap": "1500000",
+ "notionalFloor": "750000",
"maintMarginRatio": "0.25",
- "cum": "725770.0"
+ "cum": "127020.0"
}
},
{
"tier": 8.0,
"symbol": "NEO/USDC:USDC",
"currency": "USDC",
- "minNotional": 12000000.0,
- "maxNotional": 20000000.0,
+ "minNotional": 1500000.0,
+ "maxNotional": 2500000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
"bracket": "8",
"initialLeverage": "1",
- "notionalCap": "20000000",
- "notionalFloor": "12000000",
+ "notionalCap": "2500000",
+ "notionalFloor": "1500000",
"maintMarginRatio": "0.5",
- "cum": "3725770.0"
+ "cum": "502020.0"
}
}
],
@@ -40742,10 +44554,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.006,
- "maxLeverage": 50.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "50",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.006",
@@ -40759,10 +44571,10 @@
"minNotional": 5000.0,
"maxNotional": 50000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 25.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "25",
+ "initialLeverage": "15",
"notionalCap": "50000",
"notionalFloor": "5000",
"maintMarginRatio": "0.01",
@@ -40774,13 +44586,13 @@
"symbol": "NEO/USDT:USDT",
"currency": "USDT",
"minNotional": 50000.0,
- "maxNotional": 400000.0,
+ "maxNotional": 250000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "20",
- "notionalCap": "400000",
+ "initialLeverage": "10",
+ "notionalCap": "250000",
"notionalFloor": "50000",
"maintMarginRatio": "0.025",
"cum": "770.0"
@@ -40790,34 +44602,34 @@
"tier": 4.0,
"symbol": "NEO/USDT:USDT",
"currency": "USDT",
- "minNotional": 400000.0,
- "maxNotional": 800000.0,
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "800000",
- "notionalFloor": "400000",
+ "initialLeverage": "5",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
"maintMarginRatio": "0.05",
- "cum": "10770.0"
+ "cum": "7020.0"
}
},
{
"tier": 5.0,
"symbol": "NEO/USDT:USDT",
"currency": "USDT",
- "minNotional": 800000.0,
+ "minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "5",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1000000",
- "notionalFloor": "800000",
+ "notionalFloor": "500000",
"maintMarginRatio": "0.1",
- "cum": "50770.0"
+ "cum": "32020.0"
}
},
{
@@ -40825,23 +44637,23 @@
"symbol": "NEO/USDT:USDT",
"currency": "USDT",
"minNotional": 1000000.0,
- "maxNotional": 1500000.0,
+ "maxNotional": 1250000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "6",
- "initialLeverage": "4",
- "notionalCap": "1500000",
+ "initialLeverage": "3",
+ "notionalCap": "1250000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.125",
- "cum": "75770.0"
+ "cum": "57020.0"
}
},
{
"tier": 7.0,
"symbol": "NEO/USDT:USDT",
"currency": "USDT",
- "minNotional": 1500000.0,
+ "minNotional": 1250000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.25,
"maxLeverage": 2.0,
@@ -40849,9 +44661,9 @@
"bracket": "7",
"initialLeverage": "2",
"notionalCap": "2000000",
- "notionalFloor": "1500000",
+ "notionalFloor": "1250000",
"maintMarginRatio": "0.25",
- "cum": "263270.0"
+ "cum": "213270.0"
}
},
{
@@ -40868,7 +44680,7 @@
"notionalCap": "2500000",
"notionalFloor": "2000000",
"maintMarginRatio": "0.5",
- "cum": "763270.0"
+ "cum": "713270.0"
}
}
],
@@ -40878,15 +44690,15 @@
"symbol": "NFP/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 5000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxNotional": 4000.0,
+ "maintenanceMarginRate": 0.01,
+ "maxLeverage": 25.0,
"info": {
"bracket": "1",
- "initialLeverage": "50",
- "notionalCap": "5000",
+ "initialLeverage": "25",
+ "notionalCap": "4000",
"notionalFloor": "0",
- "maintMarginRatio": "0.015",
+ "maintMarginRatio": "0.01",
"cum": "0.0"
}
},
@@ -40894,72 +44706,89 @@
"tier": 2.0,
"symbol": "NFP/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000.0,
- "maxNotional": 25000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "minNotional": 4000.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 20.0,
"info": {
"bracket": "2",
- "initialLeverage": "25",
- "notionalCap": "25000",
- "notionalFloor": "5000",
- "maintMarginRatio": "0.02",
- "cum": "25.0"
+ "initialLeverage": "20",
+ "notionalCap": "5000",
+ "notionalFloor": "4000",
+ "maintMarginRatio": "0.015",
+ "cum": "20.0"
}
},
{
"tier": 3.0,
"symbol": "NFP/USDT:USDT",
"currency": "USDT",
- "minNotional": 25000.0,
- "maxNotional": 50000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "minNotional": 5000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "20",
- "notionalCap": "50000",
- "notionalFloor": "25000",
- "maintMarginRatio": "0.025",
- "cum": "150.0"
+ "initialLeverage": "10",
+ "notionalCap": "25000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.02",
+ "cum": "45.0"
}
},
{
"tier": 4.0,
"symbol": "NFP/USDT:USDT",
"currency": "USDT",
- "minNotional": 50000.0,
- "maxNotional": 500000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "500000",
- "notionalFloor": "50000",
- "maintMarginRatio": "0.05",
- "cum": "1400.0"
+ "initialLeverage": "7",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.025",
+ "cum": "170.0"
}
},
{
"tier": 5.0,
"symbol": "NFP/USDT:USDT",
"currency": "USDT",
+ "minNotional": 50000.0,
+ "maxNotional": 500000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 6.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "6",
+ "notionalCap": "500000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1420.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "NFP/USDT:USDT",
+ "currency": "USDT",
"minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
- "bracket": "5",
+ "bracket": "6",
"initialLeverage": "5",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.1",
- "cum": "26400.0"
+ "cum": "26420.0"
}
},
{
- "tier": 6.0,
+ "tier": 7.0,
"symbol": "NFP/USDT:USDT",
"currency": "USDT",
"minNotional": 1000000.0,
@@ -40967,46 +44796,63 @@
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
- "bracket": "6",
+ "bracket": "7",
"initialLeverage": "4",
"notionalCap": "1250000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.125",
- "cum": "51400.0"
- }
- },
- {
- "tier": 7.0,
- "symbol": "NFP/USDT:USDT",
- "currency": "USDT",
- "minNotional": 1250000.0,
- "maxNotional": 2500000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
- "info": {
- "bracket": "7",
- "initialLeverage": "2",
- "notionalCap": "2500000",
- "notionalFloor": "1250000",
- "maintMarginRatio": "0.25",
- "cum": "207650.0"
+ "cum": "51420.0"
}
},
{
"tier": 8.0,
"symbol": "NFP/USDT:USDT",
"currency": "USDT",
+ "minNotional": 1250000.0,
+ "maxNotional": 1875000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "1875000",
+ "notionalFloor": "1250000",
+ "maintMarginRatio": "0.1667",
+ "cum": "103545.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "NFP/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1875000.0,
+ "maxNotional": 2500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "2500000",
+ "notionalFloor": "1875000",
+ "maintMarginRatio": "0.25",
+ "cum": "259732.5"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "NFP/USDT:USDT",
+ "currency": "USDT",
"minNotional": 2500000.0,
"maxNotional": 5000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "8",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "5000000",
"notionalFloor": "2500000",
"maintMarginRatio": "0.5",
- "cum": "832650.0"
+ "cum": "884732.5"
}
}
],
@@ -41241,10 +45087,10 @@
"minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 2.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "5",
- "initialLeverage": "2",
+ "initialLeverage": "4",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.125",
@@ -41256,16 +45102,50 @@
"symbol": "NKN/USDT:USDT",
"currency": "USDT",
"minNotional": 1000000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "3",
+ "notionalCap": "1500000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "65475.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "NKN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 2000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "2",
+ "notionalCap": "2000000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.25",
+ "cum": "190425.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "NKN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 2000000.0,
"maxNotional": 3000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "6",
+ "bracket": "8",
"initialLeverage": "1",
"notionalCap": "3000000",
- "notionalFloor": "1000000",
+ "notionalFloor": "2000000",
"maintMarginRatio": "0.5",
- "cum": "398775.0"
+ "cum": "690425.0"
}
}
],
@@ -41396,13 +45276,13 @@
"symbol": "NOT/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 10000.0,
+ "maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
"maxLeverage": 75.0,
"info": {
"bracket": "1",
"initialLeverage": "75",
- "notionalCap": "10000",
+ "notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
"cum": "0.0"
@@ -41412,136 +45292,153 @@
"tier": 2.0,
"symbol": "NOT/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 60000.0,
+ "minNotional": 5000.0,
+ "maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
"maxLeverage": 50.0,
"info": {
"bracket": "2",
"initialLeverage": "50",
- "notionalCap": "60000",
- "notionalFloor": "10000",
+ "notionalCap": "10000",
+ "notionalFloor": "5000",
"maintMarginRatio": "0.015",
- "cum": "50.0"
+ "cum": "25.0"
}
},
{
"tier": 3.0,
"symbol": "NOT/USDT:USDT",
"currency": "USDT",
- "minNotional": 60000.0,
- "maxNotional": 300000.0,
+ "minNotional": 10000.0,
+ "maxNotional": 25000.0,
"maintenanceMarginRate": 0.02,
"maxLeverage": 25.0,
"info": {
"bracket": "3",
"initialLeverage": "25",
- "notionalCap": "300000",
- "notionalFloor": "60000",
+ "notionalCap": "25000",
+ "notionalFloor": "10000",
"maintMarginRatio": "0.02",
- "cum": "350.0"
+ "cum": "75.0"
}
},
{
"tier": 4.0,
"symbol": "NOT/USDT:USDT",
"currency": "USDT",
- "minNotional": 300000.0,
- "maxNotional": 600000.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
"maintenanceMarginRate": 0.025,
"maxLeverage": 20.0,
"info": {
"bracket": "4",
"initialLeverage": "20",
- "notionalCap": "600000",
- "notionalFloor": "300000",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
"maintMarginRatio": "0.025",
- "cum": "1850.0"
+ "cum": "200.0"
}
},
{
"tier": 5.0,
"symbol": "NOT/USDT:USDT",
"currency": "USDT",
- "minNotional": 600000.0,
- "maxNotional": 2000000.0,
+ "minNotional": 50000.0,
+ "maxNotional": 250000.0,
"maintenanceMarginRate": 0.05,
"maxLeverage": 10.0,
"info": {
"bracket": "5",
"initialLeverage": "10",
- "notionalCap": "2000000",
- "notionalFloor": "600000",
+ "notionalCap": "250000",
+ "notionalFloor": "50000",
"maintMarginRatio": "0.05",
- "cum": "16850.0"
+ "cum": "1450.0"
}
},
{
"tier": 6.0,
"symbol": "NOT/USDT:USDT",
"currency": "USDT",
- "minNotional": 2000000.0,
- "maxNotional": 3000000.0,
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "3000000",
- "notionalFloor": "2000000",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
"maintMarginRatio": "0.1",
- "cum": "116850.0"
+ "cum": "13950.0"
}
},
{
"tier": 7.0,
"symbol": "NOT/USDT:USDT",
"currency": "USDT",
- "minNotional": 3000000.0,
- "maxNotional": 4000000.0,
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "4000000",
- "notionalFloor": "3000000",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
"maintMarginRatio": "0.125",
- "cum": "191850.0"
+ "cum": "26450.0"
}
},
{
"tier": 8.0,
"symbol": "NOT/USDT:USDT",
"currency": "USDT",
- "minNotional": 4000000.0,
- "maxNotional": 5000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "5000000",
- "notionalFloor": "4000000",
- "maintMarginRatio": "0.25",
- "cum": "691850.0"
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "68150.0"
}
},
{
"tier": 9.0,
"symbol": "NOT/USDT:USDT",
"currency": "USDT",
+ "minNotional": 3000000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "318050.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "NOT/USDT:USDT",
+ "currency": "USDT",
"minNotional": 5000000.0,
- "maxNotional": 6000000.0,
+ "maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "6000000",
+ "notionalCap": "8000000",
"notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "1941850.0"
+ "cum": "1568050.0"
}
}
],
@@ -42069,15 +45966,15 @@
"symbol": "OM/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 400000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 5.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.01,
+ "maxLeverage": 75.0,
"info": {
"bracket": "1",
- "initialLeverage": "5",
- "notionalCap": "400000",
+ "initialLeverage": "75",
+ "notionalCap": "5000",
"notionalFloor": "0",
- "maintMarginRatio": "0.05",
+ "maintMarginRatio": "0.01",
"cum": "0.0"
}
},
@@ -42085,68 +45982,153 @@
"tier": 2.0,
"symbol": "OM/USDT:USDT",
"currency": "USDT",
- "minNotional": 400000.0,
- "maxNotional": 1500000.0,
- "maintenanceMarginRate": 0.1,
- "maxLeverage": 4.0,
+ "minNotional": 5000.0,
+ "maxNotional": 10000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 50.0,
"info": {
"bracket": "2",
- "initialLeverage": "4",
- "notionalCap": "1500000",
- "notionalFloor": "400000",
- "maintMarginRatio": "0.1",
- "cum": "20000.0"
+ "initialLeverage": "50",
+ "notionalCap": "10000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.015",
+ "cum": "25.0"
}
},
{
"tier": 3.0,
"symbol": "OM/USDT:USDT",
"currency": "USDT",
- "minNotional": 1500000.0,
- "maxNotional": 1800000.0,
- "maintenanceMarginRate": 0.125,
- "maxLeverage": 3.0,
+ "minNotional": 10000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 25.0,
"info": {
"bracket": "3",
- "initialLeverage": "3",
- "notionalCap": "1800000",
- "notionalFloor": "1500000",
- "maintMarginRatio": "0.125",
- "cum": "57500.0"
+ "initialLeverage": "25",
+ "notionalCap": "25000",
+ "notionalFloor": "10000",
+ "maintMarginRatio": "0.02",
+ "cum": "75.0"
}
},
{
"tier": 4.0,
"symbol": "OM/USDT:USDT",
"currency": "USDT",
- "minNotional": 1800000.0,
- "maxNotional": 1900000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
"info": {
"bracket": "4",
- "initialLeverage": "2",
- "notionalCap": "1900000",
- "notionalFloor": "1800000",
- "maintMarginRatio": "0.25",
- "cum": "282500.0"
+ "initialLeverage": "20",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.025",
+ "cum": "200.0"
}
},
{
"tier": 5.0,
"symbol": "OM/USDT:USDT",
"currency": "USDT",
- "minNotional": 1900000.0,
- "maxNotional": 2000000.0,
+ "minNotional": 50000.0,
+ "maxNotional": 250000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "10",
+ "notionalCap": "250000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1450.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "OM/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "5",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
+ "maintMarginRatio": "0.1",
+ "cum": "13950.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "OM/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "4",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.125",
+ "cum": "26450.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "OM/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "68150.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "OM/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 3000000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "318050.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "OM/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000000.0,
+ "maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "5",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "2000000",
- "notionalFloor": "1900000",
+ "notionalCap": "8000000",
+ "notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "757500.0"
+ "cum": "1568050.0"
}
}
],
@@ -42572,10 +46554,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -42589,10 +46571,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -42604,13 +46586,13 @@
"symbol": "ONE/USDT:USDT",
"currency": "USDT",
"minNotional": 10000.0,
- "maxNotional": 50000.0,
+ "maxNotional": 35000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
- "notionalCap": "50000",
+ "initialLeverage": "10",
+ "notionalCap": "35000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
"cum": "75.0"
@@ -42620,102 +46602,119 @@
"tier": 4.0,
"symbol": "ONE/USDT:USDT",
"currency": "USDT",
- "minNotional": 50000.0,
- "maxNotional": 100000.0,
+ "minNotional": 35000.0,
+ "maxNotional": 70000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
- "notionalCap": "100000",
- "notionalFloor": "50000",
+ "initialLeverage": "7",
+ "notionalCap": "70000",
+ "notionalFloor": "35000",
"maintMarginRatio": "0.025",
- "cum": "325.0"
+ "cum": "250.0"
}
},
{
"tier": 5.0,
"symbol": "ONE/USDT:USDT",
"currency": "USDT",
- "minNotional": 100000.0,
- "maxNotional": 500000.0,
+ "minNotional": 70000.0,
+ "maxNotional": 350000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
- "notionalCap": "500000",
- "notionalFloor": "100000",
+ "initialLeverage": "6",
+ "notionalCap": "350000",
+ "notionalFloor": "70000",
"maintMarginRatio": "0.05",
- "cum": "2825.0"
+ "cum": "2000.0"
}
},
{
"tier": 6.0,
"symbol": "ONE/USDT:USDT",
"currency": "USDT",
- "minNotional": 500000.0,
- "maxNotional": 1000000.0,
+ "minNotional": 350000.0,
+ "maxNotional": 700000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "1000000",
- "notionalFloor": "500000",
+ "notionalCap": "700000",
+ "notionalFloor": "350000",
"maintMarginRatio": "0.1",
- "cum": "27825.0"
+ "cum": "19500.0"
}
},
{
"tier": 7.0,
"symbol": "ONE/USDT:USDT",
"currency": "USDT",
- "minNotional": 1000000.0,
- "maxNotional": 1250000.0,
+ "minNotional": 700000.0,
+ "maxNotional": 1100000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "1250000",
- "notionalFloor": "1000000",
+ "notionalCap": "1100000",
+ "notionalFloor": "700000",
"maintMarginRatio": "0.125",
- "cum": "52825.0"
+ "cum": "37000.0"
}
},
{
"tier": 8.0,
"symbol": "ONE/USDT:USDT",
"currency": "USDT",
- "minNotional": 1250000.0,
- "maxNotional": 2500000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 1100000.0,
+ "maxNotional": 2550000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "2500000",
- "notionalFloor": "1250000",
- "maintMarginRatio": "0.25",
- "cum": "209075.0"
+ "initialLeverage": "3",
+ "notionalCap": "2550000",
+ "notionalFloor": "1100000",
+ "maintMarginRatio": "0.1667",
+ "cum": "82870.0"
}
},
{
"tier": 9.0,
"symbol": "ONE/USDT:USDT",
"currency": "USDT",
- "minNotional": 2500000.0,
- "maxNotional": 5000000.0,
+ "minNotional": 2550000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "4000000",
+ "notionalFloor": "2550000",
+ "maintMarginRatio": "0.25",
+ "cum": "295285.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "ONE/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 4000000.0,
+ "maxNotional": 6800000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "5000000",
- "notionalFloor": "2500000",
+ "notionalCap": "6800000",
+ "notionalFloor": "4000000",
"maintMarginRatio": "0.5",
- "cum": "834075.0"
+ "cum": "1295285.0"
}
}
],
@@ -43296,10 +47295,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 25.0,
+ "maxLeverage": 30.0,
"info": {
"bracket": "1",
- "initialLeverage": "25",
+ "initialLeverage": "30",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -43311,13 +47310,13 @@
"symbol": "ORCA/USDT:USDT",
"currency": "USDT",
"minNotional": 5000.0,
- "maxNotional": 10000.0,
+ "maxNotional": 20000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 20.0,
+ "maxLeverage": 25.0,
"info": {
"bracket": "2",
- "initialLeverage": "20",
- "notionalCap": "10000",
+ "initialLeverage": "25",
+ "notionalCap": "20000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
"cum": "25.0"
@@ -43327,34 +47326,34 @@
"tier": 3.0,
"symbol": "ORCA/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 30000.0,
+ "minNotional": 20000.0,
+ "maxNotional": 45000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 18.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "3",
- "initialLeverage": "18",
- "notionalCap": "30000",
- "notionalFloor": "10000",
+ "initialLeverage": "20",
+ "notionalCap": "45000",
+ "notionalFloor": "20000",
"maintMarginRatio": "0.02",
- "cum": "75.0"
+ "cum": "125.0"
}
},
{
"tier": 4.0,
"symbol": "ORCA/USDT:USDT",
"currency": "USDT",
- "minNotional": 30000.0,
+ "minNotional": 45000.0,
"maxNotional": 60000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 15.0,
+ "maxLeverage": 18.0,
"info": {
"bracket": "4",
- "initialLeverage": "15",
+ "initialLeverage": "18",
"notionalCap": "60000",
- "notionalFloor": "30000",
+ "notionalFloor": "45000",
"maintMarginRatio": "0.025",
- "cum": "225.0"
+ "cum": "350.0"
}
},
{
@@ -43362,84 +47361,101 @@
"symbol": "ORCA/USDT:USDT",
"currency": "USDT",
"minNotional": 60000.0,
- "maxNotional": 300000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxNotional": 80000.0,
+ "maintenanceMarginRate": 0.03,
+ "maxLeverage": 15.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
- "notionalCap": "300000",
+ "initialLeverage": "15",
+ "notionalCap": "80000",
"notionalFloor": "60000",
- "maintMarginRatio": "0.05",
- "cum": "1725.0"
+ "maintMarginRatio": "0.03",
+ "cum": "650.0"
}
},
{
"tier": 6.0,
"symbol": "ORCA/USDT:USDT",
"currency": "USDT",
+ "minNotional": 80000.0,
+ "maxNotional": 300000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "10",
+ "notionalCap": "300000",
+ "notionalFloor": "80000",
+ "maintMarginRatio": "0.05",
+ "cum": "2250.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "ORCA/USDT:USDT",
+ "currency": "USDT",
"minNotional": 300000.0,
"maxNotional": 600000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
- "bracket": "6",
+ "bracket": "7",
"initialLeverage": "5",
"notionalCap": "600000",
"notionalFloor": "300000",
"maintMarginRatio": "0.1",
- "cum": "16725.0"
- }
- },
- {
- "tier": 7.0,
- "symbol": "ORCA/USDT:USDT",
- "currency": "USDT",
- "minNotional": 600000.0,
- "maxNotional": 750000.0,
- "maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
- "info": {
- "bracket": "7",
- "initialLeverage": "4",
- "notionalCap": "750000",
- "notionalFloor": "600000",
- "maintMarginRatio": "0.125",
- "cum": "31725.0"
+ "cum": "17250.0"
}
},
{
"tier": 8.0,
"symbol": "ORCA/USDT:USDT",
"currency": "USDT",
- "minNotional": 750000.0,
- "maxNotional": 1500000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 600000.0,
+ "maxNotional": 800000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "1500000",
- "notionalFloor": "750000",
- "maintMarginRatio": "0.25",
- "cum": "125475.0"
+ "initialLeverage": "4",
+ "notionalCap": "800000",
+ "notionalFloor": "600000",
+ "maintMarginRatio": "0.125",
+ "cum": "32250.0"
}
},
{
"tier": 9.0,
"symbol": "ORCA/USDT:USDT",
"currency": "USDT",
+ "minNotional": 800000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "1500000",
+ "notionalFloor": "800000",
+ "maintMarginRatio": "0.25",
+ "cum": "132250.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "ORCA/USDT:USDT",
+ "currency": "USDT",
"minNotional": 1500000.0,
- "maxNotional": 2000000.0,
+ "maxNotional": 2500000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "2000000",
+ "notionalCap": "2500000",
"notionalFloor": "1500000",
"maintMarginRatio": "0.5",
- "cum": "500475.0"
+ "cum": "507250.0"
}
}
],
@@ -43451,10 +47467,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.0065,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.0065",
@@ -43468,10 +47484,10 @@
"minNotional": 5000.0,
"maxNotional": 75000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "75000",
"notionalFloor": "5000",
"maintMarginRatio": "0.01",
@@ -43485,10 +47501,10 @@
"minNotional": 75000.0,
"maxNotional": 150000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 40.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "40",
+ "initialLeverage": "8",
"notionalCap": "150000",
"notionalFloor": "75000",
"maintMarginRatio": "0.015",
@@ -43502,10 +47518,10 @@
"minNotional": 150000.0,
"maxNotional": 300000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "25",
+ "initialLeverage": "7",
"notionalCap": "300000",
"notionalFloor": "150000",
"maintMarginRatio": "0.02",
@@ -43519,10 +47535,10 @@
"minNotional": 300000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "1000000",
"notionalFloor": "300000",
"maintMarginRatio": "0.025",
@@ -43536,10 +47552,10 @@
"minNotional": 1000000.0,
"maxNotional": 3000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "6",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "3000000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.05",
@@ -43553,10 +47569,10 @@
"minNotional": 3000000.0,
"maxNotional": 6000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "7",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "6000000",
"notionalFloor": "3000000",
"maintMarginRatio": "0.1",
@@ -43570,10 +47586,10 @@
"minNotional": 6000000.0,
"maxNotional": 10000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "10000000",
"notionalFloor": "6000000",
"maintMarginRatio": "0.125",
@@ -43621,15 +47637,15 @@
"symbol": "ORDI/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 10000.0,
- "maintenanceMarginRate": 0.0065,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.01,
"maxLeverage": 75.0,
"info": {
"bracket": "1",
"initialLeverage": "75",
- "notionalCap": "10000",
+ "notionalCap": "5000",
"notionalFloor": "0",
- "maintMarginRatio": "0.0065",
+ "maintMarginRatio": "0.01",
"cum": "0.0"
}
},
@@ -43637,153 +47653,153 @@
"tier": 2.0,
"symbol": "ORDI/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 80000.0,
- "maintenanceMarginRate": 0.01,
+ "minNotional": 5000.0,
+ "maxNotional": 10000.0,
+ "maintenanceMarginRate": 0.015,
"maxLeverage": 50.0,
"info": {
"bracket": "2",
"initialLeverage": "50",
- "notionalCap": "80000",
- "notionalFloor": "10000",
- "maintMarginRatio": "0.01",
- "cum": "35.0"
+ "notionalCap": "10000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.015",
+ "cum": "25.0"
}
},
{
"tier": 3.0,
"symbol": "ORDI/USDT:USDT",
"currency": "USDT",
- "minNotional": 80000.0,
- "maxNotional": 150000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 40.0,
+ "minNotional": 10000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 25.0,
"info": {
"bracket": "3",
- "initialLeverage": "40",
- "notionalCap": "150000",
- "notionalFloor": "80000",
- "maintMarginRatio": "0.015",
- "cum": "435.0"
+ "initialLeverage": "25",
+ "notionalCap": "25000",
+ "notionalFloor": "10000",
+ "maintMarginRatio": "0.02",
+ "cum": "75.0"
}
},
{
"tier": 4.0,
"symbol": "ORDI/USDT:USDT",
"currency": "USDT",
- "minNotional": 150000.0,
- "maxNotional": 400000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
"info": {
"bracket": "4",
- "initialLeverage": "25",
- "notionalCap": "400000",
- "notionalFloor": "150000",
- "maintMarginRatio": "0.02",
- "cum": "1185.0"
+ "initialLeverage": "20",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.025",
+ "cum": "200.0"
}
},
{
"tier": 5.0,
"symbol": "ORDI/USDT:USDT",
"currency": "USDT",
- "minNotional": 400000.0,
- "maxNotional": 1000000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "minNotional": 50000.0,
+ "maxNotional": 250000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
"info": {
"bracket": "5",
- "initialLeverage": "20",
- "notionalCap": "1000000",
- "notionalFloor": "400000",
- "maintMarginRatio": "0.025",
- "cum": "3185.0"
+ "initialLeverage": "10",
+ "notionalCap": "250000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1450.0"
}
},
{
"tier": 6.0,
"symbol": "ORDI/USDT:USDT",
"currency": "USDT",
- "minNotional": 1000000.0,
- "maxNotional": 4000000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
"info": {
"bracket": "6",
- "initialLeverage": "10",
- "notionalCap": "4000000",
- "notionalFloor": "1000000",
- "maintMarginRatio": "0.05",
- "cum": "28185.0"
+ "initialLeverage": "5",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
+ "maintMarginRatio": "0.1",
+ "cum": "13950.0"
}
},
{
"tier": 7.0,
"symbol": "ORDI/USDT:USDT",
"currency": "USDT",
- "minNotional": 4000000.0,
- "maxNotional": 8000000.0,
- "maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
"info": {
"bracket": "7",
- "initialLeverage": "5",
- "notionalCap": "8000000",
- "notionalFloor": "4000000",
- "maintMarginRatio": "0.1",
- "cum": "228185.0"
+ "initialLeverage": "4",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.125",
+ "cum": "26450.0"
}
},
{
"tier": 8.0,
"symbol": "ORDI/USDT:USDT",
"currency": "USDT",
- "minNotional": 8000000.0,
- "maxNotional": 10000000.0,
- "maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "4",
- "notionalCap": "10000000",
- "notionalFloor": "8000000",
- "maintMarginRatio": "0.125",
- "cum": "428185.0"
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "68150.0"
}
},
{
"tier": 9.0,
"symbol": "ORDI/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000000.0,
- "maxNotional": 20000000.0,
+ "minNotional": 3000000.0,
+ "maxNotional": 5000000.0,
"maintenanceMarginRate": 0.25,
"maxLeverage": 2.0,
"info": {
"bracket": "9",
"initialLeverage": "2",
- "notionalCap": "20000000",
- "notionalFloor": "10000000",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
"maintMarginRatio": "0.25",
- "cum": "1678185.0"
+ "cum": "318050.0"
}
},
{
"tier": 10.0,
"symbol": "ORDI/USDT:USDT",
"currency": "USDT",
- "minNotional": 20000000.0,
- "maxNotional": 40000000.0,
+ "minNotional": 5000000.0,
+ "maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
"bracket": "10",
"initialLeverage": "1",
- "notionalCap": "40000000",
- "notionalFloor": "20000000",
+ "notionalCap": "8000000",
+ "notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "6678185.0"
+ "cum": "1568050.0"
}
}
],
@@ -44063,6 +48079,161 @@
}
}
],
+ "PAXG/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "PAXG/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": "PAXG/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": "PAXG/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 10000.0,
+ "maxNotional": 30000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 25.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "25",
+ "notionalCap": "30000",
+ "notionalFloor": "10000",
+ "maintMarginRatio": "0.02",
+ "cum": "75.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "PAXG/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 30000.0,
+ "maxNotional": 300000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "20",
+ "notionalCap": "300000",
+ "notionalFloor": "30000",
+ "maintMarginRatio": "0.025",
+ "cum": "225.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "PAXG/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 300000.0,
+ "maxNotional": 900000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "10",
+ "notionalCap": "900000",
+ "notionalFloor": "300000",
+ "maintMarginRatio": "0.05",
+ "cum": "7725.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "PAXG/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 900000.0,
+ "maxNotional": 2000000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "5",
+ "notionalCap": "2000000",
+ "notionalFloor": "900000",
+ "maintMarginRatio": "0.1",
+ "cum": "52725.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "PAXG/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 2000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "4",
+ "notionalCap": "3000000",
+ "notionalFloor": "2000000",
+ "maintMarginRatio": "0.125",
+ "cum": "102725.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "PAXG/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 3000000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "477725.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "PAXG/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000000.0,
+ "maxNotional": 10000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "1",
+ "notionalCap": "10000000",
+ "notionalFloor": "5000000",
+ "maintMarginRatio": "0.5",
+ "cum": "1727725.0"
+ }
+ }
+ ],
"PENDLE/USDT:USDT": [
{
"tier": 1.0,
@@ -44224,13 +48395,13 @@
"symbol": "PENGU/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 10000.0,
+ "maxNotional": 7000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
- "notionalCap": "10000",
+ "initialLeverage": "20",
+ "notionalCap": "7000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
"cum": "0.0"
@@ -44240,136 +48411,153 @@
"tier": 2.0,
"symbol": "PENGU/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 60000.0,
+ "minNotional": 7000.0,
+ "maxNotional": 30000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
- "notionalCap": "60000",
- "notionalFloor": "10000",
+ "initialLeverage": "10",
+ "notionalCap": "30000",
+ "notionalFloor": "7000",
"maintMarginRatio": "0.015",
- "cum": "50.0"
+ "cum": "35.0"
}
},
{
"tier": 3.0,
"symbol": "PENGU/USDT:USDT",
"currency": "USDT",
- "minNotional": 60000.0,
- "maxNotional": 300000.0,
+ "minNotional": 30000.0,
+ "maxNotional": 135000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
- "notionalCap": "300000",
- "notionalFloor": "60000",
+ "initialLeverage": "8",
+ "notionalCap": "135000",
+ "notionalFloor": "30000",
"maintMarginRatio": "0.02",
- "cum": "350.0"
+ "cum": "185.0"
}
},
{
"tier": 4.0,
"symbol": "PENGU/USDT:USDT",
"currency": "USDT",
- "minNotional": 300000.0,
- "maxNotional": 600000.0,
+ "minNotional": 135000.0,
+ "maxNotional": 270000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
- "notionalCap": "600000",
- "notionalFloor": "300000",
+ "initialLeverage": "7",
+ "notionalCap": "270000",
+ "notionalFloor": "135000",
"maintMarginRatio": "0.025",
- "cum": "1850.0"
+ "cum": "860.0"
}
},
{
"tier": 5.0,
"symbol": "PENGU/USDT:USDT",
"currency": "USDT",
- "minNotional": 600000.0,
- "maxNotional": 3000000.0,
+ "minNotional": 270000.0,
+ "maxNotional": 1350000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
- "notionalCap": "3000000",
- "notionalFloor": "600000",
+ "initialLeverage": "6",
+ "notionalCap": "1350000",
+ "notionalFloor": "270000",
"maintMarginRatio": "0.05",
- "cum": "16850.0"
+ "cum": "7610.0"
}
},
{
"tier": 6.0,
"symbol": "PENGU/USDT:USDT",
"currency": "USDT",
- "minNotional": 3000000.0,
- "maxNotional": 6000000.0,
+ "minNotional": 1350000.0,
+ "maxNotional": 2700000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "6000000",
- "notionalFloor": "3000000",
+ "notionalCap": "2700000",
+ "notionalFloor": "1350000",
"maintMarginRatio": "0.1",
- "cum": "166850.0"
+ "cum": "75110.0"
}
},
{
"tier": 7.0,
"symbol": "PENGU/USDT:USDT",
"currency": "USDT",
- "minNotional": 6000000.0,
- "maxNotional": 7500000.0,
+ "minNotional": 2700000.0,
+ "maxNotional": 3600000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "7500000",
- "notionalFloor": "6000000",
+ "notionalCap": "3600000",
+ "notionalFloor": "2700000",
"maintMarginRatio": "0.125",
- "cum": "316850.0"
+ "cum": "142610.0"
}
},
{
"tier": 8.0,
"symbol": "PENGU/USDT:USDT",
"currency": "USDT",
- "minNotional": 7500000.0,
- "maxNotional": 15000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 3600000.0,
+ "maxNotional": 6300000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "15000000",
- "notionalFloor": "7500000",
- "maintMarginRatio": "0.25",
- "cum": "1254350.0"
+ "initialLeverage": "3",
+ "notionalCap": "6300000",
+ "notionalFloor": "3600000",
+ "maintMarginRatio": "0.1667",
+ "cum": "292730.0"
}
},
{
"tier": 9.0,
"symbol": "PENGU/USDT:USDT",
"currency": "USDT",
- "minNotional": 15000000.0,
- "maxNotional": 30000000.0,
+ "minNotional": 6300000.0,
+ "maxNotional": 9000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "9000000",
+ "notionalFloor": "6300000",
+ "maintMarginRatio": "0.25",
+ "cum": "817520.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "PENGU/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 9000000.0,
+ "maxNotional": 16800000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "30000000",
- "notionalFloor": "15000000",
+ "notionalCap": "16800000",
+ "notionalFloor": "9000000",
"maintMarginRatio": "0.5",
- "cum": "5004350.0"
+ "cum": "3067520.0"
}
}
],
@@ -44381,10 +48569,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -44398,10 +48586,10 @@
"minNotional": 10000.0,
"maxNotional": 40000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "40000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -44415,10 +48603,10 @@
"minNotional": 40000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "7",
"notionalCap": "200000",
"notionalFloor": "40000",
"maintMarginRatio": "0.02",
@@ -44432,10 +48620,10 @@
"minNotional": 200000.0,
"maxNotional": 400000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "400000",
"notionalFloor": "200000",
"maintMarginRatio": "0.025",
@@ -44449,10 +48637,10 @@
"minNotional": 400000.0,
"maxNotional": 1500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "1500000",
"notionalFloor": "400000",
"maintMarginRatio": "0.05",
@@ -44466,10 +48654,10 @@
"minNotional": 1500000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "2000000",
"notionalFloor": "1500000",
"maintMarginRatio": "0.1",
@@ -44483,10 +48671,10 @@
"minNotional": 2000000.0,
"maxNotional": 2500000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "2500000",
"notionalFloor": "2000000",
"maintMarginRatio": "0.125",
@@ -44535,14 +48723,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"
}
},
@@ -44560,7 +48748,7 @@
"notionalCap": "25000",
"notionalFloor": "5000",
"maintMarginRatio": "0.025",
- "cum": "50.0"
+ "cum": "25.0"
}
},
{
@@ -44577,7 +48765,7 @@
"notionalCap": "200000",
"notionalFloor": "25000",
"maintMarginRatio": "0.05",
- "cum": "675.0"
+ "cum": "650.0"
}
},
{
@@ -44594,7 +48782,7 @@
"notionalCap": "500000",
"notionalFloor": "200000",
"maintMarginRatio": "0.1",
- "cum": "10675.0"
+ "cum": "10650.0"
}
},
{
@@ -44611,7 +48799,7 @@
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.125",
- "cum": "23175.0"
+ "cum": "23150.0"
}
},
{
@@ -44619,33 +48807,50 @@
"symbol": "PERP/USDT:USDT",
"currency": "USDT",
"minNotional": 1000000.0,
- "maxNotional": 3000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "maxNotional": 2000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "6",
- "initialLeverage": "2",
- "notionalCap": "3000000",
+ "initialLeverage": "3",
+ "notionalCap": "2000000",
"notionalFloor": "1000000",
- "maintMarginRatio": "0.25",
- "cum": "148175.0"
+ "maintMarginRatio": "0.1667",
+ "cum": "64850.0"
}
},
{
"tier": 7.0,
"symbol": "PERP/USDT:USDT",
"currency": "USDT",
+ "minNotional": 2000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "2",
+ "notionalCap": "3000000",
+ "notionalFloor": "2000000",
+ "maintMarginRatio": "0.25",
+ "cum": "231450.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "PERP/USDT:USDT",
+ "currency": "USDT",
"minNotional": 3000000.0,
"maxNotional": 3005000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "7",
+ "bracket": "8",
"initialLeverage": "1",
"notionalCap": "3005000",
"notionalFloor": "3000000",
"maintMarginRatio": "0.5",
- "cum": "898175.0"
+ "cum": "981450.0"
}
}
],
@@ -44916,10 +49121,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "25",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.02",
@@ -44933,10 +49138,10 @@
"minNotional": 5000.0,
"maxNotional": 25000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "20",
+ "initialLeverage": "10",
"notionalCap": "25000",
"notionalFloor": "5000",
"maintMarginRatio": "0.025",
@@ -44950,10 +49155,10 @@
"minNotional": 25000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "3",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "200000",
"notionalFloor": "25000",
"maintMarginRatio": "0.05",
@@ -44967,10 +49172,10 @@
"minNotional": 200000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "4",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "500000",
"notionalFloor": "200000",
"maintMarginRatio": "0.1",
@@ -44984,10 +49189,10 @@
"minNotional": 500000.0,
"maxNotional": 750000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "5",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "750000",
"notionalFloor": "500000",
"maintMarginRatio": "0.125",
@@ -45037,10 +49242,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -45054,10 +49259,10 @@
"minNotional": 5000.0,
"maxNotional": 16000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "16000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -45071,10 +49276,10 @@
"minNotional": 16000.0,
"maxNotional": 80000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "7",
"notionalCap": "80000",
"notionalFloor": "16000",
"maintMarginRatio": "0.02",
@@ -45088,10 +49293,10 @@
"minNotional": 80000.0,
"maxNotional": 160000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "160000",
"notionalFloor": "80000",
"maintMarginRatio": "0.025",
@@ -45105,10 +49310,10 @@
"minNotional": 160000.0,
"maxNotional": 800000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "800000",
"notionalFloor": "160000",
"maintMarginRatio": "0.05",
@@ -45122,10 +49327,10 @@
"minNotional": 800000.0,
"maxNotional": 1600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1600000",
"notionalFloor": "800000",
"maintMarginRatio": "0.1",
@@ -45139,10 +49344,10 @@
"minNotional": 1600000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "2000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.125",
@@ -45466,13 +49671,13 @@
"symbol": "PNUT/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 20000.0,
+ "maxNotional": 15000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
- "notionalCap": "20000",
+ "initialLeverage": "20",
+ "notionalCap": "15000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
"cum": "0.0"
@@ -45482,136 +49687,136 @@
"tier": 2.0,
"symbol": "PNUT/USDT:USDT",
"currency": "USDT",
- "minNotional": 20000.0,
- "maxNotional": 160000.0,
+ "minNotional": 15000.0,
+ "maxNotional": 120000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
- "notionalCap": "160000",
- "notionalFloor": "20000",
+ "initialLeverage": "8",
+ "notionalCap": "120000",
+ "notionalFloor": "15000",
"maintMarginRatio": "0.015",
- "cum": "100.0"
+ "cum": "75.0"
}
},
{
"tier": 3.0,
"symbol": "PNUT/USDT:USDT",
"currency": "USDT",
- "minNotional": 160000.0,
- "maxNotional": 800000.0,
+ "minNotional": 120000.0,
+ "maxNotional": 600000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
- "notionalCap": "800000",
- "notionalFloor": "160000",
+ "initialLeverage": "7",
+ "notionalCap": "600000",
+ "notionalFloor": "120000",
"maintMarginRatio": "0.02",
- "cum": "900.0"
+ "cum": "675.0"
}
},
{
"tier": 4.0,
"symbol": "PNUT/USDT:USDT",
"currency": "USDT",
- "minNotional": 800000.0,
- "maxNotional": 1600000.0,
+ "minNotional": 600000.0,
+ "maxNotional": 1200000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
- "notionalCap": "1600000",
- "notionalFloor": "800000",
+ "initialLeverage": "6",
+ "notionalCap": "1200000",
+ "notionalFloor": "600000",
"maintMarginRatio": "0.025",
- "cum": "4900.0"
+ "cum": "3675.0"
}
},
{
"tier": 5.0,
"symbol": "PNUT/USDT:USDT",
"currency": "USDT",
- "minNotional": 1600000.0,
- "maxNotional": 6000000.0,
+ "minNotional": 1200000.0,
+ "maxNotional": 1800000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
- "notionalCap": "6000000",
- "notionalFloor": "1600000",
+ "initialLeverage": "5",
+ "notionalCap": "1800000",
+ "notionalFloor": "1200000",
"maintMarginRatio": "0.05",
- "cum": "44900.0"
+ "cum": "33675.0"
}
},
{
"tier": 6.0,
"symbol": "PNUT/USDT:USDT",
"currency": "USDT",
- "minNotional": 6000000.0,
- "maxNotional": 10000000.0,
+ "minNotional": 1800000.0,
+ "maxNotional": 2500000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
- "notionalCap": "10000000",
- "notionalFloor": "6000000",
+ "initialLeverage": "4",
+ "notionalCap": "2500000",
+ "notionalFloor": "1800000",
"maintMarginRatio": "0.1",
- "cum": "344900.0"
+ "cum": "123675.0"
}
},
{
"tier": 7.0,
"symbol": "PNUT/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000000.0,
- "maxNotional": 12000000.0,
+ "minNotional": 2500000.0,
+ "maxNotional": 3000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
- "notionalCap": "12000000",
- "notionalFloor": "10000000",
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "2500000",
"maintMarginRatio": "0.125",
- "cum": "594900.0"
+ "cum": "186175.0"
}
},
{
"tier": 8.0,
"symbol": "PNUT/USDT:USDT",
"currency": "USDT",
- "minNotional": 12000000.0,
- "maxNotional": 14000000.0,
+ "minNotional": 3000000.0,
+ "maxNotional": 3500000.0,
"maintenanceMarginRate": 0.25,
"maxLeverage": 2.0,
"info": {
"bracket": "8",
"initialLeverage": "2",
- "notionalCap": "14000000",
- "notionalFloor": "12000000",
+ "notionalCap": "3500000",
+ "notionalFloor": "3000000",
"maintMarginRatio": "0.25",
- "cum": "2094900.0"
+ "cum": "561175.0"
}
},
{
"tier": 9.0,
"symbol": "PNUT/USDT:USDT",
"currency": "USDT",
- "minNotional": 14000000.0,
- "maxNotional": 16000000.0,
+ "minNotional": 3500000.0,
+ "maxNotional": 4000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
"bracket": "9",
"initialLeverage": "1",
- "notionalCap": "16000000",
- "notionalFloor": "14000000",
+ "notionalCap": "4000000",
+ "notionalFloor": "3500000",
"maintMarginRatio": "0.5",
- "cum": "5594900.0"
+ "cum": "1436175.0"
}
}
],
@@ -45776,15 +49981,15 @@
"symbol": "POLYX/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 5000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxNotional": 4000.0,
+ "maintenanceMarginRate": 0.01,
+ "maxLeverage": 25.0,
"info": {
"bracket": "1",
- "initialLeverage": "50",
- "notionalCap": "5000",
+ "initialLeverage": "25",
+ "notionalCap": "4000",
"notionalFloor": "0",
- "maintMarginRatio": "0.015",
+ "maintMarginRatio": "0.01",
"cum": "0.0"
}
},
@@ -45792,72 +49997,89 @@
"tier": 2.0,
"symbol": "POLYX/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000.0,
- "maxNotional": 25000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "minNotional": 4000.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 20.0,
"info": {
"bracket": "2",
- "initialLeverage": "25",
- "notionalCap": "25000",
- "notionalFloor": "5000",
- "maintMarginRatio": "0.02",
- "cum": "25.0"
+ "initialLeverage": "20",
+ "notionalCap": "5000",
+ "notionalFloor": "4000",
+ "maintMarginRatio": "0.015",
+ "cum": "20.0"
}
},
{
"tier": 3.0,
"symbol": "POLYX/USDT:USDT",
"currency": "USDT",
- "minNotional": 25000.0,
- "maxNotional": 80000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "minNotional": 5000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "20",
- "notionalCap": "80000",
- "notionalFloor": "25000",
- "maintMarginRatio": "0.025",
- "cum": "150.0"
+ "initialLeverage": "10",
+ "notionalCap": "25000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.02",
+ "cum": "45.0"
}
},
{
"tier": 4.0,
"symbol": "POLYX/USDT:USDT",
"currency": "USDT",
- "minNotional": 80000.0,
- "maxNotional": 800000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "minNotional": 25000.0,
+ "maxNotional": 80000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "800000",
- "notionalFloor": "80000",
- "maintMarginRatio": "0.05",
- "cum": "2150.0"
+ "initialLeverage": "7",
+ "notionalCap": "80000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.025",
+ "cum": "170.0"
}
},
{
"tier": 5.0,
"symbol": "POLYX/USDT:USDT",
"currency": "USDT",
+ "minNotional": 80000.0,
+ "maxNotional": 800000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 6.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "6",
+ "notionalCap": "800000",
+ "notionalFloor": "80000",
+ "maintMarginRatio": "0.05",
+ "cum": "2170.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "POLYX/USDT:USDT",
+ "currency": "USDT",
"minNotional": 800000.0,
"maxNotional": 1600000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
- "bracket": "5",
+ "bracket": "6",
"initialLeverage": "5",
"notionalCap": "1600000",
"notionalFloor": "800000",
"maintMarginRatio": "0.1",
- "cum": "42150.0"
+ "cum": "42170.0"
}
},
{
- "tier": 6.0,
+ "tier": 7.0,
"symbol": "POLYX/USDT:USDT",
"currency": "USDT",
"minNotional": 1600000.0,
@@ -45865,46 +50087,63 @@
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
- "bracket": "6",
+ "bracket": "7",
"initialLeverage": "4",
"notionalCap": "2000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.125",
- "cum": "82150.0"
- }
- },
- {
- "tier": 7.0,
- "symbol": "POLYX/USDT:USDT",
- "currency": "USDT",
- "minNotional": 2000000.0,
- "maxNotional": 4000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
- "info": {
- "bracket": "7",
- "initialLeverage": "2",
- "notionalCap": "4000000",
- "notionalFloor": "2000000",
- "maintMarginRatio": "0.25",
- "cum": "332150.0"
+ "cum": "82170.0"
}
},
{
"tier": 8.0,
"symbol": "POLYX/USDT:USDT",
"currency": "USDT",
+ "minNotional": 2000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "2000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "165570.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "POLYX/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 3000000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "4000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "415470.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "POLYX/USDT:USDT",
+ "currency": "USDT",
"minNotional": 4000000.0,
"maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "8",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "8000000",
"notionalFloor": "4000000",
"maintMarginRatio": "0.5",
- "cum": "1332150.0"
+ "cum": "1415470.0"
}
}
],
@@ -46069,15 +50308,15 @@
"symbol": "POPCAT/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 10000.0,
- "maintenanceMarginRate": 0.01,
- "maxLeverage": 25.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 50.0,
"info": {
"bracket": "1",
- "initialLeverage": "25",
- "notionalCap": "10000",
+ "initialLeverage": "50",
+ "notionalCap": "5000",
"notionalFloor": "0",
- "maintMarginRatio": "0.01",
+ "maintMarginRatio": "0.015",
"cum": "0.0"
}
},
@@ -46085,126 +50324,126 @@
"tier": 2.0,
"symbol": "POPCAT/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 100000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 20.0,
+ "minNotional": 5000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 25.0,
"info": {
"bracket": "2",
- "initialLeverage": "20",
- "notionalCap": "100000",
- "notionalFloor": "10000",
- "maintMarginRatio": "0.015",
- "cum": "50.0"
+ "initialLeverage": "25",
+ "notionalCap": "25000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.02",
+ "cum": "25.0"
}
},
{
"tier": 3.0,
"symbol": "POPCAT/USDT:USDT",
"currency": "USDT",
- "minNotional": 100000.0,
- "maxNotional": 500000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 15.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
"info": {
"bracket": "3",
- "initialLeverage": "15",
- "notionalCap": "500000",
- "notionalFloor": "100000",
- "maintMarginRatio": "0.02",
- "cum": "550.0"
+ "initialLeverage": "20",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.025",
+ "cum": "150.0"
}
},
{
"tier": 4.0,
"symbol": "POPCAT/USDT:USDT",
"currency": "USDT",
- "minNotional": 500000.0,
- "maxNotional": 1000000.0,
- "maintenanceMarginRate": 0.025,
+ "minNotional": 50000.0,
+ "maxNotional": 250000.0,
+ "maintenanceMarginRate": 0.05,
"maxLeverage": 10.0,
"info": {
"bracket": "4",
"initialLeverage": "10",
- "notionalCap": "1000000",
- "notionalFloor": "500000",
- "maintMarginRatio": "0.025",
- "cum": "3050.0"
+ "notionalCap": "250000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1400.0"
}
},
{
"tier": 5.0,
"symbol": "POPCAT/USDT:USDT",
"currency": "USDT",
- "minNotional": 1000000.0,
- "maxNotional": 3000000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 8.0,
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "8",
- "notionalCap": "3000000",
- "notionalFloor": "1000000",
- "maintMarginRatio": "0.05",
- "cum": "28050.0"
+ "initialLeverage": "5",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
+ "maintMarginRatio": "0.1",
+ "cum": "13900.0"
}
},
{
"tier": 6.0,
"symbol": "POPCAT/USDT:USDT",
"currency": "USDT",
- "minNotional": 3000000.0,
- "maxNotional": 5000000.0,
- "maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
- "notionalCap": "5000000",
- "notionalFloor": "3000000",
- "maintMarginRatio": "0.1",
- "cum": "178050.0"
+ "initialLeverage": "4",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.125",
+ "cum": "26400.0"
}
},
{
"tier": 7.0,
"symbol": "POPCAT/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000000.0,
- "maxNotional": 6000000.0,
- "maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
- "notionalCap": "6000000",
- "notionalFloor": "5000000",
- "maintMarginRatio": "0.125",
- "cum": "303050.0"
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "68100.0"
}
},
{
"tier": 8.0,
"symbol": "POPCAT/USDT:USDT",
"currency": "USDT",
- "minNotional": 6000000.0,
- "maxNotional": 7000000.0,
+ "minNotional": 3000000.0,
+ "maxNotional": 5000000.0,
"maintenanceMarginRate": 0.25,
"maxLeverage": 2.0,
"info": {
"bracket": "8",
"initialLeverage": "2",
- "notionalCap": "7000000",
- "notionalFloor": "6000000",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
"maintMarginRatio": "0.25",
- "cum": "1053050.0"
+ "cum": "318000.0"
}
},
{
"tier": 9.0,
"symbol": "POPCAT/USDT:USDT",
"currency": "USDT",
- "minNotional": 7000000.0,
+ "minNotional": 5000000.0,
"maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
@@ -46212,9 +50451,9 @@
"bracket": "9",
"initialLeverage": "1",
"notionalCap": "8000000",
- "notionalFloor": "7000000",
+ "notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "2803050.0"
+ "cum": "1568000.0"
}
}
],
@@ -46615,6 +50854,437 @@
}
}
],
+ "PROMPT/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "PROMPT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 0.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 25.0,
+ "info": {
+ "bracket": "1",
+ "initialLeverage": "25",
+ "notionalCap": "5000",
+ "notionalFloor": "0",
+ "maintMarginRatio": "0.015",
+ "cum": "0.0"
+ }
+ },
+ {
+ "tier": 2.0,
+ "symbol": "PROMPT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "2",
+ "initialLeverage": "20",
+ "notionalCap": "25000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.02",
+ "cum": "25.0"
+ }
+ },
+ {
+ "tier": 3.0,
+ "symbol": "PROMPT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 25000.0,
+ "maxNotional": 150000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "10",
+ "notionalCap": "150000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.025",
+ "cum": "150.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "PROMPT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 150000.0,
+ "maxNotional": 350000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "5",
+ "notionalCap": "350000",
+ "notionalFloor": "150000",
+ "maintMarginRatio": "0.05",
+ "cum": "3900.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "PROMPT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 350000.0,
+ "maxNotional": 800000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "4",
+ "notionalCap": "800000",
+ "notionalFloor": "350000",
+ "maintMarginRatio": "0.1",
+ "cum": "21400.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "PROMPT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 800000.0,
+ "maxNotional": 900000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "3",
+ "notionalCap": "900000",
+ "notionalFloor": "800000",
+ "maintMarginRatio": "0.125",
+ "cum": "41400.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "PROMPT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 900000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "2",
+ "notionalCap": "1500000",
+ "notionalFloor": "900000",
+ "maintMarginRatio": "0.25",
+ "cum": "153900.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "PROMPT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "1",
+ "notionalCap": "3000000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.5",
+ "cum": "528900.0"
+ }
+ }
+ ],
+ "PUMP/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "PUMP/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 0.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "1",
+ "initialLeverage": "20",
+ "notionalCap": "5000",
+ "notionalFloor": "0",
+ "maintMarginRatio": "0.025",
+ "cum": "0.0"
+ }
+ },
+ {
+ "tier": 2.0,
+ "symbol": "PUMP/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.033,
+ "maxLeverage": 15.0,
+ "info": {
+ "bracket": "2",
+ "initialLeverage": "15",
+ "notionalCap": "25000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.033",
+ "cum": "40.0"
+ }
+ },
+ {
+ "tier": 3.0,
+ "symbol": "PUMP/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 25000.0,
+ "maxNotional": 100000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "10",
+ "notionalCap": "100000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.05",
+ "cum": "465.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "PUMP/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 100000.0,
+ "maxNotional": 200000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "5",
+ "notionalCap": "200000",
+ "notionalFloor": "100000",
+ "maintMarginRatio": "0.1",
+ "cum": "5465.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "PUMP/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 200000.0,
+ "maxNotional": 500000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "4",
+ "notionalCap": "500000",
+ "notionalFloor": "200000",
+ "maintMarginRatio": "0.125",
+ "cum": "10465.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "PUMP/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "2",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.25",
+ "cum": "72965.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "PUMP/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1000000.0,
+ "maxNotional": 2000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "1",
+ "notionalCap": "2000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.5",
+ "cum": "322965.0"
+ }
+ }
+ ],
+ "PUNDIX/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "PUNDIX/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": "PUNDIX/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": "PUNDIX/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": "PUNDIX/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": "PUNDIX/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": "PUNDIX/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": "PUNDIX/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": "PUNDIX/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 500000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "1500000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.1667",
+ "cum": "34800.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "PUNDIX/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 2500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "2500000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.25",
+ "cum": "159750.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "PUNDIX/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 2500000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "10",
+ "initialLeverage": "1",
+ "notionalCap": "4000000",
+ "notionalFloor": "2500000",
+ "maintMarginRatio": "0.5",
+ "cum": "784750.0"
+ }
+ }
+ ],
"PYTH/USDT:USDT": [
{
"tier": 1.0,
@@ -47054,10 +51724,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -47071,10 +51741,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -47086,13 +51756,13 @@
"symbol": "QUICK/USDT:USDT",
"currency": "USDT",
"minNotional": 10000.0,
- "maxNotional": 20000.0,
+ "maxNotional": 23000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
- "notionalCap": "20000",
+ "initialLeverage": "10",
+ "notionalCap": "23000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
"cum": "75.0"
@@ -47102,102 +51772,119 @@
"tier": 4.0,
"symbol": "QUICK/USDT:USDT",
"currency": "USDT",
- "minNotional": 20000.0,
- "maxNotional": 40000.0,
+ "minNotional": 23000.0,
+ "maxNotional": 46000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
- "notionalCap": "40000",
- "notionalFloor": "20000",
+ "initialLeverage": "7",
+ "notionalCap": "46000",
+ "notionalFloor": "23000",
"maintMarginRatio": "0.025",
- "cum": "175.0"
+ "cum": "190.0"
}
},
{
"tier": 5.0,
"symbol": "QUICK/USDT:USDT",
"currency": "USDT",
- "minNotional": 40000.0,
- "maxNotional": 200000.0,
+ "minNotional": 46000.0,
+ "maxNotional": 230000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
- "notionalCap": "200000",
- "notionalFloor": "40000",
+ "initialLeverage": "6",
+ "notionalCap": "230000",
+ "notionalFloor": "46000",
"maintMarginRatio": "0.05",
- "cum": "1175.0"
+ "cum": "1340.0"
}
},
{
"tier": 6.0,
"symbol": "QUICK/USDT:USDT",
"currency": "USDT",
- "minNotional": 200000.0,
- "maxNotional": 400000.0,
+ "minNotional": 230000.0,
+ "maxNotional": 460000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "400000",
- "notionalFloor": "200000",
+ "notionalCap": "460000",
+ "notionalFloor": "230000",
"maintMarginRatio": "0.1",
- "cum": "11175.0"
+ "cum": "12840.0"
}
},
{
"tier": 7.0,
"symbol": "QUICK/USDT:USDT",
"currency": "USDT",
- "minNotional": 400000.0,
- "maxNotional": 500000.0,
+ "minNotional": 460000.0,
+ "maxNotional": 800000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "500000",
- "notionalFloor": "400000",
+ "notionalCap": "800000",
+ "notionalFloor": "460000",
"maintMarginRatio": "0.125",
- "cum": "21175.0"
+ "cum": "24340.0"
}
},
{
"tier": 8.0,
"symbol": "QUICK/USDT:USDT",
"currency": "USDT",
- "minNotional": 500000.0,
- "maxNotional": 1000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 800000.0,
+ "maxNotional": 2100000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "1000000",
- "notionalFloor": "500000",
- "maintMarginRatio": "0.25",
- "cum": "83675.0"
+ "initialLeverage": "3",
+ "notionalCap": "2100000",
+ "notionalFloor": "800000",
+ "maintMarginRatio": "0.1667",
+ "cum": "57700.0"
}
},
{
"tier": 9.0,
"symbol": "QUICK/USDT:USDT",
"currency": "USDT",
- "minNotional": 1000000.0,
- "maxNotional": 2000000.0,
+ "minNotional": 2100000.0,
+ "maxNotional": 3400000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "3400000",
+ "notionalFloor": "2100000",
+ "maintMarginRatio": "0.25",
+ "cum": "232630.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "QUICK/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 3400000.0,
+ "maxNotional": 5600000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "2000000",
- "notionalFloor": "1000000",
+ "notionalCap": "5600000",
+ "notionalFloor": "3400000",
"maintMarginRatio": "0.5",
- "cum": "333675.0"
+ "cum": "1082630.0"
}
}
],
@@ -47744,10 +52431,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -47761,10 +52448,10 @@
"minNotional": 10000.0,
"maxNotional": 20000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "20000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -47778,10 +52465,10 @@
"minNotional": 20000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "100000",
"notionalFloor": "20000",
"maintMarginRatio": "0.02",
@@ -47795,10 +52482,10 @@
"minNotional": 100000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "200000",
"notionalFloor": "100000",
"maintMarginRatio": "0.025",
@@ -47812,10 +52499,10 @@
"minNotional": 200000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "1000000",
"notionalFloor": "200000",
"maintMarginRatio": "0.05",
@@ -47829,10 +52516,10 @@
"minNotional": 1000000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "2000000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.1",
@@ -47846,10 +52533,10 @@
"minNotional": 2000000.0,
"maxNotional": 2500000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "2500000",
"notionalFloor": "2000000",
"maintMarginRatio": "0.125",
@@ -49107,10 +53794,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -49124,10 +53811,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -49141,10 +53828,10 @@
"minNotional": 10000.0,
"maxNotional": 50000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "50000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -49158,10 +53845,10 @@
"minNotional": 50000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "100000",
"notionalFloor": "50000",
"maintMarginRatio": "0.025",
@@ -49175,10 +53862,10 @@
"minNotional": 100000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "500000",
"notionalFloor": "100000",
"maintMarginRatio": "0.05",
@@ -49192,10 +53879,10 @@
"minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.1",
@@ -49209,10 +53896,10 @@
"minNotional": 1000000.0,
"maxNotional": 1250000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "1250000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.125",
@@ -49417,10 +54104,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -49434,10 +54121,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -49449,13 +54136,13 @@
"symbol": "RSR/USDT:USDT",
"currency": "USDT",
"minNotional": 10000.0,
- "maxNotional": 50000.0,
+ "maxNotional": 35000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
- "notionalCap": "50000",
+ "initialLeverage": "10",
+ "notionalCap": "35000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
"cum": "75.0"
@@ -49465,102 +54152,119 @@
"tier": 4.0,
"symbol": "RSR/USDT:USDT",
"currency": "USDT",
- "minNotional": 50000.0,
- "maxNotional": 100000.0,
+ "minNotional": 35000.0,
+ "maxNotional": 70000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
- "notionalCap": "100000",
- "notionalFloor": "50000",
+ "initialLeverage": "7",
+ "notionalCap": "70000",
+ "notionalFloor": "35000",
"maintMarginRatio": "0.025",
- "cum": "325.0"
+ "cum": "250.0"
}
},
{
"tier": 5.0,
"symbol": "RSR/USDT:USDT",
"currency": "USDT",
- "minNotional": 100000.0,
- "maxNotional": 500000.0,
+ "minNotional": 70000.0,
+ "maxNotional": 350000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
- "notionalCap": "500000",
- "notionalFloor": "100000",
+ "initialLeverage": "6",
+ "notionalCap": "350000",
+ "notionalFloor": "70000",
"maintMarginRatio": "0.05",
- "cum": "2825.0"
+ "cum": "2000.0"
}
},
{
"tier": 6.0,
"symbol": "RSR/USDT:USDT",
"currency": "USDT",
- "minNotional": 500000.0,
- "maxNotional": 1000000.0,
+ "minNotional": 350000.0,
+ "maxNotional": 700000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "1000000",
- "notionalFloor": "500000",
+ "notionalCap": "700000",
+ "notionalFloor": "350000",
"maintMarginRatio": "0.1",
- "cum": "27825.0"
+ "cum": "19500.0"
}
},
{
"tier": 7.0,
"symbol": "RSR/USDT:USDT",
"currency": "USDT",
- "minNotional": 1000000.0,
- "maxNotional": 1250000.0,
+ "minNotional": 700000.0,
+ "maxNotional": 1100000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "1250000",
- "notionalFloor": "1000000",
+ "notionalCap": "1100000",
+ "notionalFloor": "700000",
"maintMarginRatio": "0.125",
- "cum": "52825.0"
+ "cum": "37000.0"
}
},
{
"tier": 8.0,
"symbol": "RSR/USDT:USDT",
"currency": "USDT",
- "minNotional": 1250000.0,
- "maxNotional": 3000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 1100000.0,
+ "maxNotional": 2650000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "3000000",
- "notionalFloor": "1250000",
- "maintMarginRatio": "0.25",
- "cum": "209075.0"
+ "initialLeverage": "3",
+ "notionalCap": "2650000",
+ "notionalFloor": "1100000",
+ "maintMarginRatio": "0.1667",
+ "cum": "82870.0"
}
},
{
"tier": 9.0,
"symbol": "RSR/USDT:USDT",
"currency": "USDT",
- "minNotional": 3000000.0,
- "maxNotional": 5000000.0,
+ "minNotional": 2650000.0,
+ "maxNotional": 4200000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "4200000",
+ "notionalFloor": "2650000",
+ "maintMarginRatio": "0.25",
+ "cum": "303615.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "RSR/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 4200000.0,
+ "maxNotional": 6800000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "5000000",
- "notionalFloor": "3000000",
+ "notionalCap": "6800000",
+ "notionalFloor": "4200000",
"maintMarginRatio": "0.5",
- "cum": "959075.0"
+ "cum": "1353615.0"
}
}
],
@@ -50175,10 +54879,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -50192,10 +54896,10 @@
"minNotional": 10000.0,
"maxNotional": 30000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "30000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -50209,10 +54913,10 @@
"minNotional": 30000.0,
"maxNotional": 150000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "150000",
"notionalFloor": "30000",
"maintMarginRatio": "0.02",
@@ -50226,10 +54930,10 @@
"minNotional": 150000.0,
"maxNotional": 300000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "300000",
"notionalFloor": "150000",
"maintMarginRatio": "0.025",
@@ -50243,10 +54947,10 @@
"minNotional": 300000.0,
"maxNotional": 1500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "1500000",
"notionalFloor": "300000",
"maintMarginRatio": "0.05",
@@ -50260,10 +54964,10 @@
"minNotional": 1500000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "2000000",
"notionalFloor": "1500000",
"maintMarginRatio": "0.1",
@@ -50277,10 +54981,10 @@
"minNotional": 2000000.0,
"maxNotional": 2500000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "2500000",
"notionalFloor": "2000000",
"maintMarginRatio": "0.125",
@@ -50502,10 +55206,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -50519,10 +55223,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -50536,10 +55240,10 @@
"minNotional": 10000.0,
"maxNotional": 30000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "30000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -50553,10 +55257,10 @@
"minNotional": 30000.0,
"maxNotional": 60000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "60000",
"notionalFloor": "30000",
"maintMarginRatio": "0.025",
@@ -50570,10 +55274,10 @@
"minNotional": 60000.0,
"maxNotional": 300000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "300000",
"notionalFloor": "60000",
"maintMarginRatio": "0.05",
@@ -50587,10 +55291,10 @@
"minNotional": 300000.0,
"maxNotional": 600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "600000",
"notionalFloor": "300000",
"maintMarginRatio": "0.1",
@@ -50604,10 +55308,10 @@
"minNotional": 600000.0,
"maxNotional": 750000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "750000",
"notionalFloor": "600000",
"maintMarginRatio": "0.125",
@@ -50761,10 +55465,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -50778,10 +55482,10 @@
"minNotional": 5000.0,
"maxNotional": 16000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "16000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -50795,10 +55499,10 @@
"minNotional": 16000.0,
"maxNotional": 80000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "80000",
"notionalFloor": "16000",
"maintMarginRatio": "0.02",
@@ -50812,10 +55516,10 @@
"minNotional": 80000.0,
"maxNotional": 160000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "160000",
"notionalFloor": "80000",
"maintMarginRatio": "0.025",
@@ -50829,10 +55533,10 @@
"minNotional": 160000.0,
"maxNotional": 800000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "800000",
"notionalFloor": "160000",
"maintMarginRatio": "0.05",
@@ -50846,10 +55550,10 @@
"minNotional": 800000.0,
"maxNotional": 1600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1600000",
"notionalFloor": "800000",
"maintMarginRatio": "0.1",
@@ -50863,10 +55567,10 @@
"minNotional": 1600000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "2000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.125",
@@ -50895,13 +55599,13 @@
"symbol": "SCR/USDT:USDT",
"currency": "USDT",
"minNotional": 4000000.0,
- "maxNotional": 8000000.0,
+ "maxNotional": 4500000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
"bracket": "9",
"initialLeverage": "1",
- "notionalCap": "8000000",
+ "notionalCap": "4500000",
"notionalFloor": "4000000",
"maintMarginRatio": "0.5",
"cum": "1334505.0"
@@ -51069,13 +55773,13 @@
"symbol": "SEI/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 10000.0,
+ "maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
"maxLeverage": 75.0,
"info": {
"bracket": "1",
"initialLeverage": "75",
- "notionalCap": "10000",
+ "notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
"cum": "0.0"
@@ -51085,136 +55789,153 @@
"tier": 2.0,
"symbol": "SEI/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 100000.0,
+ "minNotional": 5000.0,
+ "maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
"maxLeverage": 50.0,
"info": {
"bracket": "2",
"initialLeverage": "50",
- "notionalCap": "100000",
- "notionalFloor": "10000",
+ "notionalCap": "10000",
+ "notionalFloor": "5000",
"maintMarginRatio": "0.015",
- "cum": "50.0"
+ "cum": "25.0"
}
},
{
"tier": 3.0,
"symbol": "SEI/USDT:USDT",
"currency": "USDT",
- "minNotional": 100000.0,
- "maxNotional": 500000.0,
+ "minNotional": 10000.0,
+ "maxNotional": 25000.0,
"maintenanceMarginRate": 0.02,
"maxLeverage": 25.0,
"info": {
"bracket": "3",
"initialLeverage": "25",
- "notionalCap": "500000",
- "notionalFloor": "100000",
+ "notionalCap": "25000",
+ "notionalFloor": "10000",
"maintMarginRatio": "0.02",
- "cum": "550.0"
+ "cum": "75.0"
}
},
{
"tier": 4.0,
"symbol": "SEI/USDT:USDT",
"currency": "USDT",
- "minNotional": 500000.0,
- "maxNotional": 1000000.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
"maintenanceMarginRate": 0.025,
"maxLeverage": 20.0,
"info": {
"bracket": "4",
"initialLeverage": "20",
- "notionalCap": "1000000",
- "notionalFloor": "500000",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
"maintMarginRatio": "0.025",
- "cum": "3050.0"
+ "cum": "200.0"
}
},
{
"tier": 5.0,
"symbol": "SEI/USDT:USDT",
"currency": "USDT",
- "minNotional": 1000000.0,
- "maxNotional": 5000000.0,
+ "minNotional": 50000.0,
+ "maxNotional": 250000.0,
"maintenanceMarginRate": 0.05,
"maxLeverage": 10.0,
"info": {
"bracket": "5",
"initialLeverage": "10",
- "notionalCap": "5000000",
- "notionalFloor": "1000000",
+ "notionalCap": "250000",
+ "notionalFloor": "50000",
"maintMarginRatio": "0.05",
- "cum": "28050.0"
+ "cum": "1450.0"
}
},
{
"tier": 6.0,
"symbol": "SEI/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000000.0,
- "maxNotional": 10000000.0,
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "10000000",
- "notionalFloor": "5000000",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
"maintMarginRatio": "0.1",
- "cum": "278050.0"
+ "cum": "13950.0"
}
},
{
"tier": 7.0,
"symbol": "SEI/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000000.0,
- "maxNotional": 11000000.0,
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "11000000",
- "notionalFloor": "10000000",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
"maintMarginRatio": "0.125",
- "cum": "528050.0"
+ "cum": "26450.0"
}
},
{
"tier": 8.0,
"symbol": "SEI/USDT:USDT",
"currency": "USDT",
- "minNotional": 11000000.0,
- "maxNotional": 12000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "12000000",
- "notionalFloor": "11000000",
- "maintMarginRatio": "0.25",
- "cum": "1903050.0"
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "68150.0"
}
},
{
"tier": 9.0,
"symbol": "SEI/USDT:USDT",
"currency": "USDT",
- "minNotional": 12000000.0,
- "maxNotional": 13000000.0,
+ "minNotional": 3000000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "318050.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "SEI/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000000.0,
+ "maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "13000000",
- "notionalFloor": "12000000",
+ "notionalCap": "8000000",
+ "notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "4903050.0"
+ "cum": "1568050.0"
}
}
],
@@ -51443,6 +56164,178 @@
}
}
],
+ "SIGN/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "SIGN/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": "SIGN/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": "SIGN/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": "SIGN/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": "SIGN/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": "SIGN/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": "SIGN/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": "SIGN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 500000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "1500000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.1667",
+ "cum": "34800.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "SIGN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 2500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "2500000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.25",
+ "cum": "159750.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "SIGN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 2500000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "10",
+ "initialLeverage": "1",
+ "notionalCap": "4000000",
+ "notionalFloor": "2500000",
+ "maintMarginRatio": "0.5",
+ "cum": "784750.0"
+ }
+ }
+ ],
"SIREN/USDT:USDT": [
{
"tier": 1.0,
@@ -53209,10 +58102,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -53226,10 +58119,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -53243,10 +58136,10 @@
"minNotional": 10000.0,
"maxNotional": 50000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "7",
"notionalCap": "50000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -53260,10 +58153,10 @@
"minNotional": 50000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "100000",
"notionalFloor": "50000",
"maintMarginRatio": "0.025",
@@ -53277,10 +58170,10 @@
"minNotional": 100000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "500000",
"notionalFloor": "100000",
"maintMarginRatio": "0.05",
@@ -53294,10 +58187,10 @@
"minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.1",
@@ -53311,10 +58204,10 @@
"minNotional": 1000000.0,
"maxNotional": 1250000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "1250000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.125",
@@ -53685,6 +58578,127 @@
}
}
],
+ "STO/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "STO/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 0.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "1",
+ "initialLeverage": "20",
+ "notionalCap": "5000",
+ "notionalFloor": "0",
+ "maintMarginRatio": "0.025",
+ "cum": "0.0"
+ }
+ },
+ {
+ "tier": 2.0,
+ "symbol": "STO/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.033,
+ "maxLeverage": 15.0,
+ "info": {
+ "bracket": "2",
+ "initialLeverage": "15",
+ "notionalCap": "25000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.033",
+ "cum": "40.0"
+ }
+ },
+ {
+ "tier": 3.0,
+ "symbol": "STO/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 25000.0,
+ "maxNotional": 100000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "10",
+ "notionalCap": "100000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.05",
+ "cum": "465.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "STO/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 100000.0,
+ "maxNotional": 200000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "5",
+ "notionalCap": "200000",
+ "notionalFloor": "100000",
+ "maintMarginRatio": "0.1",
+ "cum": "5465.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "STO/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 200000.0,
+ "maxNotional": 500000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "4",
+ "notionalCap": "500000",
+ "notionalFloor": "200000",
+ "maintMarginRatio": "0.125",
+ "cum": "10465.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "STO/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "2",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.25",
+ "cum": "72965.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "STO/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1000000.0,
+ "maxNotional": 2000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "1",
+ "notionalCap": "2000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.5",
+ "cum": "322965.0"
+ }
+ }
+ ],
"STORJ/USDT:USDT": [
{
"tier": 1.0,
@@ -54642,10 +59656,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -54659,10 +59673,10 @@
"minNotional": 5000.0,
"maxNotional": 16000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "16000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -54676,10 +59690,10 @@
"minNotional": 16000.0,
"maxNotional": 80000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "7",
"notionalCap": "80000",
"notionalFloor": "16000",
"maintMarginRatio": "0.02",
@@ -54693,10 +59707,10 @@
"minNotional": 80000.0,
"maxNotional": 160000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "160000",
"notionalFloor": "80000",
"maintMarginRatio": "0.025",
@@ -54710,10 +59724,10 @@
"minNotional": 160000.0,
"maxNotional": 800000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "800000",
"notionalFloor": "160000",
"maintMarginRatio": "0.05",
@@ -54727,10 +59741,10 @@
"minNotional": 800000.0,
"maxNotional": 1600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1600000",
"notionalFloor": "800000",
"maintMarginRatio": "0.1",
@@ -54744,10 +59758,10 @@
"minNotional": 1600000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "2000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.125",
@@ -55383,10 +60397,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -55400,10 +60414,10 @@
"minNotional": 10000.0,
"maxNotional": 20000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "20000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -55417,10 +60431,10 @@
"minNotional": 20000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "8",
"notionalCap": "100000",
"notionalFloor": "20000",
"maintMarginRatio": "0.02",
@@ -55434,10 +60448,10 @@
"minNotional": 100000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "7",
"notionalCap": "200000",
"notionalFloor": "100000",
"maintMarginRatio": "0.025",
@@ -55451,10 +60465,10 @@
"minNotional": 200000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "6",
"notionalCap": "1000000",
"notionalFloor": "200000",
"maintMarginRatio": "0.05",
@@ -55500,33 +60514,50 @@
"symbol": "SXP/USDT:USDT",
"currency": "USDT",
"minNotional": 2500000.0,
- "maxNotional": 6000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "maxNotional": 3750000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "6000000",
+ "initialLeverage": "3",
+ "notionalCap": "3750000",
"notionalFloor": "2500000",
- "maintMarginRatio": "0.25",
- "cum": "418150.0"
+ "maintMarginRatio": "0.1667",
+ "cum": "209900.0"
}
},
{
"tier": 9.0,
"symbol": "SXP/USDT:USDT",
"currency": "USDT",
- "minNotional": 6000000.0,
+ "minNotional": 3750000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3750000",
+ "maintMarginRatio": "0.25",
+ "cum": "522275.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "SXP/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000000.0,
"maxNotional": 10000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "10000000",
- "notionalFloor": "6000000",
+ "notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "1918150.0"
+ "cum": "1772275.0"
}
}
],
@@ -56107,10 +61138,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -56124,10 +61155,10 @@
"minNotional": 10000.0,
"maxNotional": 40000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "40000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -56141,10 +61172,10 @@
"minNotional": 40000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "200000",
"notionalFloor": "40000",
"maintMarginRatio": "0.02",
@@ -56158,10 +61189,10 @@
"minNotional": 200000.0,
"maxNotional": 400000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "400000",
"notionalFloor": "200000",
"maintMarginRatio": "0.025",
@@ -56175,10 +61206,10 @@
"minNotional": 400000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "2000000",
"notionalFloor": "400000",
"maintMarginRatio": "0.05",
@@ -56192,10 +61223,10 @@
"minNotional": 2000000.0,
"maxNotional": 3500000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "3500000",
"notionalFloor": "2000000",
"maintMarginRatio": "0.1",
@@ -56209,10 +61240,10 @@
"minNotional": 3500000.0,
"maxNotional": 4000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "4000000",
"notionalFloor": "3500000",
"maintMarginRatio": "0.125",
@@ -56814,10 +61845,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -56831,10 +61862,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -56848,10 +61879,10 @@
"minNotional": 10000.0,
"maxNotional": 50000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "50000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -56865,10 +61896,10 @@
"minNotional": 50000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "100000",
"notionalFloor": "50000",
"maintMarginRatio": "0.025",
@@ -56882,10 +61913,10 @@
"minNotional": 100000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "500000",
"notionalFloor": "100000",
"maintMarginRatio": "0.05",
@@ -56899,10 +61930,10 @@
"minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.1",
@@ -56916,10 +61947,10 @@
"minNotional": 1000000.0,
"maxNotional": 1250000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "1250000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.125",
@@ -57244,14 +62275,14 @@
"currency": "USDT",
"minNotional": 0.0,
"maxNotional": 5000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 26.0,
+ "maintenanceMarginRate": 0.01,
+ "maxLeverage": 75.0,
"info": {
"bracket": "1",
- "initialLeverage": "26",
+ "initialLeverage": "75",
"notionalCap": "5000",
"notionalFloor": "0",
- "maintMarginRatio": "0.015",
+ "maintMarginRatio": "0.01",
"cum": "0.0"
}
},
@@ -57260,15 +62291,15 @@
"symbol": "TRB/USDT:USDT",
"currency": "USDT",
"minNotional": 5000.0,
- "maxNotional": 50000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxNotional": 10000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 50.0,
"info": {
"bracket": "2",
- "initialLeverage": "25",
- "notionalCap": "50000",
+ "initialLeverage": "50",
+ "notionalCap": "10000",
"notionalFloor": "5000",
- "maintMarginRatio": "0.02",
+ "maintMarginRatio": "0.015",
"cum": "25.0"
}
},
@@ -57276,102 +62307,136 @@
"tier": 3.0,
"symbol": "TRB/USDT:USDT",
"currency": "USDT",
- "minNotional": 50000.0,
- "maxNotional": 100000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "minNotional": 10000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 25.0,
"info": {
"bracket": "3",
- "initialLeverage": "20",
- "notionalCap": "100000",
- "notionalFloor": "50000",
- "maintMarginRatio": "0.025",
- "cum": "275.0"
+ "initialLeverage": "25",
+ "notionalCap": "25000",
+ "notionalFloor": "10000",
+ "maintMarginRatio": "0.02",
+ "cum": "75.0"
}
},
{
"tier": 4.0,
"symbol": "TRB/USDT:USDT",
"currency": "USDT",
- "minNotional": 100000.0,
- "maxNotional": 400000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "400000",
- "notionalFloor": "100000",
- "maintMarginRatio": "0.05",
- "cum": "2775.0"
+ "initialLeverage": "20",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.025",
+ "cum": "200.0"
}
},
{
"tier": 5.0,
"symbol": "TRB/USDT:USDT",
"currency": "USDT",
- "minNotional": 400000.0,
- "maxNotional": 1000000.0,
- "maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "minNotional": 50000.0,
+ "maxNotional": 250000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
"info": {
"bracket": "5",
- "initialLeverage": "5",
- "notionalCap": "1000000",
- "notionalFloor": "400000",
- "maintMarginRatio": "0.1",
- "cum": "22775.0"
+ "initialLeverage": "10",
+ "notionalCap": "250000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1450.0"
}
},
{
"tier": 6.0,
"symbol": "TRB/USDT:USDT",
"currency": "USDT",
- "minNotional": 1000000.0,
- "maxNotional": 2000000.0,
- "maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
"info": {
"bracket": "6",
- "initialLeverage": "4",
- "notionalCap": "2000000",
- "notionalFloor": "1000000",
- "maintMarginRatio": "0.125",
- "cum": "47775.0"
+ "initialLeverage": "5",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
+ "maintMarginRatio": "0.1",
+ "cum": "13950.0"
}
},
{
"tier": 7.0,
"symbol": "TRB/USDT:USDT",
"currency": "USDT",
- "minNotional": 2000000.0,
- "maxNotional": 4000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
"info": {
"bracket": "7",
- "initialLeverage": "2",
- "notionalCap": "4000000",
- "notionalFloor": "2000000",
- "maintMarginRatio": "0.25",
- "cum": "297775.0"
+ "initialLeverage": "4",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.125",
+ "cum": "26450.0"
}
},
{
"tier": 8.0,
"symbol": "TRB/USDT:USDT",
"currency": "USDT",
- "minNotional": 4000000.0,
- "maxNotional": 4500000.0,
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "68150.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "TRB/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 3000000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "318050.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "TRB/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000000.0,
+ "maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "8",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "4500000",
- "notionalFloor": "4000000",
+ "notionalCap": "8000000",
+ "notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "1297775.0"
+ "cum": "1568050.0"
}
}
],
@@ -57538,10 +62603,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -57555,10 +62620,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -57572,10 +62637,10 @@
"minNotional": 10000.0,
"maxNotional": 50000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "50000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -57589,10 +62654,10 @@
"minNotional": 50000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "100000",
"notionalFloor": "50000",
"maintMarginRatio": "0.025",
@@ -57606,10 +62671,10 @@
"minNotional": 100000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "500000",
"notionalFloor": "100000",
"maintMarginRatio": "0.05",
@@ -57623,10 +62688,10 @@
"minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.1",
@@ -57640,10 +62705,10 @@
"minNotional": 1000000.0,
"maxNotional": 1250000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "1250000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.125",
@@ -57846,13 +62911,13 @@
"symbol": "TRUMP/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"
@@ -57862,17 +62927,17 @@
"tier": 2.0,
"symbol": "TRUMP/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
+ "minNotional": 5000.0,
"maxNotional": 20000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 20.0,
+ "maxLeverage": 50.0,
"info": {
"bracket": "2",
- "initialLeverage": "20",
+ "initialLeverage": "50",
"notionalCap": "20000",
- "notionalFloor": "10000",
+ "notionalFloor": "5000",
"maintMarginRatio": "0.015",
- "cum": "50.0"
+ "cum": "25.0"
}
},
{
@@ -57882,14 +62947,14 @@
"minNotional": 20000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 15.0,
+ "maxLeverage": 25.0,
"info": {
"bracket": "3",
- "initialLeverage": "15",
+ "initialLeverage": "25",
"notionalCap": "100000",
"notionalFloor": "20000",
"maintMarginRatio": "0.02",
- "cum": "150.0"
+ "cum": "125.0"
}
},
{
@@ -57899,14 +62964,14 @@
"minNotional": 100000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 10.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
+ "initialLeverage": "20",
"notionalCap": "200000",
"notionalFloor": "100000",
"maintMarginRatio": "0.025",
- "cum": "650.0"
+ "cum": "625.0"
}
},
{
@@ -57916,14 +62981,14 @@
"minNotional": 200000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 8.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "5",
- "initialLeverage": "8",
+ "initialLeverage": "10",
"notionalCap": "1000000",
"notionalFloor": "200000",
"maintMarginRatio": "0.05",
- "cum": "5650.0"
+ "cum": "5625.0"
}
},
{
@@ -57940,7 +63005,7 @@
"notionalCap": "2000000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.1",
- "cum": "55650.0"
+ "cum": "55625.0"
}
},
{
@@ -57957,7 +63022,7 @@
"notionalCap": "2500000",
"notionalFloor": "2000000",
"maintMarginRatio": "0.125",
- "cum": "105650.0"
+ "cum": "105625.0"
}
},
{
@@ -57965,33 +63030,50 @@
"symbol": "TRUMP/USDT:USDT",
"currency": "USDT",
"minNotional": 2500000.0,
- "maxNotional": 5000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "maxNotional": 3750000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "5000000",
+ "initialLeverage": "3",
+ "notionalCap": "3750000",
"notionalFloor": "2500000",
- "maintMarginRatio": "0.25",
- "cum": "418150.0"
+ "maintMarginRatio": "0.1667",
+ "cum": "209875.0"
}
},
{
"tier": 9.0,
"symbol": "TRUMP/USDT:USDT",
"currency": "USDT",
+ "minNotional": 3750000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3750000",
+ "maintMarginRatio": "0.25",
+ "cum": "522250.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "TRUMP/USDT:USDT",
+ "currency": "USDT",
"minNotional": 5000000.0,
"maxNotional": 6000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "6000000",
"notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "1668150.0"
+ "cum": "1772250.0"
}
}
],
@@ -58175,10 +63257,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "10",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -58192,10 +63274,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "8",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -58209,10 +63291,10 @@
"minNotional": 10000.0,
"maxNotional": 30000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "7",
"notionalCap": "30000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -58226,10 +63308,10 @@
"minNotional": 30000.0,
"maxNotional": 60000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "60000",
"notionalFloor": "30000",
"maintMarginRatio": "0.025",
@@ -58243,10 +63325,10 @@
"minNotional": 60000.0,
"maxNotional": 300000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "300000",
"notionalFloor": "60000",
"maintMarginRatio": "0.05",
@@ -58260,10 +63342,10 @@
"minNotional": 300000.0,
"maxNotional": 600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "600000",
"notionalFloor": "300000",
"maintMarginRatio": "0.1",
@@ -58277,10 +63359,10 @@
"minNotional": 600000.0,
"maxNotional": 750000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "750000",
"notionalFloor": "600000",
"maintMarginRatio": "0.125",
@@ -58309,13 +63391,13 @@
"symbol": "TST/USDT:USDT",
"currency": "USDT",
"minNotional": 1500000.0,
- "maxNotional": 3000000.0,
+ "maxNotional": 2000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
"bracket": "9",
"initialLeverage": "1",
- "notionalCap": "3000000",
+ "notionalCap": "2000000",
"notionalFloor": "1500000",
"maintMarginRatio": "0.5",
"cum": "500475.0"
@@ -58328,13 +63410,13 @@
"symbol": "TURBO/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 10000.0,
+ "maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
"maxLeverage": 75.0,
"info": {
"bracket": "1",
"initialLeverage": "75",
- "notionalCap": "10000",
+ "notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
"cum": "0.0"
@@ -58344,136 +63426,153 @@
"tier": 2.0,
"symbol": "TURBO/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 60000.0,
+ "minNotional": 5000.0,
+ "maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
"maxLeverage": 50.0,
"info": {
"bracket": "2",
"initialLeverage": "50",
- "notionalCap": "60000",
- "notionalFloor": "10000",
+ "notionalCap": "10000",
+ "notionalFloor": "5000",
"maintMarginRatio": "0.015",
- "cum": "50.0"
+ "cum": "25.0"
}
},
{
"tier": 3.0,
"symbol": "TURBO/USDT:USDT",
"currency": "USDT",
- "minNotional": 60000.0,
- "maxNotional": 300000.0,
+ "minNotional": 10000.0,
+ "maxNotional": 25000.0,
"maintenanceMarginRate": 0.02,
"maxLeverage": 25.0,
"info": {
"bracket": "3",
"initialLeverage": "25",
- "notionalCap": "300000",
- "notionalFloor": "60000",
+ "notionalCap": "25000",
+ "notionalFloor": "10000",
"maintMarginRatio": "0.02",
- "cum": "350.0"
+ "cum": "75.0"
}
},
{
"tier": 4.0,
"symbol": "TURBO/USDT:USDT",
"currency": "USDT",
- "minNotional": 300000.0,
- "maxNotional": 600000.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
"maintenanceMarginRate": 0.025,
"maxLeverage": 20.0,
"info": {
"bracket": "4",
"initialLeverage": "20",
- "notionalCap": "600000",
- "notionalFloor": "300000",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
"maintMarginRatio": "0.025",
- "cum": "1850.0"
+ "cum": "200.0"
}
},
{
"tier": 5.0,
"symbol": "TURBO/USDT:USDT",
"currency": "USDT",
- "minNotional": 600000.0,
- "maxNotional": 3000000.0,
+ "minNotional": 50000.0,
+ "maxNotional": 250000.0,
"maintenanceMarginRate": 0.05,
"maxLeverage": 10.0,
"info": {
"bracket": "5",
"initialLeverage": "10",
- "notionalCap": "3000000",
- "notionalFloor": "600000",
+ "notionalCap": "250000",
+ "notionalFloor": "50000",
"maintMarginRatio": "0.05",
- "cum": "16850.0"
+ "cum": "1450.0"
}
},
{
"tier": 6.0,
"symbol": "TURBO/USDT:USDT",
"currency": "USDT",
- "minNotional": 3000000.0,
- "maxNotional": 3500000.0,
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "3500000",
- "notionalFloor": "3000000",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
"maintMarginRatio": "0.1",
- "cum": "166850.0"
+ "cum": "13950.0"
}
},
{
"tier": 7.0,
"symbol": "TURBO/USDT:USDT",
"currency": "USDT",
- "minNotional": 3500000.0,
- "maxNotional": 4000000.0,
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "4000000",
- "notionalFloor": "3500000",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
"maintMarginRatio": "0.125",
- "cum": "254350.0"
+ "cum": "26450.0"
}
},
{
"tier": 8.0,
"symbol": "TURBO/USDT:USDT",
"currency": "USDT",
- "minNotional": 4000000.0,
- "maxNotional": 4500000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "4500000",
- "notionalFloor": "4000000",
- "maintMarginRatio": "0.25",
- "cum": "754350.0"
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "68150.0"
}
},
{
"tier": 9.0,
"symbol": "TURBO/USDT:USDT",
"currency": "USDT",
- "minNotional": 4500000.0,
+ "minNotional": 3000000.0,
"maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "318050.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "TURBO/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000000.0,
+ "maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "5000000",
- "notionalFloor": "4500000",
+ "notionalCap": "8000000",
+ "notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "1879350.0"
+ "cum": "1568050.0"
}
}
],
@@ -58485,10 +63584,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "1",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.02",
@@ -58502,10 +63601,10 @@
"minNotional": 5000.0,
"maxNotional": 25000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "2",
- "initialLeverage": "20",
+ "initialLeverage": "8",
"notionalCap": "25000",
"notionalFloor": "5000",
"maintMarginRatio": "0.025",
@@ -58519,10 +63618,10 @@
"minNotional": 25000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "3",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "200000",
"notionalFloor": "25000",
"maintMarginRatio": "0.05",
@@ -58536,10 +63635,10 @@
"minNotional": 200000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "4",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "500000",
"notionalFloor": "200000",
"maintMarginRatio": "0.1",
@@ -58553,10 +63652,10 @@
"minNotional": 500000.0,
"maxNotional": 750000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "5",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "750000",
"notionalFloor": "500000",
"maintMarginRatio": "0.125",
@@ -58585,13 +63684,13 @@
"symbol": "TUT/USDT:USDT",
"currency": "USDT",
"minNotional": 1500000.0,
- "maxNotional": 3000000.0,
+ "maxNotional": 2000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
"bracket": "7",
"initialLeverage": "1",
- "notionalCap": "3000000",
+ "notionalCap": "2000000",
"notionalFloor": "1500000",
"maintMarginRatio": "0.5",
"cum": "491900.0"
@@ -58727,10 +63826,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -58744,10 +63843,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -58761,10 +63860,10 @@
"minNotional": 10000.0,
"maxNotional": 50000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "50000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -58778,10 +63877,10 @@
"minNotional": 50000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "100000",
"notionalFloor": "50000",
"maintMarginRatio": "0.025",
@@ -58795,10 +63894,10 @@
"minNotional": 100000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "500000",
"notionalFloor": "100000",
"maintMarginRatio": "0.05",
@@ -58812,10 +63911,10 @@
"minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.1",
@@ -58829,10 +63928,10 @@
"minNotional": 1000000.0,
"maxNotional": 1250000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "1250000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.125",
@@ -59415,13 +64514,13 @@
"symbol": "USUAL/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 10000.0,
+ "maxNotional": 7000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 25.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "25",
- "notionalCap": "10000",
+ "initialLeverage": "20",
+ "notionalCap": "7000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
"cum": "0.0"
@@ -59431,136 +64530,153 @@
"tier": 2.0,
"symbol": "USUAL/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 30000.0,
+ "minNotional": 7000.0,
+ "maxNotional": 18000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 20.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "20",
- "notionalCap": "30000",
- "notionalFloor": "10000",
+ "initialLeverage": "10",
+ "notionalCap": "18000",
+ "notionalFloor": "7000",
"maintMarginRatio": "0.015",
- "cum": "50.0"
+ "cum": "35.0"
}
},
{
"tier": 3.0,
"symbol": "USUAL/USDT:USDT",
"currency": "USDT",
- "minNotional": 30000.0,
- "maxNotional": 150000.0,
+ "minNotional": 18000.0,
+ "maxNotional": 75000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 15.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "15",
- "notionalCap": "150000",
- "notionalFloor": "30000",
+ "initialLeverage": "8",
+ "notionalCap": "75000",
+ "notionalFloor": "18000",
"maintMarginRatio": "0.02",
- "cum": "200.0"
+ "cum": "125.0"
}
},
{
"tier": 4.0,
"symbol": "USUAL/USDT:USDT",
"currency": "USDT",
- "minNotional": 150000.0,
- "maxNotional": 300000.0,
+ "minNotional": 75000.0,
+ "maxNotional": 150000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 10.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "300000",
- "notionalFloor": "150000",
+ "initialLeverage": "7",
+ "notionalCap": "150000",
+ "notionalFloor": "75000",
"maintMarginRatio": "0.025",
- "cum": "950.0"
+ "cum": "500.0"
}
},
{
"tier": 5.0,
"symbol": "USUAL/USDT:USDT",
"currency": "USDT",
- "minNotional": 300000.0,
- "maxNotional": 1500000.0,
+ "minNotional": 150000.0,
+ "maxNotional": 750000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 8.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "8",
- "notionalCap": "1500000",
- "notionalFloor": "300000",
+ "initialLeverage": "6",
+ "notionalCap": "750000",
+ "notionalFloor": "150000",
"maintMarginRatio": "0.05",
- "cum": "8450.0"
+ "cum": "4250.0"
}
},
{
"tier": 6.0,
"symbol": "USUAL/USDT:USDT",
"currency": "USDT",
- "minNotional": 1500000.0,
- "maxNotional": 3000000.0,
+ "minNotional": 750000.0,
+ "maxNotional": 1500000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "3000000",
- "notionalFloor": "1500000",
+ "notionalCap": "1500000",
+ "notionalFloor": "750000",
"maintMarginRatio": "0.1",
- "cum": "83450.0"
+ "cum": "41750.0"
}
},
{
"tier": 7.0,
"symbol": "USUAL/USDT:USDT",
"currency": "USDT",
- "minNotional": 3000000.0,
- "maxNotional": 3750000.0,
+ "minNotional": 1500000.0,
+ "maxNotional": 2100000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "3750000",
- "notionalFloor": "3000000",
+ "notionalCap": "2100000",
+ "notionalFloor": "1500000",
"maintMarginRatio": "0.125",
- "cum": "158450.0"
+ "cum": "79250.0"
}
},
{
"tier": 8.0,
"symbol": "USUAL/USDT:USDT",
"currency": "USDT",
- "minNotional": 3750000.0,
- "maxNotional": 7500000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 2100000.0,
+ "maxNotional": 4050000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "7500000",
- "notionalFloor": "3750000",
- "maintMarginRatio": "0.25",
- "cum": "627200.0"
+ "initialLeverage": "3",
+ "notionalCap": "4050000",
+ "notionalFloor": "2100000",
+ "maintMarginRatio": "0.1667",
+ "cum": "166820.0"
}
},
{
"tier": 9.0,
"symbol": "USUAL/USDT:USDT",
"currency": "USDT",
- "minNotional": 7500000.0,
- "maxNotional": 8500000.0,
+ "minNotional": 4050000.0,
+ "maxNotional": 6000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "6000000",
+ "notionalFloor": "4050000",
+ "maintMarginRatio": "0.25",
+ "cum": "504185.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "USUAL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 6000000.0,
+ "maxNotional": 8200000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "8500000",
- "notionalFloor": "7500000",
+ "notionalCap": "8200000",
+ "notionalFloor": "6000000",
"maintMarginRatio": "0.5",
- "cum": "2502200.0"
+ "cum": "2004185.0"
}
}
],
@@ -59572,10 +64688,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -59589,10 +64705,10 @@
"minNotional": 5000.0,
"maxNotional": 16000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "16000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -59606,10 +64722,10 @@
"minNotional": 16000.0,
"maxNotional": 80000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "7",
"notionalCap": "80000",
"notionalFloor": "16000",
"maintMarginRatio": "0.02",
@@ -59623,10 +64739,10 @@
"minNotional": 80000.0,
"maxNotional": 160000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "160000",
"notionalFloor": "80000",
"maintMarginRatio": "0.025",
@@ -59640,10 +64756,10 @@
"minNotional": 160000.0,
"maxNotional": 800000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "800000",
"notionalFloor": "160000",
"maintMarginRatio": "0.05",
@@ -59657,10 +64773,10 @@
"minNotional": 800000.0,
"maxNotional": 1600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1600000",
"notionalFloor": "800000",
"maintMarginRatio": "0.1",
@@ -59674,10 +64790,10 @@
"minNotional": 1600000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "2000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.125",
@@ -59727,10 +64843,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 25.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "25",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -59744,10 +64860,10 @@
"minNotional": 10000.0,
"maxNotional": 20000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 20.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "20",
+ "initialLeverage": "10",
"notionalCap": "20000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -59761,10 +64877,10 @@
"minNotional": 20000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 15.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "15",
+ "initialLeverage": "8",
"notionalCap": "100000",
"notionalFloor": "20000",
"maintMarginRatio": "0.02",
@@ -59778,10 +64894,10 @@
"minNotional": 100000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 10.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
+ "initialLeverage": "7",
"notionalCap": "200000",
"notionalFloor": "100000",
"maintMarginRatio": "0.025",
@@ -59795,10 +64911,10 @@
"minNotional": 200000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 8.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "8",
+ "initialLeverage": "6",
"notionalCap": "1000000",
"notionalFloor": "200000",
"maintMarginRatio": "0.05",
@@ -59844,33 +64960,50 @@
"symbol": "VANA/USDT:USDT",
"currency": "USDT",
"minNotional": 2500000.0,
- "maxNotional": 3000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "maxNotional": 2750000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "3000000",
+ "initialLeverage": "3",
+ "notionalCap": "2750000",
"notionalFloor": "2500000",
- "maintMarginRatio": "0.25",
- "cum": "418150.0"
+ "maintMarginRatio": "0.1667",
+ "cum": "209900.0"
}
},
{
"tier": 9.0,
"symbol": "VANA/USDT:USDT",
"currency": "USDT",
+ "minNotional": 2750000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "3000000",
+ "notionalFloor": "2750000",
+ "maintMarginRatio": "0.25",
+ "cum": "438975.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "VANA/USDT:USDT",
+ "currency": "USDT",
"minNotional": 3000000.0,
"maxNotional": 3500000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "3500000",
"notionalFloor": "3000000",
"maintMarginRatio": "0.5",
- "cum": "1168150.0"
+ "cum": "1188975.0"
}
}
],
@@ -60330,10 +65463,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -60347,10 +65480,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -60364,10 +65497,10 @@
"minNotional": 10000.0,
"maxNotional": 30000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "30000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -60381,10 +65514,10 @@
"minNotional": 30000.0,
"maxNotional": 60000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "60000",
"notionalFloor": "30000",
"maintMarginRatio": "0.025",
@@ -60398,10 +65531,10 @@
"minNotional": 60000.0,
"maxNotional": 300000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "300000",
"notionalFloor": "60000",
"maintMarginRatio": "0.05",
@@ -60415,10 +65548,10 @@
"minNotional": 300000.0,
"maxNotional": 600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "600000",
"notionalFloor": "300000",
"maintMarginRatio": "0.1",
@@ -60432,10 +65565,10 @@
"minNotional": 600000.0,
"maxNotional": 750000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "750000",
"notionalFloor": "600000",
"maintMarginRatio": "0.125",
@@ -60708,13 +65841,13 @@
"symbol": "VIRTUAL/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"
@@ -60724,17 +65857,17 @@
"tier": 2.0,
"symbol": "VIRTUAL/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
+ "minNotional": 5000.0,
"maxNotional": 40000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 20.0,
+ "maxLeverage": 50.0,
"info": {
"bracket": "2",
- "initialLeverage": "20",
+ "initialLeverage": "50",
"notionalCap": "40000",
- "notionalFloor": "10000",
+ "notionalFloor": "5000",
"maintMarginRatio": "0.015",
- "cum": "50.0"
+ "cum": "25.0"
}
},
{
@@ -60744,14 +65877,14 @@
"minNotional": 40000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 15.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "15",
+ "initialLeverage": "10",
"notionalCap": "200000",
"notionalFloor": "40000",
"maintMarginRatio": "0.02",
- "cum": "250.0"
+ "cum": "225.0"
}
},
{
@@ -60761,14 +65894,14 @@
"minNotional": 200000.0,
"maxNotional": 400000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
+ "initialLeverage": "6",
"notionalCap": "400000",
"notionalFloor": "200000",
"maintMarginRatio": "0.025",
- "cum": "1250.0"
+ "cum": "1225.0"
}
},
{
@@ -60778,14 +65911,14 @@
"minNotional": 400000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 8.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "8",
+ "initialLeverage": "5",
"notionalCap": "2000000",
"notionalFloor": "400000",
"maintMarginRatio": "0.05",
- "cum": "11250.0"
+ "cum": "11225.0"
}
},
{
@@ -60795,14 +65928,14 @@
"minNotional": 2000000.0,
"maxNotional": 4000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "4000000",
"notionalFloor": "2000000",
"maintMarginRatio": "0.1",
- "cum": "111250.0"
+ "cum": "111225.0"
}
},
{
@@ -60812,14 +65945,14 @@
"minNotional": 4000000.0,
"maxNotional": 5000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "5000000",
"notionalFloor": "4000000",
"maintMarginRatio": "0.125",
- "cum": "211250.0"
+ "cum": "211225.0"
}
},
{
@@ -60836,7 +65969,7 @@
"notionalCap": "10000000",
"notionalFloor": "5000000",
"maintMarginRatio": "0.25",
- "cum": "836250.0"
+ "cum": "836225.0"
}
},
{
@@ -60853,7 +65986,7 @@
"notionalCap": "11000000",
"notionalFloor": "10000000",
"maintMarginRatio": "0.5",
- "cum": "3336250.0"
+ "cum": "3336225.0"
}
}
],
@@ -60863,15 +65996,15 @@
"symbol": "VOXEL/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 5000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxNotional": 20000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 15.0,
"info": {
"bracket": "1",
- "initialLeverage": "50",
- "notionalCap": "5000",
+ "initialLeverage": "15",
+ "notionalCap": "20000",
"notionalFloor": "0",
- "maintMarginRatio": "0.015",
+ "maintMarginRatio": "0.02",
"cum": "0.0"
}
},
@@ -60879,72 +66012,55 @@
"tier": 2.0,
"symbol": "VOXEL/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000.0,
- "maxNotional": 20000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "minNotional": 20000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "25",
- "notionalCap": "20000",
- "notionalFloor": "5000",
- "maintMarginRatio": "0.02",
- "cum": "25.0"
+ "initialLeverage": "10",
+ "notionalCap": "25000",
+ "notionalFloor": "20000",
+ "maintMarginRatio": "0.025",
+ "cum": "100.0"
}
},
{
"tier": 3.0,
"symbol": "VOXEL/USDT:USDT",
"currency": "USDT",
- "minNotional": 20000.0,
- "maxNotional": 25000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "minNotional": 25000.0,
+ "maxNotional": 200000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 6.0,
"info": {
"bracket": "3",
- "initialLeverage": "20",
- "notionalCap": "25000",
- "notionalFloor": "20000",
- "maintMarginRatio": "0.025",
- "cum": "125.0"
+ "initialLeverage": "6",
+ "notionalCap": "200000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.05",
+ "cum": "725.0"
}
},
{
"tier": 4.0,
"symbol": "VOXEL/USDT:USDT",
"currency": "USDT",
- "minNotional": 25000.0,
- "maxNotional": 200000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
- "info": {
- "bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "200000",
- "notionalFloor": "25000",
- "maintMarginRatio": "0.05",
- "cum": "750.0"
- }
- },
- {
- "tier": 5.0,
- "symbol": "VOXEL/USDT:USDT",
- "currency": "USDT",
"minNotional": 200000.0,
"maxNotional": 400000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
- "bracket": "5",
+ "bracket": "4",
"initialLeverage": "5",
"notionalCap": "400000",
"notionalFloor": "200000",
"maintMarginRatio": "0.1",
- "cum": "10750.0"
+ "cum": "10725.0"
}
},
{
- "tier": 6.0,
+ "tier": 5.0,
"symbol": "VOXEL/USDT:USDT",
"currency": "USDT",
"minNotional": 400000.0,
@@ -60952,19 +66068,36 @@
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
- "bracket": "6",
+ "bracket": "5",
"initialLeverage": "4",
"notionalCap": "500000",
"notionalFloor": "400000",
"maintMarginRatio": "0.125",
- "cum": "20750.0"
+ "cum": "20725.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "VOXEL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 500000.0,
+ "maxNotional": 750000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "3",
+ "notionalCap": "750000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.1667",
+ "cum": "41575.0"
}
},
{
"tier": 7.0,
"symbol": "VOXEL/USDT:USDT",
"currency": "USDT",
- "minNotional": 500000.0,
+ "minNotional": 750000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.25,
"maxLeverage": 2.0,
@@ -60972,9 +66105,9 @@
"bracket": "7",
"initialLeverage": "2",
"notionalCap": "1000000",
- "notionalFloor": "500000",
+ "notionalFloor": "750000",
"maintMarginRatio": "0.25",
- "cum": "83250.0"
+ "cum": "104050.0"
}
},
{
@@ -60991,7 +66124,7 @@
"notionalCap": "2000000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.5",
- "cum": "333250.0"
+ "cum": "354050.0"
}
}
],
@@ -61279,10 +66412,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -61296,10 +66429,10 @@
"minNotional": 10000.0,
"maxNotional": 20000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "20000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -61313,10 +66446,10 @@
"minNotional": 20000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "8",
"notionalCap": "100000",
"notionalFloor": "20000",
"maintMarginRatio": "0.02",
@@ -61330,10 +66463,10 @@
"minNotional": 100000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "7",
"notionalCap": "200000",
"notionalFloor": "100000",
"maintMarginRatio": "0.025",
@@ -61347,10 +66480,10 @@
"minNotional": 200000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "6",
"notionalCap": "1000000",
"notionalFloor": "200000",
"maintMarginRatio": "0.05",
@@ -61396,33 +66529,171 @@
"symbol": "W/USDT:USDT",
"currency": "USDT",
"minNotional": 2500000.0,
- "maxNotional": 5000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "maxNotional": 3750000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "5000000",
+ "initialLeverage": "3",
+ "notionalCap": "3750000",
"notionalFloor": "2500000",
- "maintMarginRatio": "0.25",
- "cum": "418150.0"
+ "maintMarginRatio": "0.1667",
+ "cum": "209900.0"
}
},
{
"tier": 9.0,
"symbol": "W/USDT:USDT",
"currency": "USDT",
+ "minNotional": 3750000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3750000",
+ "maintMarginRatio": "0.25",
+ "cum": "522275.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "W/USDT:USDT",
+ "currency": "USDT",
"minNotional": 5000000.0,
"maxNotional": 10000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "10000000",
"notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "1668150.0"
+ "cum": "1772275.0"
+ }
+ }
+ ],
+ "WAL/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "WAL/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": "WAL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 5000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "2",
+ "initialLeverage": "20",
+ "notionalCap": "25000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.025",
+ "cum": "25.0"
+ }
+ },
+ {
+ "tier": 3.0,
+ "symbol": "WAL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 25000.0,
+ "maxNotional": 200000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "10",
+ "notionalCap": "200000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.05",
+ "cum": "650.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "WAL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 200000.0,
+ "maxNotional": 500000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "5",
+ "notionalCap": "500000",
+ "notionalFloor": "200000",
+ "maintMarginRatio": "0.1",
+ "cum": "10650.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "WAL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 500000.0,
+ "maxNotional": 750000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "4",
+ "notionalCap": "750000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.125",
+ "cum": "23150.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "WAL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 750000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "2",
+ "notionalCap": "1500000",
+ "notionalFloor": "750000",
+ "maintMarginRatio": "0.25",
+ "cum": "116900.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "WAL/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "1",
+ "notionalCap": "3000000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.5",
+ "cum": "491900.0"
}
}
],
@@ -61668,6 +66939,161 @@
}
}
],
+ "WCT/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "WCT/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": "WCT/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": "WCT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 10000.0,
+ "maxNotional": 30000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 25.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "25",
+ "notionalCap": "30000",
+ "notionalFloor": "10000",
+ "maintMarginRatio": "0.02",
+ "cum": "75.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "WCT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 30000.0,
+ "maxNotional": 60000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "20",
+ "notionalCap": "60000",
+ "notionalFloor": "30000",
+ "maintMarginRatio": "0.025",
+ "cum": "225.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "WCT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 60000.0,
+ "maxNotional": 300000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "10",
+ "notionalCap": "300000",
+ "notionalFloor": "60000",
+ "maintMarginRatio": "0.05",
+ "cum": "1725.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "WCT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 300000.0,
+ "maxNotional": 600000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "5",
+ "notionalCap": "600000",
+ "notionalFloor": "300000",
+ "maintMarginRatio": "0.1",
+ "cum": "16725.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "WCT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 600000.0,
+ "maxNotional": 750000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "4",
+ "notionalCap": "750000",
+ "notionalFloor": "600000",
+ "maintMarginRatio": "0.125",
+ "cum": "31725.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "WCT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 750000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "2",
+ "notionalCap": "1500000",
+ "notionalFloor": "750000",
+ "maintMarginRatio": "0.25",
+ "cum": "125475.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "WCT/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "1",
+ "notionalCap": "3000000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.5",
+ "cum": "500475.0"
+ }
+ }
+ ],
"WIF/USDC:USDC": [
{
"tier": 1.0,
@@ -62123,14 +67549,14 @@
"currency": "USDT",
"minNotional": 0.0,
"maxNotional": 5000.0,
- "maintenanceMarginRate": 0.006,
+ "maintenanceMarginRate": 0.01,
"maxLeverage": 75.0,
"info": {
"bracket": "1",
"initialLeverage": "75",
"notionalCap": "5000",
"notionalFloor": "0",
- "maintMarginRatio": "0.006",
+ "maintMarginRatio": "0.01",
"cum": "0.0"
}
},
@@ -62139,152 +67565,152 @@
"symbol": "WLD/USDT:USDT",
"currency": "USDT",
"minNotional": 5000.0,
- "maxNotional": 60000.0,
- "maintenanceMarginRate": 0.01,
+ "maxNotional": 10000.0,
+ "maintenanceMarginRate": 0.015,
"maxLeverage": 50.0,
"info": {
"bracket": "2",
"initialLeverage": "50",
- "notionalCap": "60000",
+ "notionalCap": "10000",
"notionalFloor": "5000",
- "maintMarginRatio": "0.01",
- "cum": "20.0"
+ "maintMarginRatio": "0.015",
+ "cum": "25.0"
}
},
{
"tier": 3.0,
"symbol": "WLD/USDT:USDT",
"currency": "USDT",
- "minNotional": 60000.0,
- "maxNotional": 160000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 40.0,
+ "minNotional": 10000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 25.0,
"info": {
"bracket": "3",
- "initialLeverage": "40",
- "notionalCap": "160000",
- "notionalFloor": "60000",
- "maintMarginRatio": "0.015",
- "cum": "320.0"
+ "initialLeverage": "25",
+ "notionalCap": "25000",
+ "notionalFloor": "10000",
+ "maintMarginRatio": "0.02",
+ "cum": "75.0"
}
},
{
"tier": 4.0,
"symbol": "WLD/USDT:USDT",
"currency": "USDT",
- "minNotional": 160000.0,
- "maxNotional": 800000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "minNotional": 25000.0,
+ "maxNotional": 50000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
"info": {
"bracket": "4",
- "initialLeverage": "25",
- "notionalCap": "800000",
- "notionalFloor": "160000",
- "maintMarginRatio": "0.02",
- "cum": "1120.0"
+ "initialLeverage": "20",
+ "notionalCap": "50000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.025",
+ "cum": "200.0"
}
},
{
"tier": 5.0,
"symbol": "WLD/USDT:USDT",
"currency": "USDT",
- "minNotional": 800000.0,
- "maxNotional": 1600000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "minNotional": 50000.0,
+ "maxNotional": 250000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
"info": {
"bracket": "5",
- "initialLeverage": "20",
- "notionalCap": "1600000",
- "notionalFloor": "800000",
- "maintMarginRatio": "0.025",
- "cum": "5120.0"
+ "initialLeverage": "10",
+ "notionalCap": "250000",
+ "notionalFloor": "50000",
+ "maintMarginRatio": "0.05",
+ "cum": "1450.0"
}
},
{
"tier": 6.0,
"symbol": "WLD/USDT:USDT",
"currency": "USDT",
- "minNotional": 1600000.0,
- "maxNotional": 8000000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "minNotional": 250000.0,
+ "maxNotional": 500000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
"info": {
"bracket": "6",
- "initialLeverage": "10",
- "notionalCap": "8000000",
- "notionalFloor": "1600000",
- "maintMarginRatio": "0.05",
- "cum": "45120.0"
+ "initialLeverage": "5",
+ "notionalCap": "500000",
+ "notionalFloor": "250000",
+ "maintMarginRatio": "0.1",
+ "cum": "13950.0"
}
},
{
"tier": 7.0,
"symbol": "WLD/USDT:USDT",
"currency": "USDT",
- "minNotional": 8000000.0,
- "maxNotional": 10000000.0,
- "maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "minNotional": 500000.0,
+ "maxNotional": 1000000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
"info": {
"bracket": "7",
- "initialLeverage": "5",
- "notionalCap": "10000000",
- "notionalFloor": "8000000",
- "maintMarginRatio": "0.1",
- "cum": "445120.0"
+ "initialLeverage": "4",
+ "notionalCap": "1000000",
+ "notionalFloor": "500000",
+ "maintMarginRatio": "0.125",
+ "cum": "26450.0"
}
},
{
"tier": 8.0,
"symbol": "WLD/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000000.0,
- "maxNotional": 12000000.0,
- "maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "minNotional": 1000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "4",
- "notionalCap": "12000000",
- "notionalFloor": "10000000",
- "maintMarginRatio": "0.125",
- "cum": "695120.0"
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "1000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "68150.0"
}
},
{
"tier": 9.0,
"symbol": "WLD/USDT:USDT",
"currency": "USDT",
- "minNotional": 12000000.0,
- "maxNotional": 14000000.0,
+ "minNotional": 3000000.0,
+ "maxNotional": 5000000.0,
"maintenanceMarginRate": 0.25,
"maxLeverage": 2.0,
"info": {
"bracket": "9",
"initialLeverage": "2",
- "notionalCap": "14000000",
- "notionalFloor": "12000000",
+ "notionalCap": "5000000",
+ "notionalFloor": "3000000",
"maintMarginRatio": "0.25",
- "cum": "2195120.0"
+ "cum": "318050.0"
}
},
{
"tier": 10.0,
"symbol": "WLD/USDT:USDT",
"currency": "USDT",
- "minNotional": 14000000.0,
- "maxNotional": 16000000.0,
+ "minNotional": 5000000.0,
+ "maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
"bracket": "10",
"initialLeverage": "1",
- "notionalCap": "16000000",
- "notionalFloor": "14000000",
+ "notionalCap": "8000000",
+ "notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "5695120.0"
+ "cum": "1568050.0"
}
}
],
@@ -62398,15 +67824,15 @@
"symbol": "XAI/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 5000.0,
- "maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxNotional": 4000.0,
+ "maintenanceMarginRate": 0.01,
+ "maxLeverage": 25.0,
"info": {
"bracket": "1",
- "initialLeverage": "50",
- "notionalCap": "5000",
+ "initialLeverage": "25",
+ "notionalCap": "4000",
"notionalFloor": "0",
- "maintMarginRatio": "0.015",
+ "maintMarginRatio": "0.01",
"cum": "0.0"
}
},
@@ -62414,72 +67840,89 @@
"tier": 2.0,
"symbol": "XAI/USDT:USDT",
"currency": "USDT",
- "minNotional": 5000.0,
- "maxNotional": 25000.0,
- "maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "minNotional": 4000.0,
+ "maxNotional": 5000.0,
+ "maintenanceMarginRate": 0.015,
+ "maxLeverage": 20.0,
"info": {
"bracket": "2",
- "initialLeverage": "25",
- "notionalCap": "25000",
- "notionalFloor": "5000",
- "maintMarginRatio": "0.02",
- "cum": "25.0"
+ "initialLeverage": "20",
+ "notionalCap": "5000",
+ "notionalFloor": "4000",
+ "maintMarginRatio": "0.015",
+ "cum": "20.0"
}
},
{
"tier": 3.0,
"symbol": "XAI/USDT:USDT",
"currency": "USDT",
- "minNotional": 25000.0,
- "maxNotional": 80000.0,
- "maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "minNotional": 5000.0,
+ "maxNotional": 25000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "20",
- "notionalCap": "80000",
- "notionalFloor": "25000",
- "maintMarginRatio": "0.025",
- "cum": "150.0"
+ "initialLeverage": "10",
+ "notionalCap": "25000",
+ "notionalFloor": "5000",
+ "maintMarginRatio": "0.02",
+ "cum": "45.0"
}
},
{
"tier": 4.0,
"symbol": "XAI/USDT:USDT",
"currency": "USDT",
- "minNotional": 80000.0,
- "maxNotional": 800000.0,
- "maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "minNotional": 25000.0,
+ "maxNotional": 80000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "10",
- "notionalCap": "800000",
- "notionalFloor": "80000",
- "maintMarginRatio": "0.05",
- "cum": "2150.0"
+ "initialLeverage": "7",
+ "notionalCap": "80000",
+ "notionalFloor": "25000",
+ "maintMarginRatio": "0.025",
+ "cum": "170.0"
}
},
{
"tier": 5.0,
"symbol": "XAI/USDT:USDT",
"currency": "USDT",
+ "minNotional": 80000.0,
+ "maxNotional": 800000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 6.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "6",
+ "notionalCap": "800000",
+ "notionalFloor": "80000",
+ "maintMarginRatio": "0.05",
+ "cum": "2170.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "XAI/USDT:USDT",
+ "currency": "USDT",
"minNotional": 800000.0,
"maxNotional": 1600000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
- "bracket": "5",
+ "bracket": "6",
"initialLeverage": "5",
"notionalCap": "1600000",
"notionalFloor": "800000",
"maintMarginRatio": "0.1",
- "cum": "42150.0"
+ "cum": "42170.0"
}
},
{
- "tier": 6.0,
+ "tier": 7.0,
"symbol": "XAI/USDT:USDT",
"currency": "USDT",
"minNotional": 1600000.0,
@@ -62487,46 +67930,184 @@
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
- "bracket": "6",
+ "bracket": "7",
"initialLeverage": "4",
"notionalCap": "2000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.125",
- "cum": "82150.0"
- }
- },
- {
- "tier": 7.0,
- "symbol": "XAI/USDT:USDT",
- "currency": "USDT",
- "minNotional": 2000000.0,
- "maxNotional": 4000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
- "info": {
- "bracket": "7",
- "initialLeverage": "2",
- "notionalCap": "4000000",
- "notionalFloor": "2000000",
- "maintMarginRatio": "0.25",
- "cum": "332150.0"
+ "cum": "82170.0"
}
},
{
"tier": 8.0,
"symbol": "XAI/USDT:USDT",
"currency": "USDT",
+ "minNotional": 2000000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
+ "info": {
+ "bracket": "8",
+ "initialLeverage": "3",
+ "notionalCap": "3000000",
+ "notionalFloor": "2000000",
+ "maintMarginRatio": "0.1667",
+ "cum": "165570.0"
+ }
+ },
+ {
+ "tier": 9.0,
+ "symbol": "XAI/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 3000000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "4000000",
+ "notionalFloor": "3000000",
+ "maintMarginRatio": "0.25",
+ "cum": "415470.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "XAI/USDT:USDT",
+ "currency": "USDT",
"minNotional": 4000000.0,
"maxNotional": 8000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "8",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "8000000",
"notionalFloor": "4000000",
"maintMarginRatio": "0.5",
- "cum": "1332150.0"
+ "cum": "1415470.0"
+ }
+ }
+ ],
+ "XCN/USDT:USDT": [
+ {
+ "tier": 1.0,
+ "symbol": "XCN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 0.0,
+ "maxNotional": 30000.0,
+ "maintenanceMarginRate": 0.02,
+ "maxLeverage": 25.0,
+ "info": {
+ "bracket": "1",
+ "initialLeverage": "25",
+ "notionalCap": "30000",
+ "notionalFloor": "0",
+ "maintMarginRatio": "0.02",
+ "cum": "0.0"
+ }
+ },
+ {
+ "tier": 2.0,
+ "symbol": "XCN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 30000.0,
+ "maxNotional": 60000.0,
+ "maintenanceMarginRate": 0.025,
+ "maxLeverage": 20.0,
+ "info": {
+ "bracket": "2",
+ "initialLeverage": "20",
+ "notionalCap": "60000",
+ "notionalFloor": "30000",
+ "maintMarginRatio": "0.025",
+ "cum": "150.0"
+ }
+ },
+ {
+ "tier": 3.0,
+ "symbol": "XCN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 60000.0,
+ "maxNotional": 300000.0,
+ "maintenanceMarginRate": 0.05,
+ "maxLeverage": 10.0,
+ "info": {
+ "bracket": "3",
+ "initialLeverage": "10",
+ "notionalCap": "300000",
+ "notionalFloor": "60000",
+ "maintMarginRatio": "0.05",
+ "cum": "1650.0"
+ }
+ },
+ {
+ "tier": 4.0,
+ "symbol": "XCN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 300000.0,
+ "maxNotional": 600000.0,
+ "maintenanceMarginRate": 0.1,
+ "maxLeverage": 5.0,
+ "info": {
+ "bracket": "4",
+ "initialLeverage": "5",
+ "notionalCap": "600000",
+ "notionalFloor": "300000",
+ "maintMarginRatio": "0.1",
+ "cum": "16650.0"
+ }
+ },
+ {
+ "tier": 5.0,
+ "symbol": "XCN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 600000.0,
+ "maxNotional": 750000.0,
+ "maintenanceMarginRate": 0.125,
+ "maxLeverage": 4.0,
+ "info": {
+ "bracket": "5",
+ "initialLeverage": "4",
+ "notionalCap": "750000",
+ "notionalFloor": "600000",
+ "maintMarginRatio": "0.125",
+ "cum": "31650.0"
+ }
+ },
+ {
+ "tier": 6.0,
+ "symbol": "XCN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 750000.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "6",
+ "initialLeverage": "2",
+ "notionalCap": "1500000",
+ "notionalFloor": "750000",
+ "maintMarginRatio": "0.25",
+ "cum": "125400.0"
+ }
+ },
+ {
+ "tier": 7.0,
+ "symbol": "XCN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 3000000.0,
+ "maintenanceMarginRate": 0.5,
+ "maxLeverage": 1.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "1",
+ "notionalCap": "3000000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.5",
+ "cum": "500400.0"
}
}
],
@@ -63538,10 +69119,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -63555,10 +69136,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -63572,10 +69153,10 @@
"minNotional": 10000.0,
"maxNotional": 50000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "7",
"notionalCap": "50000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
@@ -63589,10 +69170,10 @@
"minNotional": 50000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "100000",
"notionalFloor": "50000",
"maintMarginRatio": "0.025",
@@ -63606,10 +69187,10 @@
"minNotional": 100000.0,
"maxNotional": 500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "500000",
"notionalFloor": "100000",
"maintMarginRatio": "0.05",
@@ -63623,10 +69204,10 @@
"minNotional": 500000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.1",
@@ -63640,10 +69221,10 @@
"minNotional": 1000000.0,
"maxNotional": 1250000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "1250000",
"notionalFloor": "1000000",
"maintMarginRatio": "0.125",
@@ -63934,14 +69515,14 @@
"currency": "USDT",
"minNotional": 0.0,
"maxNotional": 50000.0,
- "maintenanceMarginRate": 0.015,
+ "maintenanceMarginRate": 0.02,
"maxLeverage": 10.0,
"info": {
"bracket": "1",
"initialLeverage": "10",
"notionalCap": "50000",
"notionalFloor": "0",
- "maintMarginRatio": "0.015",
+ "maintMarginRatio": "0.02",
"cum": "0.0"
}
},
@@ -63959,7 +69540,7 @@
"notionalCap": "150000",
"notionalFloor": "50000",
"maintMarginRatio": "0.025",
- "cum": "500.0"
+ "cum": "250.0"
}
},
{
@@ -63976,7 +69557,7 @@
"notionalCap": "250000",
"notionalFloor": "150000",
"maintMarginRatio": "0.05",
- "cum": "4250.0"
+ "cum": "4000.0"
}
},
{
@@ -63993,7 +69574,7 @@
"notionalCap": "500000",
"notionalFloor": "250000",
"maintMarginRatio": "0.1",
- "cum": "16750.0"
+ "cum": "16500.0"
}
},
{
@@ -64010,7 +69591,7 @@
"notionalCap": "1000000",
"notionalFloor": "500000",
"maintMarginRatio": "0.125",
- "cum": "29250.0"
+ "cum": "29000.0"
}
},
{
@@ -64018,33 +69599,50 @@
"symbol": "ZEC/USDT:USDT",
"currency": "USDT",
"minNotional": 1000000.0,
- "maxNotional": 2000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "maxNotional": 1500000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "6",
- "initialLeverage": "2",
- "notionalCap": "2000000",
+ "initialLeverage": "3",
+ "notionalCap": "1500000",
"notionalFloor": "1000000",
- "maintMarginRatio": "0.25",
- "cum": "154250.0"
+ "maintMarginRatio": "0.1667",
+ "cum": "70700.0"
}
},
{
"tier": 7.0,
"symbol": "ZEC/USDT:USDT",
"currency": "USDT",
+ "minNotional": 1500000.0,
+ "maxNotional": 2000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "7",
+ "initialLeverage": "2",
+ "notionalCap": "2000000",
+ "notionalFloor": "1500000",
+ "maintMarginRatio": "0.25",
+ "cum": "195650.0"
+ }
+ },
+ {
+ "tier": 8.0,
+ "symbol": "ZEC/USDT:USDT",
+ "currency": "USDT",
"minNotional": 2000000.0,
"maxNotional": 2500000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "7",
+ "bracket": "8",
"initialLeverage": "1",
"notionalCap": "2500000",
"notionalFloor": "2000000",
"maintMarginRatio": "0.5",
- "cum": "654250.0"
+ "cum": "695650.0"
}
}
],
@@ -64054,13 +69652,13 @@
"symbol": "ZEN/USDT:USDT",
"currency": "USDT",
"minNotional": 0.0,
- "maxNotional": 10000.0,
+ "maxNotional": 7000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
- "notionalCap": "10000",
+ "initialLeverage": "20",
+ "notionalCap": "7000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
"cum": "0.0"
@@ -64070,136 +69668,153 @@
"tier": 2.0,
"symbol": "ZEN/USDT:USDT",
"currency": "USDT",
- "minNotional": 10000.0,
- "maxNotional": 30000.0,
+ "minNotional": 7000.0,
+ "maxNotional": 18000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
- "notionalCap": "30000",
- "notionalFloor": "10000",
+ "initialLeverage": "10",
+ "notionalCap": "18000",
+ "notionalFloor": "7000",
"maintMarginRatio": "0.015",
- "cum": "50.0"
+ "cum": "35.0"
}
},
{
"tier": 3.0,
"symbol": "ZEN/USDT:USDT",
"currency": "USDT",
- "minNotional": 30000.0,
- "maxNotional": 150000.0,
+ "minNotional": 18000.0,
+ "maxNotional": 75000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
- "notionalCap": "150000",
- "notionalFloor": "30000",
+ "initialLeverage": "8",
+ "notionalCap": "75000",
+ "notionalFloor": "18000",
"maintMarginRatio": "0.02",
- "cum": "200.0"
+ "cum": "125.0"
}
},
{
"tier": 4.0,
"symbol": "ZEN/USDT:USDT",
"currency": "USDT",
- "minNotional": 150000.0,
- "maxNotional": 300000.0,
+ "minNotional": 75000.0,
+ "maxNotional": 150000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
- "notionalCap": "300000",
- "notionalFloor": "150000",
+ "initialLeverage": "7",
+ "notionalCap": "150000",
+ "notionalFloor": "75000",
"maintMarginRatio": "0.025",
- "cum": "950.0"
+ "cum": "500.0"
}
},
{
"tier": 5.0,
"symbol": "ZEN/USDT:USDT",
"currency": "USDT",
- "minNotional": 300000.0,
- "maxNotional": 1500000.0,
+ "minNotional": 150000.0,
+ "maxNotional": 750000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
- "notionalCap": "1500000",
- "notionalFloor": "300000",
+ "initialLeverage": "6",
+ "notionalCap": "750000",
+ "notionalFloor": "150000",
"maintMarginRatio": "0.05",
- "cum": "8450.0"
+ "cum": "4250.0"
}
},
{
"tier": 6.0,
"symbol": "ZEN/USDT:USDT",
"currency": "USDT",
- "minNotional": 1500000.0,
- "maxNotional": 2000000.0,
+ "minNotional": 750000.0,
+ "maxNotional": 1100000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "2000000",
- "notionalFloor": "1500000",
+ "notionalCap": "1100000",
+ "notionalFloor": "750000",
"maintMarginRatio": "0.1",
- "cum": "83450.0"
+ "cum": "41750.0"
}
},
{
"tier": 7.0,
"symbol": "ZEN/USDT:USDT",
"currency": "USDT",
- "minNotional": 2000000.0,
- "maxNotional": 2500000.0,
+ "minNotional": 1100000.0,
+ "maxNotional": 1600000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "2500000",
- "notionalFloor": "2000000",
+ "notionalCap": "1600000",
+ "notionalFloor": "1100000",
"maintMarginRatio": "0.125",
- "cum": "133450.0"
+ "cum": "69250.0"
}
},
{
"tier": 8.0,
"symbol": "ZEN/USDT:USDT",
"currency": "USDT",
- "minNotional": 2500000.0,
- "maxNotional": 3000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 1600000.0,
+ "maxNotional": 2900000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "3000000",
- "notionalFloor": "2500000",
- "maintMarginRatio": "0.25",
- "cum": "445950.0"
+ "initialLeverage": "3",
+ "notionalCap": "2900000",
+ "notionalFloor": "1600000",
+ "maintMarginRatio": "0.1667",
+ "cum": "135970.0"
}
},
{
"tier": 9.0,
"symbol": "ZEN/USDT:USDT",
"currency": "USDT",
- "minNotional": 3000000.0,
- "maxNotional": 3500000.0,
+ "minNotional": 2900000.0,
+ "maxNotional": 4200000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "4200000",
+ "notionalFloor": "2900000",
+ "maintMarginRatio": "0.25",
+ "cum": "377540.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "ZEN/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 4200000.0,
+ "maxNotional": 6200000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "3500000",
- "notionalFloor": "3000000",
+ "notionalCap": "6200000",
+ "notionalFloor": "4200000",
"maintMarginRatio": "0.5",
- "cum": "1195950.0"
+ "cum": "1427540.0"
}
}
],
@@ -64366,10 +69981,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -64383,10 +69998,10 @@
"minNotional": 5000.0,
"maxNotional": 16000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "16000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -64400,10 +70015,10 @@
"minNotional": 16000.0,
"maxNotional": 80000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "10",
"notionalCap": "80000",
"notionalFloor": "16000",
"maintMarginRatio": "0.02",
@@ -64417,10 +70032,10 @@
"minNotional": 80000.0,
"maxNotional": 160000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "6",
"notionalCap": "160000",
"notionalFloor": "80000",
"maintMarginRatio": "0.025",
@@ -64434,10 +70049,10 @@
"minNotional": 160000.0,
"maxNotional": 800000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 5.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "5",
"notionalCap": "800000",
"notionalFloor": "160000",
"maintMarginRatio": "0.05",
@@ -64451,10 +70066,10 @@
"minNotional": 800000.0,
"maxNotional": 1600000.0,
"maintenanceMarginRate": 0.1,
- "maxLeverage": 5.0,
+ "maxLeverage": 4.0,
"info": {
"bracket": "6",
- "initialLeverage": "5",
+ "initialLeverage": "4",
"notionalCap": "1600000",
"notionalFloor": "800000",
"maintMarginRatio": "0.1",
@@ -64468,10 +70083,10 @@
"minNotional": 1600000.0,
"maxNotional": 2000000.0,
"maintenanceMarginRate": 0.125,
- "maxLeverage": 4.0,
+ "maxLeverage": 3.0,
"info": {
"bracket": "7",
- "initialLeverage": "4",
+ "initialLeverage": "3",
"notionalCap": "2000000",
"notionalFloor": "1600000",
"maintMarginRatio": "0.125",
@@ -64500,13 +70115,13 @@
"symbol": "ZETA/USDT:USDT",
"currency": "USDT",
"minNotional": 4000000.0,
- "maxNotional": 8000000.0,
+ "maxNotional": 4500000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
"bracket": "9",
"initialLeverage": "1",
- "notionalCap": "8000000",
+ "notionalCap": "4500000",
"notionalFloor": "4000000",
"maintMarginRatio": "0.5",
"cum": "1334505.0"
@@ -64642,10 +70257,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -64659,10 +70274,10 @@
"minNotional": 10000.0,
"maxNotional": 20000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "20000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -64676,10 +70291,10 @@
"minNotional": 20000.0,
"maxNotional": 100000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "8",
"notionalCap": "100000",
"notionalFloor": "20000",
"maintMarginRatio": "0.02",
@@ -64693,10 +70308,10 @@
"minNotional": 100000.0,
"maxNotional": 200000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "7",
"notionalCap": "200000",
"notionalFloor": "100000",
"maintMarginRatio": "0.025",
@@ -64710,10 +70325,10 @@
"minNotional": 200000.0,
"maxNotional": 1000000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "6",
"notionalCap": "1000000",
"notionalFloor": "200000",
"maintMarginRatio": "0.05",
@@ -64759,33 +70374,50 @@
"symbol": "ZK/USDT:USDT",
"currency": "USDT",
"minNotional": 2500000.0,
- "maxNotional": 5000000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "maxNotional": 3750000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "5000000",
+ "initialLeverage": "3",
+ "notionalCap": "3750000",
"notionalFloor": "2500000",
- "maintMarginRatio": "0.25",
- "cum": "418150.0"
+ "maintMarginRatio": "0.1667",
+ "cum": "209900.0"
}
},
{
"tier": 9.0,
"symbol": "ZK/USDT:USDT",
"currency": "USDT",
+ "minNotional": 3750000.0,
+ "maxNotional": 5000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "5000000",
+ "notionalFloor": "3750000",
+ "maintMarginRatio": "0.25",
+ "cum": "522275.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "ZK/USDT:USDT",
+ "currency": "USDT",
"minNotional": 5000000.0,
"maxNotional": 10000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "10000000",
"notionalFloor": "5000000",
"maintMarginRatio": "0.5",
- "cum": "1668150.0"
+ "cum": "1772275.0"
}
}
],
@@ -64797,10 +70429,10 @@
"minNotional": 0.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "10000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -64814,10 +70446,10 @@
"minNotional": 10000.0,
"maxNotional": 30000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "10",
"notionalCap": "30000",
"notionalFloor": "10000",
"maintMarginRatio": "0.015",
@@ -64831,10 +70463,10 @@
"minNotional": 30000.0,
"maxNotional": 150000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 8.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
+ "initialLeverage": "8",
"notionalCap": "150000",
"notionalFloor": "30000",
"maintMarginRatio": "0.02",
@@ -64848,10 +70480,10 @@
"minNotional": 150000.0,
"maxNotional": 300000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
+ "initialLeverage": "7",
"notionalCap": "300000",
"notionalFloor": "150000",
"maintMarginRatio": "0.025",
@@ -64865,10 +70497,10 @@
"minNotional": 300000.0,
"maxNotional": 1500000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
+ "initialLeverage": "6",
"notionalCap": "1500000",
"notionalFloor": "300000",
"maintMarginRatio": "0.05",
@@ -64914,33 +70546,50 @@
"symbol": "ZRO/USDT:USDT",
"currency": "USDT",
"minNotional": 3750000.0,
- "maxNotional": 7500000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "maxNotional": 5625000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "7500000",
+ "initialLeverage": "3",
+ "notionalCap": "5625000",
"notionalFloor": "3750000",
- "maintMarginRatio": "0.25",
- "cum": "627200.0"
+ "maintMarginRatio": "0.1667",
+ "cum": "314825.0"
}
},
{
"tier": 9.0,
"symbol": "ZRO/USDT:USDT",
"currency": "USDT",
+ "minNotional": 5625000.0,
+ "maxNotional": 7500000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "7500000",
+ "notionalFloor": "5625000",
+ "maintMarginRatio": "0.25",
+ "cum": "783387.5"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "ZRO/USDT:USDT",
+ "currency": "USDT",
"minNotional": 7500000.0,
"maxNotional": 15000000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
"notionalCap": "15000000",
"notionalFloor": "7500000",
"maintMarginRatio": "0.5",
- "cum": "2502200.0"
+ "cum": "2658387.5"
}
}
],
@@ -64952,10 +70601,10 @@
"minNotional": 0.0,
"maxNotional": 5000.0,
"maintenanceMarginRate": 0.01,
- "maxLeverage": 75.0,
+ "maxLeverage": 20.0,
"info": {
"bracket": "1",
- "initialLeverage": "75",
+ "initialLeverage": "20",
"notionalCap": "5000",
"notionalFloor": "0",
"maintMarginRatio": "0.01",
@@ -64969,10 +70618,10 @@
"minNotional": 5000.0,
"maxNotional": 10000.0,
"maintenanceMarginRate": 0.015,
- "maxLeverage": 50.0,
+ "maxLeverage": 15.0,
"info": {
"bracket": "2",
- "initialLeverage": "50",
+ "initialLeverage": "15",
"notionalCap": "10000",
"notionalFloor": "5000",
"maintMarginRatio": "0.015",
@@ -64984,13 +70633,13 @@
"symbol": "ZRX/USDT:USDT",
"currency": "USDT",
"minNotional": 10000.0,
- "maxNotional": 50000.0,
+ "maxNotional": 35000.0,
"maintenanceMarginRate": 0.02,
- "maxLeverage": 25.0,
+ "maxLeverage": 10.0,
"info": {
"bracket": "3",
- "initialLeverage": "25",
- "notionalCap": "50000",
+ "initialLeverage": "10",
+ "notionalCap": "35000",
"notionalFloor": "10000",
"maintMarginRatio": "0.02",
"cum": "75.0"
@@ -65000,102 +70649,119 @@
"tier": 4.0,
"symbol": "ZRX/USDT:USDT",
"currency": "USDT",
- "minNotional": 50000.0,
- "maxNotional": 100000.0,
+ "minNotional": 35000.0,
+ "maxNotional": 70000.0,
"maintenanceMarginRate": 0.025,
- "maxLeverage": 20.0,
+ "maxLeverage": 7.0,
"info": {
"bracket": "4",
- "initialLeverage": "20",
- "notionalCap": "100000",
- "notionalFloor": "50000",
+ "initialLeverage": "7",
+ "notionalCap": "70000",
+ "notionalFloor": "35000",
"maintMarginRatio": "0.025",
- "cum": "325.0"
+ "cum": "250.0"
}
},
{
"tier": 5.0,
"symbol": "ZRX/USDT:USDT",
"currency": "USDT",
- "minNotional": 100000.0,
- "maxNotional": 500000.0,
+ "minNotional": 70000.0,
+ "maxNotional": 350000.0,
"maintenanceMarginRate": 0.05,
- "maxLeverage": 10.0,
+ "maxLeverage": 6.0,
"info": {
"bracket": "5",
- "initialLeverage": "10",
- "notionalCap": "500000",
- "notionalFloor": "100000",
+ "initialLeverage": "6",
+ "notionalCap": "350000",
+ "notionalFloor": "70000",
"maintMarginRatio": "0.05",
- "cum": "2825.0"
+ "cum": "2000.0"
}
},
{
"tier": 6.0,
"symbol": "ZRX/USDT:USDT",
"currency": "USDT",
- "minNotional": 500000.0,
- "maxNotional": 1000000.0,
+ "minNotional": 350000.0,
+ "maxNotional": 700000.0,
"maintenanceMarginRate": 0.1,
"maxLeverage": 5.0,
"info": {
"bracket": "6",
"initialLeverage": "5",
- "notionalCap": "1000000",
- "notionalFloor": "500000",
+ "notionalCap": "700000",
+ "notionalFloor": "350000",
"maintMarginRatio": "0.1",
- "cum": "27825.0"
+ "cum": "19500.0"
}
},
{
"tier": 7.0,
"symbol": "ZRX/USDT:USDT",
"currency": "USDT",
- "minNotional": 1000000.0,
- "maxNotional": 1250000.0,
+ "minNotional": 700000.0,
+ "maxNotional": 1100000.0,
"maintenanceMarginRate": 0.125,
"maxLeverage": 4.0,
"info": {
"bracket": "7",
"initialLeverage": "4",
- "notionalCap": "1250000",
- "notionalFloor": "1000000",
+ "notionalCap": "1100000",
+ "notionalFloor": "700000",
"maintMarginRatio": "0.125",
- "cum": "52825.0"
+ "cum": "37000.0"
}
},
{
"tier": 8.0,
"symbol": "ZRX/USDT:USDT",
"currency": "USDT",
- "minNotional": 1250000.0,
- "maxNotional": 2500000.0,
- "maintenanceMarginRate": 0.25,
- "maxLeverage": 2.0,
+ "minNotional": 1100000.0,
+ "maxNotional": 2550000.0,
+ "maintenanceMarginRate": 0.1667,
+ "maxLeverage": 3.0,
"info": {
"bracket": "8",
- "initialLeverage": "2",
- "notionalCap": "2500000",
- "notionalFloor": "1250000",
- "maintMarginRatio": "0.25",
- "cum": "209075.0"
+ "initialLeverage": "3",
+ "notionalCap": "2550000",
+ "notionalFloor": "1100000",
+ "maintMarginRatio": "0.1667",
+ "cum": "82870.0"
}
},
{
"tier": 9.0,
"symbol": "ZRX/USDT:USDT",
"currency": "USDT",
- "minNotional": 2500000.0,
- "maxNotional": 5000000.0,
+ "minNotional": 2550000.0,
+ "maxNotional": 4000000.0,
+ "maintenanceMarginRate": 0.25,
+ "maxLeverage": 2.0,
+ "info": {
+ "bracket": "9",
+ "initialLeverage": "2",
+ "notionalCap": "4000000",
+ "notionalFloor": "2550000",
+ "maintMarginRatio": "0.25",
+ "cum": "295285.0"
+ }
+ },
+ {
+ "tier": 10.0,
+ "symbol": "ZRX/USDT:USDT",
+ "currency": "USDT",
+ "minNotional": 4000000.0,
+ "maxNotional": 6800000.0,
"maintenanceMarginRate": 0.5,
"maxLeverage": 1.0,
"info": {
- "bracket": "9",
+ "bracket": "10",
"initialLeverage": "1",
- "notionalCap": "5000000",
- "notionalFloor": "2500000",
+ "notionalCap": "6800000",
+ "notionalFloor": "4000000",
"maintMarginRatio": "0.5",
- "cum": "834075.0"
+ "cum": "1295285.0"
}
}
]
diff --git a/freqtrade/exchange/exchange.py b/freqtrade/exchange/exchange.py
index 3a5974a8b..9072d5948 100644
--- a/freqtrade/exchange/exchange.py
+++ b/freqtrade/exchange/exchange.py
@@ -148,6 +148,7 @@ class Exchange:
"trades_has_history": False,
"l2_limit_range": None,
"l2_limit_range_required": True, # Allow Empty L2 limit (kucoin)
+ "l2_limit_upper": None, # Upper limit for L2 limit
"mark_ohlcv_price": "mark",
"mark_ohlcv_timeframe": "8h",
"funding_fee_timeframe": "8h",
@@ -960,7 +961,7 @@ class Exchange:
return 1 / pow(10, precision)
def get_min_pair_stake_amount(
- self, pair: str, price: float, stoploss: float, leverage: float | None = 1.0
+ self, pair: str, price: float, stoploss: float, leverage: float = 1.0
) -> float | None:
return self._get_stake_amount_limit(pair, price, stoploss, "min", leverage)
@@ -979,7 +980,7 @@ class Exchange:
price: float,
stoploss: float,
limit: Literal["min", "max"],
- leverage: float | None = 1.0,
+ leverage: float = 1.0,
) -> float | None:
isMin = limit == "min"
@@ -988,6 +989,8 @@ class Exchange:
except KeyError:
raise ValueError(f"Can't get market information for symbol {pair}")
+ stake_limits = []
+ limits = market["limits"]
if isMin:
# reserve some percent defined in config (5% default) + stoploss
margin_reserve: float = 1.0 + self._config.get(
@@ -997,11 +1000,12 @@ class Exchange:
# it should not be more than 50%
stoploss_reserve = max(min(stoploss_reserve, 1.5), 1)
else:
+ # is_max
margin_reserve = 1.0
stoploss_reserve = 1.0
+ if max_from_tiers := self._get_max_notional_from_tiers(pair, leverage=leverage):
+ stake_limits.append(max_from_tiers)
- stake_limits = []
- limits = market["limits"]
if limits["cost"][limit] is not None:
stake_limits.append(
self._contracts_to_amount(pair, limits["cost"][limit]) * stoploss_reserve
@@ -1365,8 +1369,8 @@ class Exchange:
ordertype = available_order_Types[user_order_type]
else:
# Otherwise pick only one available
- ordertype = list(available_order_Types.values())[0]
- user_order_type = list(available_order_Types.keys())[0]
+ ordertype = next(iter(available_order_Types.values()))
+ user_order_type = next(iter(available_order_Types.keys()))
return ordertype, user_order_type
def _get_stop_limit_rate(self, stop_price: float, order_types: dict, side: str) -> float:
@@ -1955,14 +1959,18 @@ class Exchange:
@staticmethod
def get_next_limit_in_list(
- limit: int, limit_range: list[int] | None, range_required: bool = True
+ limit: int,
+ limit_range: list[int] | None,
+ range_required: bool = True,
+ upper_limit: int | None = None,
):
"""
Get next greater value in the list.
Used by fetch_l2_order_book if the api only supports a limited range
+ if both limit_range and upper_limit is provided, limit_range wins.
"""
if not limit_range:
- return limit
+ return min(limit, upper_limit) if upper_limit else limit
result = min([x for x in limit_range if limit <= x] + [max(limit_range)])
if not range_required and limit > result:
@@ -1979,7 +1987,10 @@ class Exchange:
{'asks': [price, volume], 'bids': [price, volume]}
"""
limit1 = self.get_next_limit_in_list(
- limit, self._ft_has["l2_limit_range"], self._ft_has["l2_limit_range_required"]
+ limit,
+ self._ft_has["l2_limit_range"],
+ self._ft_has["l2_limit_range_required"],
+ self._ft_has["l2_limit_upper"],
)
try:
return self._api.fetch_l2_order_book(pair, limit1)
@@ -2790,7 +2801,7 @@ class Exchange:
pair, timeframe, candle_type = pairwt
since_ms = None
new_ticks: list = []
- all_stored_ticks_df = DataFrame(columns=DEFAULT_TRADES_COLUMNS + ["date"])
+ all_stored_ticks_df = DataFrame(columns=[*DEFAULT_TRADES_COLUMNS, "date"])
first_candle_ms = self.needed_candle_for_trades_ms(timeframe, candle_type)
# refresh, if
# a. not in _trades
@@ -2835,7 +2846,7 @@ class Exchange:
else:
# Skip cache, it's too old
all_stored_ticks_df = DataFrame(
- columns=DEFAULT_TRADES_COLUMNS + ["date"]
+ columns=[*DEFAULT_TRADES_COLUMNS, "date"]
)
# from_id overrules with exchange set to id paginate
@@ -3353,42 +3364,22 @@ class Exchange:
pair_tiers = self._leverage_tiers[pair]
if stake_amount == 0:
- return self._leverage_tiers[pair][0]["maxLeverage"] # Max lev for lowest amount
+ return pair_tiers[0]["maxLeverage"] # Max lev for lowest amount
- for tier_index in range(len(pair_tiers)):
- tier = pair_tiers[tier_index]
- lev = tier["maxLeverage"]
+ # Find the appropriate tier based on stake_amount
+ prior_max_lev = None
+ for tier in pair_tiers:
+ min_stake = tier["minNotional"] / (prior_max_lev or tier["maxLeverage"])
+ max_stake = tier["maxNotional"] / tier["maxLeverage"]
+ prior_max_lev = tier["maxLeverage"]
+ # Adjust notional by leverage to do a proper comparison
+ if min_stake <= stake_amount <= max_stake:
+ return tier["maxLeverage"]
- if tier_index < len(pair_tiers) - 1:
- next_tier = pair_tiers[tier_index + 1]
- next_floor = next_tier["minNotional"] / next_tier["maxLeverage"]
- if next_floor > stake_amount: # Next tier min too high for stake amount
- return min((tier["maxNotional"] / stake_amount), lev)
- #
- # With the two leverage tiers below,
- # - a stake amount of 150 would mean a max leverage of (10000 / 150) = 66.66
- # - stakes below 133.33 = max_lev of 75
- # - stakes between 133.33-200 = max_lev of 10000/stake = 50.01-74.99
- # - stakes from 200 + 1000 = max_lev of 50
- #
- # {
- # "min": 0, # stake = 0.0
- # "max": 10000, # max_stake@75 = 10000/75 = 133.33333333333334
- # "lev": 75,
- # },
- # {
- # "min": 10000, # stake = 200.0
- # "max": 50000, # max_stake@50 = 50000/50 = 1000.0
- # "lev": 50,
- # }
- #
-
- else: # if on the last tier
- if stake_amount > tier["maxNotional"]:
- # If stake is > than max tradeable amount
- raise InvalidOrderException(f"Amount {stake_amount} too high for {pair}")
- else:
- return tier["maxLeverage"]
+ # else: # if on the last tier
+ if stake_amount > max_stake:
+ # If stake is > than max tradeable amount
+ raise InvalidOrderException(f"Amount {stake_amount} too high for {pair}")
raise OperationalException(
"Looped through all tiers without finding a max leverage. Should never be reached"
@@ -3403,6 +3394,23 @@ class Exchange:
else:
return 1.0
+ def _get_max_notional_from_tiers(self, pair: str, leverage: float) -> float | None:
+ """
+ get max_notional from leverage_tiers
+ :param pair: The base/quote currency pair being traded
+ :param leverage: The leverage to be used
+ :return: The maximum notional value for the given leverage or None if not found
+ """
+ if self.trading_mode != TradingMode.FUTURES:
+ return None
+ if pair not in self._leverage_tiers:
+ return None
+ pair_tiers = self._leverage_tiers[pair]
+ for tier in reversed(pair_tiers):
+ if leverage <= tier["maxLeverage"]:
+ return tier["maxNotional"]
+ return None
+
@retrier
def _set_leverage(
self,
diff --git a/freqtrade/exchange/exchange_types.py b/freqtrade/exchange/exchange_types.py
index 9687057bd..fed6bff70 100644
--- a/freqtrade/exchange/exchange_types.py
+++ b/freqtrade/exchange/exchange_types.py
@@ -37,6 +37,7 @@ class FtHas(TypedDict, total=False):
# Orderbook
l2_limit_range: list[int] | None
l2_limit_range_required: bool
+ l2_limit_upper: int | None
# Futures
ccxt_futures_name: str # usually swap
mark_ohlcv_price: str
@@ -44,6 +45,7 @@ class FtHas(TypedDict, total=False):
funding_fee_timeframe: str
funding_fee_candle_limit: int
floor_leverage: bool
+ uses_leverage_tiers: bool
needs_trading_fees: bool
order_props_in_contracts: list[Literal["amount", "cost", "filled", "remaining"]]
diff --git a/freqtrade/exchange/gate.py b/freqtrade/exchange/gate.py
index 95e1a00ca..49f0ee74b 100644
--- a/freqtrade/exchange/gate.py
+++ b/freqtrade/exchange/gate.py
@@ -35,6 +35,7 @@ class Gate(Exchange):
"stoploss_order_types": {"limit": "limit"},
"stop_price_param": "stopPrice",
"stop_price_prop": "stopPrice",
+ "l2_limit_upper": 1000,
"marketOrderRequiresPrice": True,
"trades_has_history": False, # Endpoint would support this - but ccxt doesn't.
}
@@ -44,6 +45,7 @@ class Gate(Exchange):
"marketOrderRequiresPrice": False,
"funding_fee_candle_limit": 90,
"stop_price_type_field": "price_type",
+ "l2_limit_upper": 300,
"stop_price_type_value_mapping": {
PriceType.LAST: 0,
PriceType.MARK: 1,
diff --git a/freqtrade/exchange/hyperliquid.py b/freqtrade/exchange/hyperliquid.py
index a75a77892..b6ec23942 100644
--- a/freqtrade/exchange/hyperliquid.py
+++ b/freqtrade/exchange/hyperliquid.py
@@ -35,6 +35,7 @@ class Hyperliquid(Exchange):
"stop_price_prop": "stopPrice",
"funding_fee_timeframe": "1h",
"funding_fee_candle_limit": 500,
+ "uses_leverage_tiers": False,
}
_supported_trading_mode_margin_pairs: list[tuple[TradingMode, MarginMode]] = [
diff --git a/freqtrade/exchange/kraken.py b/freqtrade/exchange/kraken.py
index 03c97569a..d82725bbb 100644
--- a/freqtrade/exchange/kraken.py
+++ b/freqtrade/exchange/kraken.py
@@ -69,7 +69,7 @@ class Kraken(Exchange):
consolidated: CcxtBalances = {}
for currency, balance in balances.items():
base_currency = currency[:-2] if currency.endswith(".F") else currency
- base_currency = self._api.commonCurrencies.get(base_currency, base_currency)
+
if base_currency in consolidated:
consolidated[base_currency]["free"] += balance["free"]
consolidated[base_currency]["used"] += balance["used"]
diff --git a/freqtrade/freqai/data_drawer.py b/freqtrade/freqai/data_drawer.py
index 1080b9070..cf3e828bf 100644
--- a/freqtrade/freqai/data_drawer.py
+++ b/freqtrade/freqai/data_drawer.py
@@ -569,7 +569,7 @@ class FreqaiDataDrawer:
dk.training_features_list = dk.data["training_features_list"]
dk.label_list = dk.data["label_list"]
- def load_data(self, coin: str, dk: FreqaiDataKitchen) -> Any: # noqa: C901
+ def load_data(self, coin: str, dk: FreqaiDataKitchen) -> Any:
"""
loads all data required to make a prediction on a sub-train time range
:returns:
diff --git a/freqtrade/freqai/data_kitchen.py b/freqtrade/freqai/data_kitchen.py
index 6cb52eb29..c03dbb276 100644
--- a/freqtrade/freqai/data_kitchen.py
+++ b/freqtrade/freqai/data_kitchen.py
@@ -16,7 +16,7 @@ from pandas import DataFrame
from sklearn.model_selection import train_test_split
from freqtrade.configuration import TimeRange
-from freqtrade.constants import DOCS_LINK, Config
+from freqtrade.constants import DOCS_LINK, ORDERFLOW_ADDED_COLUMNS, Config
from freqtrade.data.converter import reduce_dataframe_footprint
from freqtrade.exceptions import OperationalException
from freqtrade.exchange import timeframe_to_seconds
@@ -709,6 +709,11 @@ class FreqaiDataKitchen:
skip_columns = [
(f"{s}_{suffix}") for s in ["date", "open", "high", "low", "close", "volume"]
]
+
+ for s in ORDERFLOW_ADDED_COLUMNS:
+ if s in dataframe.columns and f"{s}_{suffix}" in dataframe.columns:
+ skip_columns.append(f"{s}_{suffix}")
+
dataframe = dataframe.drop(columns=skip_columns)
return dataframe
diff --git a/freqtrade/freqai/prediction_models/XGBoostRegressorMultiTarget.py b/freqtrade/freqai/prediction_models/XGBoostRegressorMultiTarget.py
index 0586882b9..5cee0148d 100644
--- a/freqtrade/freqai/prediction_models/XGBoostRegressorMultiTarget.py
+++ b/freqtrade/freqai/prediction_models/XGBoostRegressorMultiTarget.py
@@ -4,8 +4,8 @@ from typing import Any
from xgboost import XGBRegressor
from freqtrade.freqai.base_models.BaseRegressionModel import BaseRegressionModel
-from freqtrade.freqai.base_models.FreqaiMultiOutputRegressor import FreqaiMultiOutputRegressor
from freqtrade.freqai.data_kitchen import FreqaiDataKitchen
+from freqtrade.freqai.tensorboard import TBCallback
logger = logging.getLogger(__name__)
@@ -19,6 +19,7 @@ class XGBoostRegressorMultiTarget(BaseRegressionModel):
`predict()` methods to add their custom data handling tools or change
various aspects of the training that cannot be configured via the
top level config.json file.
+ This is an exact copy of XGBoostRegressor kept for compatibility reasons.
"""
def fit(self, data_dictionary: dict, dk: FreqaiDataKitchen, **kwargs) -> Any:
@@ -29,45 +30,32 @@ class XGBoostRegressorMultiTarget(BaseRegressionModel):
:param dk: The datakitchen object for the current coin/model
"""
- xgb = XGBRegressor(**self.model_training_parameters)
-
X = data_dictionary["train_features"]
y = data_dictionary["train_labels"]
+
+ if self.freqai_info.get("data_split_parameters", {}).get("test_size", 0.1) == 0:
+ eval_set = None
+ eval_weights = None
+ else:
+ eval_set = [(data_dictionary["test_features"], data_dictionary["test_labels"]), (X, y)]
+ eval_weights = [data_dictionary["test_weights"], data_dictionary["train_weights"]]
+
sample_weight = data_dictionary["train_weights"]
- eval_weights = None
- eval_sets = [None] * y.shape[1]
+ xgb_model = self.get_init_model(dk.pair)
- if self.freqai_info.get("data_split_parameters", {}).get("test_size", 0.1) != 0:
- eval_weights = [data_dictionary["test_weights"]]
- for i in range(data_dictionary["test_labels"].shape[1]):
- eval_sets[i] = [ # type: ignore
- (
- data_dictionary["test_features"],
- data_dictionary["test_labels"].iloc[:, i],
- )
- ]
+ model = XGBRegressor(**self.model_training_parameters)
- init_model = self.get_init_model(dk.pair)
- if init_model:
- init_models = init_model.estimators_
- else:
- init_models = [None] * y.shape[1]
-
- fit_params = []
- for i in range(len(eval_sets)):
- fit_params.append(
- {
- "eval_set": eval_sets[i],
- "sample_weight_eval_set": eval_weights,
- "xgb_model": init_models[i],
- }
- )
-
- model = FreqaiMultiOutputRegressor(estimator=xgb)
- thread_training = self.freqai_info.get("multitarget_parallel_training", False)
- if thread_training:
- model.n_jobs = y.shape[1]
- model.fit(X=X, y=y, sample_weight=sample_weight, fit_params=fit_params)
+ model.set_params(callbacks=[TBCallback(dk.data_path)])
+ model.fit(
+ X=X,
+ y=y,
+ sample_weight=sample_weight,
+ eval_set=eval_set,
+ sample_weight_eval_set=eval_weights,
+ xgb_model=xgb_model,
+ )
+ # set the callbacks to empty so that we can serialize to disk later
+ model.set_params(callbacks=[])
return model
diff --git a/freqtrade/freqtradebot.py b/freqtrade/freqtradebot.py
index 4156b50e1..8ee65e2dd 100644
--- a/freqtrade/freqtradebot.py
+++ b/freqtrade/freqtradebot.py
@@ -293,6 +293,7 @@ class FreqtradeBot(LoggingMixin):
trades = Trade.get_open_trades()
# First process current opened trades (positions)
self.exit_positions(trades)
+ Trade.commit()
# Check if we need to adjust our current positions before attempting to enter new trades.
if self.strategy.position_adjustment_enable:
@@ -300,7 +301,7 @@ class FreqtradeBot(LoggingMixin):
self.process_open_trade_positions()
# Then looking for entry opportunities
- if self.get_free_open_trades():
+ if self.state == State.RUNNING and self.get_free_open_trades():
self.enter_positions()
self._schedule.run_pending()
Trade.commit()
@@ -759,12 +760,14 @@ class FreqtradeBot(LoggingMixin):
current_exit_profit = trade.calc_profit_ratio(current_exit_rate)
min_entry_stake = self.exchange.get_min_pair_stake_amount(
- trade.pair, current_entry_rate, 0.0
+ trade.pair, current_entry_rate, 0.0, trade.leverage
)
min_exit_stake = self.exchange.get_min_pair_stake_amount(
- trade.pair, current_exit_rate, self.strategy.stoploss
+ trade.pair, current_exit_rate, self.strategy.stoploss, trade.leverage
+ )
+ max_entry_stake = self.exchange.get_max_pair_stake_amount(
+ trade.pair, current_entry_rate, trade.leverage
)
- max_entry_stake = self.exchange.get_max_pair_stake_amount(trade.pair, current_entry_rate)
stake_available = self.wallets.get_available_stake_amount()
logger.debug(f"Calling adjust_trade_position for pair {trade.pair}")
stake_amount, order_tag = self.strategy._adjust_trade_position_internal(
@@ -781,6 +784,10 @@ class FreqtradeBot(LoggingMixin):
)
if stake_amount is not None and stake_amount > 0.0:
+ if self.state == State.PAUSED:
+ logger.debug("Position adjustment aborted because the bot is in PAUSED state")
+ return
+
# We should increase our position
if self.strategy.max_entry_position_adjustment > -1:
count_of_entries = trade.nr_of_successful_entries
diff --git a/freqtrade/ft_types/__init__.py b/freqtrade/ft_types/__init__.py
index 2eb4e5dda..6cd74f7b2 100644
--- a/freqtrade/ft_types/__init__.py
+++ b/freqtrade/ft_types/__init__.py
@@ -1,8 +1,11 @@
# flake8: noqa: F401
from freqtrade.ft_types.backtest_result_type import (
+ BacktestContentType,
+ BacktestContentTypeIcomplete,
BacktestHistoryEntryType,
BacktestMetadataType,
BacktestResultType,
get_BacktestResultType_default,
)
+from freqtrade.ft_types.plot_annotation_type import AnnotationType
from freqtrade.ft_types.valid_exchanges_type import ValidExchangesType
diff --git a/freqtrade/ft_types/backtest_result_type.py b/freqtrade/ft_types/backtest_result_type.py
index b8ddbb4b6..b253231a1 100644
--- a/freqtrade/ft_types/backtest_result_type.py
+++ b/freqtrade/ft_types/backtest_result_type.py
@@ -1,8 +1,11 @@
from copy import deepcopy
from typing import Any, cast
+from pandas import DataFrame
from typing_extensions import TypedDict
+from freqtrade.constants import Config
+
class BacktestMetadataType(TypedDict):
run_id: str
@@ -36,3 +39,23 @@ class BacktestHistoryEntryType(BacktestMetadataType):
backtest_end_ts: int | None
timeframe: str | None
timeframe_detail: str | None
+
+
+class BacktestContentTypeIcomplete(TypedDict, total=False):
+ results: DataFrame
+ config: Config
+ locks: Any
+ rejected_signals: int
+ timedout_entry_orders: int
+ timedout_exit_orders: int
+ canceled_trade_entries: int
+ canceled_entry_orders: int
+ replaced_entry_orders: int
+ final_balance: float
+ backtest_start_time: int
+ backtest_end_time: int
+ run_id: str
+
+
+class BacktestContentType(BacktestContentTypeIcomplete, total=True):
+ pass
diff --git a/freqtrade/ft_types/plot_annotation_type.py b/freqtrade/ft_types/plot_annotation_type.py
new file mode 100644
index 000000000..b08db3c57
--- /dev/null
+++ b/freqtrade/ft_types/plot_annotation_type.py
@@ -0,0 +1,18 @@
+from datetime import datetime
+from typing import Literal
+
+from pydantic import TypeAdapter
+from typing_extensions import Required, TypedDict
+
+
+class AnnotationType(TypedDict, total=False):
+ type: Required[Literal["area"]]
+ start: str | datetime
+ end: str | datetime
+ y_start: float
+ y_end: float
+ color: str
+ label: str
+
+
+AnnotationTypeTA = TypeAdapter(AnnotationType)
diff --git a/freqtrade/loggers/__init__.py b/freqtrade/loggers/__init__.py
index e39dcdd45..e54097bc2 100644
--- a/freqtrade/loggers/__init__.py
+++ b/freqtrade/loggers/__init__.py
@@ -123,7 +123,7 @@ def _add_formatter(log_config: dict[str, Any], format_name: str, format_: str):
def _create_log_config(config: Config) -> dict[str, Any]:
# Get log_config from user config or use default
- log_config = config.get("log_config", deepcopy(FT_LOGGING_CONFIG))
+ log_config = deepcopy(config.get("log_config", FT_LOGGING_CONFIG))
if logfile := config.get("logfile"):
s = logfile.split(":")
diff --git a/freqtrade/mixins/logging_mixin.py b/freqtrade/mixins/logging_mixin.py
index 58399e738..91ad2c25e 100644
--- a/freqtrade/mixins/logging_mixin.py
+++ b/freqtrade/mixins/logging_mixin.py
@@ -20,12 +20,13 @@ class LoggingMixin:
self.refresh_period = refresh_period
self._log_cache: TTLCache = TTLCache(maxsize=1024, ttl=self.refresh_period)
- def log_once(self, message: str, logmethod: Callable) -> None:
+ def log_once(self, message: str, logmethod: Callable, force_show: bool = False) -> None:
"""
Logs message - not more often than "refresh_period" to avoid log spamming
Logs the log-message as debug as well to simplify debugging.
:param message: String containing the message to be sent to the function.
:param logmethod: Function that'll be called. Most likely `logger.info`.
+ :param force_show: If True, sends the message regardless of show_output value.
:return: None.
"""
@@ -35,6 +36,7 @@ class LoggingMixin:
# Log as debug first
self.logger.debug(message)
- # Call hidden function.
- if self.show_output:
+
+ # Call hidden function if show_output is True or force_show is True
+ if self.show_output or force_show:
_log_once(message)
diff --git a/freqtrade/optimize/analysis/lookahead.py b/freqtrade/optimize/analysis/lookahead.py
index 70cb6913d..2e7fac421 100755
--- a/freqtrade/optimize/analysis/lookahead.py
+++ b/freqtrade/optimize/analysis/lookahead.py
@@ -129,7 +129,6 @@ class LookaheadAnalysis(BaseAnalysis):
backtesting._set_strategy(backtesting.strategylist[0])
varholder.data, varholder.timerange = backtesting.load_bt_data()
- backtesting.load_bt_data_detail()
varholder.timeframe = backtesting.timeframe
varholder.indicators = backtesting.strategy.advise_all_indicators(varholder.data)
diff --git a/freqtrade/optimize/analysis/recursive.py b/freqtrade/optimize/analysis/recursive.py
index 50d1b75d6..4d164d8b4 100644
--- a/freqtrade/optimize/analysis/recursive.py
+++ b/freqtrade/optimize/analysis/recursive.py
@@ -149,7 +149,6 @@ class RecursiveAnalysis(BaseAnalysis):
backtesting._set_strategy(backtesting.strategylist[0])
varholder.data, varholder.timerange = backtesting.load_bt_data()
- backtesting.load_bt_data_detail()
varholder.timeframe = backtesting.timeframe
varholder.indicators = backtesting.strategy.advise_all_indicators(varholder.data)
diff --git a/freqtrade/optimize/backtesting.py b/freqtrade/optimize/backtesting.py
index 9a5e58c92..cbc77604b 100644
--- a/freqtrade/optimize/backtesting.py
+++ b/freqtrade/optimize/backtesting.py
@@ -8,7 +8,6 @@ import logging
from collections import defaultdict
from copy import deepcopy
from datetime import datetime, timedelta
-from typing import Any
from numpy import nan
from pandas import DataFrame
@@ -37,7 +36,12 @@ from freqtrade.exchange import (
timeframe_to_seconds,
)
from freqtrade.exchange.exchange import Exchange
-from freqtrade.ft_types import BacktestResultType, get_BacktestResultType_default
+from freqtrade.ft_types import (
+ BacktestContentType,
+ BacktestContentTypeIcomplete,
+ BacktestResultType,
+ get_BacktestResultType_default,
+)
from freqtrade.leverage.liquidation_price import update_liquidation_prices
from freqtrade.mixins import LoggingMixin
from freqtrade.optimize.backtest_caching import get_strategy_run_id
@@ -119,7 +123,7 @@ class Backtesting:
config["dry_run"] = True
self.run_ids: dict[str, str] = {}
self.strategylist: list[IStrategy] = []
- self.all_results: dict[str, dict] = {}
+ self.all_bt_content: dict[str, BacktestContentType] = {}
self.analysis_results: dict[str, dict[str, DataFrame]] = {
"signals": {},
"rejected": {},
@@ -311,9 +315,10 @@ class Backtesting:
)
self.progress.set_new_value(1)
+ self._load_bt_data_detail()
return data, self.timerange
- def load_bt_data_detail(self) -> None:
+ def _load_bt_data_detail(self) -> None:
"""
Loads backtest detail data (smaller timeframe) if necessary.
"""
@@ -360,8 +365,9 @@ class Backtesting:
)
# Combine data to avoid combining the data per trade.
unavailable_pairs = []
+ uses_leverage_tiers = self.exchange.get_option("uses_leverage_tiers", True)
for pair in self.pairlists.whitelist:
- if pair not in self.exchange._leverage_tiers:
+ if uses_leverage_tiers and pair not in self.exchange._leverage_tiers:
unavailable_pairs.append(pair)
continue
@@ -1610,7 +1616,9 @@ class Backtesting:
yield current_time_det, pair, row, is_last_row, trade_dir
self.progress.increment()
- def backtest(self, processed: dict, start_date: datetime, end_date: datetime) -> dict[str, Any]:
+ def backtest(
+ self, processed: dict, start_date: datetime, end_date: datetime
+ ) -> BacktestContentTypeIcomplete:
"""
Implement backtesting functionality
@@ -1710,7 +1718,7 @@ class Backtesting:
"backtest_end_time": int(backtest_end_time.timestamp()),
}
)
- self.all_results[strategy_name] = results
+ self.all_bt_content[strategy_name] = results
if (
self.config.get("export", "none") == "signals"
@@ -1760,7 +1768,6 @@ class Backtesting:
data: dict[str, DataFrame] = {}
data, timerange = self.load_bt_data()
- self.load_bt_data_detail()
logger.info("Dataload complete. Calculating indicators")
self.load_prior_backtest()
@@ -1773,9 +1780,9 @@ class Backtesting:
min_date, max_date = self.backtest_one_strategy(strat, data, timerange)
# Update old results with new ones.
- if len(self.all_results) > 0:
+ if len(self.all_bt_content) > 0:
results = generate_backtest_stats(
- data, self.all_results, min_date=min_date, max_date=max_date
+ data, self.all_bt_content, min_date=min_date, max_date=max_date
)
if self.results:
self.results["metadata"].update(results["metadata"])
diff --git a/freqtrade/optimize/hyperopt/hyperopt_optimizer.py b/freqtrade/optimize/hyperopt/hyperopt_optimizer.py
index 891bfcbee..99e81e4b3 100644
--- a/freqtrade/optimize/hyperopt/hyperopt_optimizer.py
+++ b/freqtrade/optimize/hyperopt/hyperopt_optimizer.py
@@ -22,6 +22,7 @@ from freqtrade.data.history import get_timerange
from freqtrade.data.metrics import calculate_market_change
from freqtrade.enums import HyperoptState
from freqtrade.exceptions import OperationalException
+from freqtrade.ft_types import BacktestContentType
from freqtrade.misc import deep_merge_dicts, round_dict
from freqtrade.optimize.backtesting import Backtesting
@@ -337,7 +338,7 @@ class HyperOptimizer:
def _get_results_dict(
self,
- backtesting_results: dict[str, Any],
+ backtesting_results: BacktestContentType,
min_date: datetime,
max_date: datetime,
params_dict: dict[str, Any],
@@ -443,7 +444,6 @@ class HyperOptimizer:
def prepare_hyperopt_data(self) -> None:
HyperoptStateContainer.set_state(HyperoptState.DATALOAD)
data, self.timerange = self.backtesting.load_bt_data()
- self.backtesting.load_bt_data_detail()
logger.info("Dataload complete. Calculating indicators")
if not self.analyze_per_epoch:
diff --git a/freqtrade/optimize/hyperopt_loss/hyperopt_loss_max_drawdown_per_pair.py b/freqtrade/optimize/hyperopt_loss/hyperopt_loss_max_drawdown_per_pair.py
new file mode 100644
index 000000000..19ce29455
--- /dev/null
+++ b/freqtrade/optimize/hyperopt_loss/hyperopt_loss_max_drawdown_per_pair.py
@@ -0,0 +1,59 @@
+"""
+MaxDrawDownPerPairHyperOptLoss
+
+This module defines the alternative HyperOptLoss class which can be used for
+Hyperoptimization.
+"""
+
+from typing import Any
+
+from freqtrade.optimize.hyperopt import IHyperOptLoss
+
+
+class MaxDrawDownPerPairHyperOptLoss(IHyperOptLoss):
+ """
+ Defines the loss function for hyperopt.
+
+ This implementation calculates the profit/drawdown ratio per pair and
+ returns the worst result as objective, forcing hyperopt to optimize
+ the parameters for all pairs in the pairlist.
+
+ This way, we prevent one or more pairs with good results from inflating
+ the metrics, while the rest of the pairs with poor results are not
+ represented and therefore not optimized.
+ """
+
+ @staticmethod
+ def hyperopt_loss_function(backtest_stats: dict[str, Any], *args, **kwargs) -> float:
+ """
+ Objective function, returns smaller number for better results.
+ """
+
+ ##############################################
+ # Configurable parameters
+ ##############################################
+ # Minimum acceptable profit/drawdown per pair
+ min_acceptable_profit_dd = 1.0
+ # Penalty when acceptable minimum are not met
+ penalty = 20
+ ##############################################
+
+ score_per_pair = []
+ for p in backtest_stats["results_per_pair"]:
+ if p["key"] != "TOTAL":
+ profit = p.get("profit_total_abs", 0)
+ drawdown = p.get("max_drawdown_abs", 0)
+
+ if drawdown != 0 and profit != 0:
+ profit_dd = profit / drawdown
+ else:
+ profit_dd = profit
+
+ if profit_dd < min_acceptable_profit_dd:
+ score = profit_dd - penalty
+ else:
+ score = profit_dd
+
+ score_per_pair.append(score)
+
+ return -min(score_per_pair)
diff --git a/freqtrade/optimize/optimize_reports/bt_output.py b/freqtrade/optimize/optimize_reports/bt_output.py
index 7dea7224b..cc179410a 100644
--- a/freqtrade/optimize/optimize_reports/bt_output.py
+++ b/freqtrade/optimize/optimize_reports/bt_output.py
@@ -102,7 +102,9 @@ def text_table_tags(
[
*(
(
- (t["key"] if isinstance(t["key"], list) else [t["key"], ""])
+ list(t["key"])
+ if isinstance(t["key"], list | tuple)
+ else [t["key"], ""]
if is_list
else [t["key"]]
)
diff --git a/freqtrade/optimize/optimize_reports/optimize_reports.py b/freqtrade/optimize/optimize_reports/optimize_reports.py
index e5b526779..1478ee2be 100644
--- a/freqtrade/optimize/optimize_reports/optimize_reports.py
+++ b/freqtrade/optimize/optimize_reports/optimize_reports.py
@@ -18,7 +18,11 @@ from freqtrade.data.metrics import (
calculate_sortino,
calculate_sqn,
)
-from freqtrade.ft_types import BacktestResultType, get_BacktestResultType_default
+from freqtrade.ft_types import (
+ BacktestContentType,
+ BacktestResultType,
+ get_BacktestResultType_default,
+)
from freqtrade.util import decimals_per_coin, fmt_coin, get_dry_run_wallet
@@ -26,7 +30,7 @@ logger = logging.getLogger(__name__)
def generate_trade_signal_candles(
- preprocessed_df: dict[str, DataFrame], bt_results: dict[str, Any], date_col: str
+ preprocessed_df: dict[str, DataFrame], bt_results: BacktestContentType, date_col: str
) -> dict[str, DataFrame]:
signal_candles_only = {}
for pair in preprocessed_df.keys():
@@ -70,7 +74,11 @@ def generate_rejected_signals(
def _generate_result_line(
- result: DataFrame, starting_balance: float, first_column: str | list[str]
+ result: DataFrame,
+ min_date: datetime,
+ max_date: datetime,
+ starting_balance: float,
+ first_column: str | list[str],
) -> dict:
"""
Generate one result dict, with "first_column" as key.
@@ -78,6 +86,20 @@ def _generate_result_line(
profit_sum = result["profit_ratio"].sum()
# (end-capital - starting capital) / starting capital
profit_total = result["profit_abs"].sum() / starting_balance
+ backtest_days = (max_date - min_date).days or 1
+ final_balance = starting_balance + result["profit_abs"].sum()
+ expectancy, expectancy_ratio = calculate_expectancy(result)
+ winning_profit = result.loc[result["profit_abs"] > 0, "profit_abs"].sum()
+ losing_profit = result.loc[result["profit_abs"] < 0, "profit_abs"].sum()
+ profit_factor = winning_profit / abs(losing_profit) if losing_profit else 0.0
+
+ try:
+ drawdown = calculate_max_drawdown(
+ result, value_col="profit_abs", starting_balance=starting_balance
+ )
+
+ except ValueError:
+ drawdown = None
return {
"key": first_column,
@@ -106,6 +128,16 @@ def _generate_result_line(
"draws": len(result[result["profit_abs"] == 0]),
"losses": len(result[result["profit_abs"] < 0]),
"winrate": len(result[result["profit_abs"] > 0]) / len(result) if len(result) else 0.0,
+ "cagr": calculate_cagr(backtest_days, starting_balance, final_balance),
+ "expectancy": expectancy,
+ "expectancy_ratio": expectancy_ratio,
+ "sortino": calculate_sortino(result, min_date, max_date, starting_balance),
+ "sharpe": calculate_sharpe(result, min_date, max_date, starting_balance),
+ "calmar": calculate_calmar(result, min_date, max_date, starting_balance),
+ "sqn": calculate_sqn(result, starting_balance),
+ "profit_factor": profit_factor,
+ "max_drawdown_account": drawdown.relative_account_drawdown if drawdown else 0.0,
+ "max_drawdown_abs": drawdown.drawdown_abs if drawdown else 0.0,
}
@@ -121,6 +153,8 @@ def generate_pair_metrics( #
stake_currency: str,
starting_balance: float,
results: DataFrame,
+ min_date: datetime,
+ max_date: datetime,
skip_nan: bool = False,
) -> list[dict]:
"""
@@ -140,13 +174,18 @@ def generate_pair_metrics( #
if skip_nan and result["profit_abs"].isnull().all():
continue
- tabular_data.append(_generate_result_line(result, starting_balance, pair))
+ tabular_data.append(
+ _generate_result_line(result, min_date, max_date, starting_balance, pair)
+ )
# Sort by total profit %:
tabular_data = sorted(tabular_data, key=lambda k: k["profit_total_abs"], reverse=True)
# Append Total
- tabular_data.append(_generate_result_line(results, starting_balance, "TOTAL"))
+ tabular_data.append(
+ _generate_result_line(results, min_date, max_date, starting_balance, "TOTAL")
+ )
+
return tabular_data
@@ -154,6 +193,8 @@ def generate_tag_metrics(
tag_type: Literal["enter_tag", "exit_reason"] | list[Literal["enter_tag", "exit_reason"]],
starting_balance: float,
results: DataFrame,
+ min_date: datetime,
+ max_date: datetime,
skip_nan: bool = False,
) -> list[dict]:
"""
@@ -173,13 +214,17 @@ def generate_tag_metrics(
if skip_nan and group["profit_abs"].isnull().all():
continue
- tabular_data.append(_generate_result_line(group, starting_balance, tags))
+ tabular_data.append(
+ _generate_result_line(group, min_date, max_date, starting_balance, tags)
+ )
# Sort by total profit %:
tabular_data = sorted(tabular_data, key=lambda k: k["profit_total_abs"], reverse=True)
# Append Total
- tabular_data.append(_generate_result_line(results, starting_balance, "TOTAL"))
+ tabular_data.append(
+ _generate_result_line(results, min_date, max_date, starting_balance, "TOTAL")
+ )
return tabular_data
else:
return []
@@ -366,7 +411,7 @@ def generate_daily_stats(results: DataFrame) -> dict[str, Any]:
def generate_strategy_stats(
pairlist: list[str],
strategy: str,
- content: dict[str, Any],
+ content: BacktestContentType,
min_date: datetime,
max_date: datetime,
market_change: float,
@@ -395,19 +440,33 @@ def generate_strategy_stats(
stake_currency=stake_currency,
starting_balance=start_balance,
results=results,
+ min_date=min_date,
+ max_date=max_date,
skip_nan=False,
)
enter_tag_stats = generate_tag_metrics(
- "enter_tag", starting_balance=start_balance, results=results, skip_nan=False
+ "enter_tag",
+ starting_balance=start_balance,
+ results=results,
+ min_date=min_date,
+ max_date=max_date,
+ skip_nan=False,
)
exit_reason_stats = generate_tag_metrics(
- "exit_reason", starting_balance=start_balance, results=results, skip_nan=False
+ "exit_reason",
+ starting_balance=start_balance,
+ results=results,
+ min_date=min_date,
+ max_date=max_date,
+ skip_nan=False,
)
mix_tag_stats = generate_tag_metrics(
["enter_tag", "exit_reason"],
starting_balance=start_balance,
results=results,
+ min_date=min_date,
+ max_date=max_date,
skip_nan=False,
)
left_open_results = generate_pair_metrics(
@@ -415,6 +474,8 @@ def generate_strategy_stats(
stake_currency=stake_currency,
starting_balance=start_balance,
results=results.loc[results["exit_reason"] == "force_exit"],
+ min_date=min_date,
+ max_date=max_date,
skip_nan=True,
)
@@ -575,7 +636,7 @@ def generate_strategy_stats(
def generate_backtest_stats(
btdata: dict[str, DataFrame],
- all_results: dict[str, dict[str, DataFrame | dict]],
+ all_results: dict[str, BacktestContentType],
min_date: datetime,
max_date: datetime,
) -> BacktestResultType:
@@ -588,7 +649,7 @@ def generate_backtest_stats(
:return: Dictionary containing results per strategy and a strategy summary.
"""
result: BacktestResultType = get_BacktestResultType_default()
- market_change = calculate_market_change(btdata, "close")
+ market_change = calculate_market_change(btdata, "close", min_date=min_date)
metadata = {}
pairlist = list(btdata.keys())
for strategy, content in all_results.items():
diff --git a/freqtrade/persistence/key_value_store.py b/freqtrade/persistence/key_value_store.py
index e7b782ac4..814748da6 100644
--- a/freqtrade/persistence/key_value_store.py
+++ b/freqtrade/persistence/key_value_store.py
@@ -1,6 +1,6 @@
from datetime import datetime, timezone
from enum import Enum
-from typing import ClassVar
+from typing import ClassVar, Literal
from sqlalchemy import String
from sqlalchemy.orm import Mapped, mapped_column
@@ -18,9 +18,11 @@ class ValueTypesEnum(str, Enum):
INT = "int"
-class KeyStoreKeys(str, Enum):
- BOT_START_TIME = "bot_start_time"
- STARTUP_TIME = "startup_time"
+KeyStoreKeys = Literal[
+ "bot_start_time",
+ "startup_time",
+ "binance_migration",
+]
class _KeyValueStoreModel(ModelBase):
@@ -192,7 +194,7 @@ class KeyValueStore:
return kv.int_value
-def set_startup_time():
+def set_startup_time() -> None:
"""
sets bot_start_time to the first trade open date - or "now" on new databases.
sets startup_time to "now"
diff --git a/freqtrade/persistence/migrations.py b/freqtrade/persistence/migrations.py
index f0aa2f289..59d717d57 100644
--- a/freqtrade/persistence/migrations.py
+++ b/freqtrade/persistence/migrations.py
@@ -1,6 +1,6 @@
import logging
-from sqlalchemy import inspect, select, text, update
+from sqlalchemy import Engine, inspect, select, text, update
from freqtrade.exceptions import OperationalException
from freqtrade.persistence.trade_model import Order, Trade
@@ -9,7 +9,7 @@ from freqtrade.persistence.trade_model import Order, Trade
logger = logging.getLogger(__name__)
-def get_table_names_for_table(inspector, tabletype) -> list[str]:
+def get_table_names_for_table(inspector, tabletype: str) -> list[str]:
return [t for t in inspector.get_table_names() if t.startswith(tabletype)]
@@ -350,7 +350,7 @@ def fix_wrong_max_stake_amount(engine):
connection.execute(stmt)
-def check_migrate(engine, decl_base, previous_tables) -> None:
+def check_migrate(engine: Engine, decl_base, previous_tables: list[str]) -> None:
"""
Checks if migration is necessary and migrates if necessary
"""
diff --git a/freqtrade/persistence/trade_model.py b/freqtrade/persistence/trade_model.py
index c1fbbc30c..5f3101b0d 100644
--- a/freqtrade/persistence/trade_model.py
+++ b/freqtrade/persistence/trade_model.py
@@ -1027,12 +1027,12 @@ class LocalTrade:
Calculate the open_rate including open_fee.
:return: Price in of the open trade incl. Fees
"""
- open_trade = FtPrecise(amount) * FtPrecise(open_rate)
- fees = open_trade * FtPrecise(self.fee_open)
+ open_value = FtPrecise(amount) * FtPrecise(open_rate)
+ fees = open_value * FtPrecise(self.fee_open)
if self.is_short:
- return float(open_trade - fees)
+ return float(open_value - fees)
else:
- return float(open_trade + fees)
+ return float(open_value + fees)
def recalc_open_trade_value(self) -> None:
"""
@@ -1062,13 +1062,13 @@ class LocalTrade:
return interest(exchange_name=self.exchange, borrowed=borrowed, rate=rate, hours=hours)
def _calc_base_close(self, amount: FtPrecise, rate: float, fee: float | None) -> FtPrecise:
- close_trade = amount * FtPrecise(rate)
- fees = close_trade * FtPrecise(fee or 0.0)
+ close_value = amount * FtPrecise(rate)
+ fees = close_value * FtPrecise(fee or 0.0)
if self.is_short:
- return close_trade + fees
+ return close_value + fees
else:
- return close_trade - fees
+ return close_value - fees
def calc_close_trade_value(self, rate: float, amount: float | None = None) -> float:
"""
@@ -1155,18 +1155,21 @@ class LocalTrade:
profit_ratio = 0.0
total_profit_abs = profit_abs + self.realized_profit
- total_profit_ratio = (
- (total_profit_abs / self.max_stake_amount) * self.leverage
- if self.max_stake_amount
- else 0.0
- )
- total_profit_ratio = float(f"{total_profit_ratio:.8f}")
+ if self.max_stake_amount:
+ max_stake = self.max_stake_amount * (
+ (1 - self.fee_open) if self.is_short else (1 + self.fee_open)
+ )
+ total_profit_ratio = total_profit_abs / max_stake
+ total_profit_ratio = float(f"{total_profit_ratio:.8f}")
+ else:
+ total_profit_ratio = 0.0
profit_abs = float(f"{profit_abs:.8f}")
+ total_profit_abs = float(f"{total_profit_abs:.8f}")
return ProfitStruct(
profit_abs=profit_abs,
profit_ratio=profit_ratio,
- total_profit=profit_abs + self.realized_profit,
+ total_profit=total_profit_abs,
total_profit_ratio=total_profit_ratio,
)
@@ -1799,11 +1802,15 @@ class Trade(ModelBase, LocalTrade):
close_date: datetime | None = None,
) -> list["LocalTrade"]:
"""
- Helper function to query Trades.j
+ Helper function to query Trades.
Returns a List of trades, filtered on the parameters given.
In live mode, converts the filter to a database query and returns all rows
In Backtest mode, uses filters on Trade.bt_trades to get the result.
-
+ :param pair: Filter by pair
+ :param is_open: Filter by open/closed status
+ :param open_date: Filter by open_date (filters via trade.open_date > input)
+ :param close_date: Filter by close_date (filters via trade.close_date > input)
+ and will implicitly only return closed trades.
:return: unsorted List[Trade]
"""
if Trade.use_db:
diff --git a/freqtrade/plot/plotting.py b/freqtrade/plot/plotting.py
index 4f486d8a1..6419ab0c2 100644
--- a/freqtrade/plot/plotting.py
+++ b/freqtrade/plot/plotting.py
@@ -460,7 +460,7 @@ def generate_candlestick_graph(
rows=rows,
cols=1,
shared_xaxes=True,
- row_width=row_widths + [1, 4],
+ row_width=[*row_widths, 1, 4],
vertical_spacing=0.0001,
)
fig["layout"].update(title=pair)
diff --git a/freqtrade/plugins/pairlist/IPairList.py b/freqtrade/plugins/pairlist/IPairList.py
index 89a9e68cd..9cb5d7744 100644
--- a/freqtrade/plugins/pairlist/IPairList.py
+++ b/freqtrade/plugins/pairlist/IPairList.py
@@ -251,6 +251,7 @@ class IPairList(LoggingMixin, ABC):
f"Pair {pair} is not compatible with exchange "
f"{self._exchange.name}. Removing it from whitelist..",
logger.warning,
+ True,
)
continue
@@ -258,6 +259,7 @@ class IPairList(LoggingMixin, ABC):
self.log_once(
f"Pair {pair} is not tradable with Freqtrade. Removing it from whitelist..",
logger.warning,
+ True,
)
continue
@@ -266,13 +268,18 @@ class IPairList(LoggingMixin, ABC):
f"Pair {pair} is not compatible with your stake currency "
f"{self._config['stake_currency']}. Removing it from whitelist..",
logger.warning,
+ True,
)
continue
# Check if market is active
market = markets[pair]
if not market_is_active(market):
- self.log_once(f"Ignoring {pair} from whitelist. Market is not active.", logger.info)
+ self.log_once(
+ f"Ignoring {pair} from whitelist. Market is not active.",
+ logger.info,
+ True,
+ )
continue
if pair not in sanitized_whitelist:
sanitized_whitelist.append(pair)
diff --git a/freqtrade/rpc/api_server/api_backtest.py b/freqtrade/rpc/api_server/api_backtest.py
index 5d06e8a48..98a7586df 100644
--- a/freqtrade/rpc/api_server/api_backtest.py
+++ b/freqtrade/rpc/api_server/api_backtest.py
@@ -62,7 +62,6 @@ def __run_backtest_bg(btconfig: Config):
from freqtrade.optimize.backtesting import Backtesting
ApiBG.bt["bt"] = Backtesting(btconfig)
- ApiBG.bt["bt"].load_bt_data_detail()
else:
ApiBG.bt["bt"].config = btconfig
ApiBG.bt["bt"].init_backtest()
@@ -96,7 +95,10 @@ def __run_backtest_bg(btconfig: Config):
)
ApiBG.bt["bt"].results = generate_backtest_stats(
- ApiBG.bt["data"], ApiBG.bt["bt"].all_results, min_date=min_date, max_date=max_date
+ ApiBG.bt["data"],
+ ApiBG.bt["bt"].all_bt_content,
+ min_date=min_date,
+ max_date=max_date,
)
if btconfig.get("export", "none") == "trades":
diff --git a/freqtrade/rpc/api_server/api_schemas.py b/freqtrade/rpc/api_server/api_schemas.py
index 975166458..bb5dfafa7 100644
--- a/freqtrade/rpc/api_server/api_schemas.py
+++ b/freqtrade/rpc/api_server/api_schemas.py
@@ -5,7 +5,7 @@ from pydantic import AwareDatetime, BaseModel, RootModel, SerializeAsAny, model_
from freqtrade.constants import DL_DATA_TIMEFRAMES, IntOrInf
from freqtrade.enums import MarginMode, OrderTypeValues, SignalDirection, TradingMode
-from freqtrade.ft_types import ValidExchangesType
+from freqtrade.ft_types import AnnotationType, ValidExchangesType
from freqtrade.rpc.api_server.webserver_bgwork import ProgressTask
@@ -539,6 +539,7 @@ class PairHistory(BaseModel):
columns: list[str]
all_columns: list[str] = []
data: SerializeAsAny[list[Any]]
+ annotations: list[AnnotationType] | None = None
length: int
buy_signals: int
sell_signals: int
diff --git a/freqtrade/rpc/api_server/api_v1.py b/freqtrade/rpc/api_server/api_v1.py
index afab46cc8..348ffd7a3 100644
--- a/freqtrade/rpc/api_server/api_v1.py
+++ b/freqtrade/rpc/api_server/api_v1.py
@@ -200,9 +200,12 @@ def status(rpc: RPC = Depends(get_rpc)):
def trades(
limit: int = Query(500, ge=1, description="Maximum number of different trades to return data"),
offset: int = Query(0, ge=0, description="Number of trades to skip for pagination"),
+ order_by_id: bool = Query(
+ True, description="Sort trades by id (default: True). If False, sorts by latest timestamp"
+ ),
rpc: RPC = Depends(get_rpc),
):
- return rpc._rpc_trade_history(limit, offset=offset, order_by_id=True)
+ return rpc._rpc_trade_history(limit, offset=offset, order_by_id=order_by_id)
@router.get("/trade/{tradeid}", response_model=OpenTradeSchema, tags=["info", "trading"])
@@ -369,10 +372,11 @@ def stop(rpc: RPC = Depends(get_rpc)):
return rpc._rpc_stop()
+@router.post("/pause", response_model=StatusMsg, tags=["botcontrol"])
@router.post("/stopentry", response_model=StatusMsg, tags=["botcontrol"])
@router.post("/stopbuy", response_model=StatusMsg, tags=["botcontrol"])
-def stop_buy(rpc: RPC = Depends(get_rpc)):
- return rpc._rpc_stopentry()
+def pause(rpc: RPC = Depends(get_rpc)):
+ return rpc._rpc_pause()
@router.post("/reload_config", response_model=StatusMsg, tags=["botcontrol"])
diff --git a/freqtrade/rpc/api_server/uvicorn_threaded.py b/freqtrade/rpc/api_server/uvicorn_threaded.py
index 07faaff53..d765472f6 100644
--- a/freqtrade/rpc/api_server/uvicorn_threaded.py
+++ b/freqtrade/rpc/api_server/uvicorn_threaded.py
@@ -41,7 +41,7 @@ class UvicornServer(uvicorn.Server):
but we need to create uvloop event loop manually
"""
try:
- import uvloop # noqa
+ import uvloop
except ImportError: # pragma: no cover
asyncio_setup()
else:
diff --git a/freqtrade/rpc/rpc.py b/freqtrade/rpc/rpc.py
index 075ddd374..696fec7b7 100644
--- a/freqtrade/rpc/rpc.py
+++ b/freqtrade/rpc/rpc.py
@@ -32,8 +32,9 @@ from freqtrade.enums import (
from freqtrade.exceptions import ExchangeError, PricingError
from freqtrade.exchange import Exchange, timeframe_to_minutes, timeframe_to_msecs
from freqtrade.exchange.exchange_utils import price_to_precision
+from freqtrade.ft_types import AnnotationType
from freqtrade.loggers import bufferHandler
-from freqtrade.persistence import CustomDataWrapper, KeyStoreKeys, KeyValueStore, PairLocks, Trade
+from freqtrade.persistence import CustomDataWrapper, KeyValueStore, PairLocks, Trade
from freqtrade.persistence.models import PairLock
from freqtrade.plugins.pairlist.pairlist_helpers import expand_pairlist
from freqtrade.rpc.fiat_convert import CryptoToFiatConverter
@@ -635,7 +636,7 @@ class RPC:
first_date = trades[0].open_date_utc if trades else None
last_date = trades[-1].open_date_utc if trades else None
num = float(len(durations) or 1)
- bot_start = KeyValueStore.get_datetime_value(KeyStoreKeys.BOT_START_TIME)
+ bot_start = KeyValueStore.get_datetime_value("bot_start_time")
return {
"profit_closed_coin": profit_closed_coin_sum,
"profit_closed_percent_mean": round(profit_closed_ratio_mean * 100, 2),
@@ -838,7 +839,7 @@ class RPC:
def _rpc_stop(self) -> dict[str, str]:
"""Handler for stop"""
- if self._freqtrade.state == State.RUNNING:
+ if self._freqtrade.state != State.STOPPED:
self._freqtrade.state = State.STOPPED
return {"status": "stopping trader ..."}
@@ -849,16 +850,25 @@ class RPC:
self._freqtrade.state = State.RELOAD_CONFIG
return {"status": "Reloading config ..."}
- def _rpc_stopentry(self) -> dict[str, str]:
+ def _rpc_pause(self) -> dict[str, str]:
"""
- Handler to stop buying, but handle open trades gracefully.
+ Handler to pause trading (stop entering new trades), but handle open trades gracefully.
"""
if self._freqtrade.state == State.RUNNING:
- # Set 'max_open_trades' to 0
- self._freqtrade.config["max_open_trades"] = 0
- self._freqtrade.strategy.max_open_trades = 0
+ self._freqtrade.state = State.PAUSED
- return {"status": "No more entries will occur from now. Run /reload_config to reset."}
+ if self._freqtrade.state == State.STOPPED:
+ self._freqtrade.state = State.PAUSED
+ return {
+ "status": (
+ "starting bot with trader in paused state, no entries will occur. "
+ "Run /start to enable entries."
+ )
+ }
+
+ return {
+ "status": "paused, no more entries will occur from now. Run /start to enable entries."
+ }
def _rpc_reload_trade_from_exchange(self, trade_id: int) -> dict[str, str]:
"""
@@ -930,7 +940,7 @@ class RPC:
Sells the given trade at current price
"""
- if self._freqtrade.state != State.RUNNING:
+ if self._freqtrade.state == State.STOPPED:
raise RPCException("trader is not running")
with self._freqtrade._exit_lock:
@@ -1046,7 +1056,7 @@ class RPC:
raise RPCException(f"Failed to enter position for {pair}.")
def _rpc_cancel_open_order(self, trade_id: int):
- if self._freqtrade.state != State.RUNNING:
+ if self._freqtrade.state == State.STOPPED:
raise RPCException("trader is not running")
with self._freqtrade._exit_lock:
# Query for trade
@@ -1214,7 +1224,7 @@ class RPC:
def _rpc_count(self) -> dict[str, float]:
"""Returns the number of trades running"""
- if self._freqtrade.state != State.RUNNING:
+ if self._freqtrade.state == State.STOPPED:
raise RPCException("trader is not running")
trades = Trade.get_open_trades()
@@ -1347,6 +1357,7 @@ class RPC:
dataframe: DataFrame,
last_analyzed: datetime,
selected_cols: list[str] | None,
+ annotations: list[AnnotationType],
) -> dict[str, Any]:
has_content = len(dataframe) != 0
dataframe_columns = list(dataframe.columns)
@@ -1402,6 +1413,7 @@ class RPC:
"data_start_ts": 0,
"data_stop": "",
"data_stop_ts": 0,
+ "annotations": annotations,
}
if has_content:
res.update(
@@ -1420,8 +1432,16 @@ class RPC:
"""Analyzed dataframe in Dict form"""
_data, last_analyzed = self.__rpc_analysed_dataframe_raw(pair, timeframe, limit)
+ annotations = self._freqtrade.strategy.ft_plot_annotations(pair=pair, dataframe=_data)
+
return RPC._convert_dataframe_to_dict(
- self._freqtrade.config["strategy"], pair, timeframe, _data, last_analyzed, selected_cols
+ self._freqtrade.config["strategy"],
+ pair,
+ timeframe,
+ _data,
+ last_analyzed,
+ selected_cols,
+ annotations,
)
def __rpc_analysed_dataframe_raw(
@@ -1522,6 +1542,7 @@ class RPC:
)
data = _data[pair]
+ annotations = []
if config.get("strategy"):
strategy.dp = DataProvider(config, exchange=exchange, pairlists=None)
strategy.ft_bot_start()
@@ -1530,6 +1551,8 @@ class RPC:
df_analyzed = trim_dataframe(
df_analyzed, timerange_parsed, startup_candles=startup_candles
)
+ annotations = strategy.ft_plot_annotations(pair=pair, dataframe=df_analyzed)
+
else:
df_analyzed = data
@@ -1540,6 +1563,7 @@ class RPC:
df_analyzed.copy(),
dt_now(),
selected_cols,
+ annotations,
)
def _rpc_plot_config(self) -> dict[str, Any]:
@@ -1592,7 +1616,7 @@ class RPC:
}
)
- if bot_start := KeyValueStore.get_datetime_value(KeyStoreKeys.BOT_START_TIME):
+ if bot_start := KeyValueStore.get_datetime_value("bot_start_time"):
res.update(
{
"bot_start": str(bot_start),
@@ -1600,7 +1624,7 @@ class RPC:
"bot_start_ts": int(bot_start.timestamp()),
}
)
- if bot_startup := KeyValueStore.get_datetime_value(KeyStoreKeys.STARTUP_TIME):
+ if bot_startup := KeyValueStore.get_datetime_value("startup_time"):
res.update(
{
"bot_startup": str(bot_startup),
diff --git a/freqtrade/rpc/telegram.py b/freqtrade/rpc/telegram.py
index 739a2af86..f3f4a4196 100644
--- a/freqtrade/rpc/telegram.py
+++ b/freqtrade/rpc/telegram.py
@@ -178,6 +178,7 @@ class Telegram(RPCHandler):
# problem in _help()).
valid_keys: list[str] = [
r"/start$",
+ r"/pause$",
r"/stop$",
r"/status$",
r"/status table$",
@@ -293,7 +294,7 @@ class Telegram(RPCHandler):
CommandHandler(["unlock", "delete_locks"], self._delete_locks),
CommandHandler(["reload_config", "reload_conf"], self._reload_config),
CommandHandler(["show_config", "show_conf"], self._show_config),
- CommandHandler(["stopbuy", "stopentry"], self._stopentry),
+ CommandHandler(["stopbuy", "stopentry", "pause"], self._pause),
CommandHandler("whitelist", self._whitelist),
CommandHandler("blacklist", self._blacklist),
CommandHandler(["blacklist_delete", "bl_delete"], self._blacklist_delete),
@@ -1269,15 +1270,15 @@ class Telegram(RPCHandler):
await self._send_msg(f"Status: `{msg['status']}`")
@authorized_only
- async def _stopentry(self, update: Update, context: CallbackContext) -> None:
+ async def _pause(self, update: Update, context: CallbackContext) -> None:
"""
- Handler for /stop_buy.
- Sets max_open_trades to 0 and gracefully sells all open trades
+ Handler for /stop_buy /stop_entry and /pause.
+ Sets bot state to paused
:param bot: telegram bot
:param update: message update
:return: None
"""
- msg = self._rpc._rpc_stopentry()
+ msg = self._rpc._rpc_pause()
await self._send_msg(f"Status: `{msg['status']}`")
@authorized_only
@@ -1829,6 +1830,7 @@ class Telegram(RPCHandler):
"_Bot Control_\n"
"------------\n"
"*/start:* `Starts the trader`\n"
+ "*/pause:* `Pause the new entries for trader, but handles open trades gracefully`\n"
"*/stop:* `Stops the trader`\n"
"*/stopentry:* `Stops entering, but handles open trades gracefully` \n"
"*/forceexit |all:* `Instantly exits the given trade or all trades, "
diff --git a/freqtrade/strategy/__init__.py b/freqtrade/strategy/__init__.py
index e99473b4e..f1a6c687c 100644
--- a/freqtrade/strategy/__init__.py
+++ b/freqtrade/strategy/__init__.py
@@ -6,6 +6,7 @@ from freqtrade.exchange import (
timeframe_to_prev_date,
timeframe_to_seconds,
)
+from freqtrade.ft_types import AnnotationType
from freqtrade.persistence import Order, PairLocks, Trade
from freqtrade.strategy.informative_decorator import informative
from freqtrade.strategy.interface import IStrategy
@@ -44,4 +45,5 @@ __all__ = [
"merge_informative_pair",
"stoploss_from_absolute",
"stoploss_from_open",
+ "AnnotationType",
]
diff --git a/freqtrade/strategy/interface.py b/freqtrade/strategy/interface.py
index 5cd873f23..bb4cd264a 100644
--- a/freqtrade/strategy/interface.py
+++ b/freqtrade/strategy/interface.py
@@ -9,9 +9,11 @@ from datetime import datetime, timedelta, timezone
from math import isinf, isnan
from pandas import DataFrame
+from pydantic import ValidationError
from freqtrade.constants import CUSTOM_TAG_MAX_LENGTH, Config, IntOrInf, ListPairsWithTimeframes
from freqtrade.data.converter import populate_dataframe_with_trades
+from freqtrade.data.converter.converter import reduce_dataframe_footprint
from freqtrade.data.dataprovider import DataProvider
from freqtrade.enums import (
CandleType,
@@ -26,6 +28,7 @@ from freqtrade.enums import (
)
from freqtrade.exceptions import OperationalException, StrategyError
from freqtrade.exchange import timeframe_to_minutes, timeframe_to_next_date, timeframe_to_seconds
+from freqtrade.ft_types import AnnotationType
from freqtrade.misc import remove_entry_exit_signals
from freqtrade.persistence import Order, PairLocks, Trade
from freqtrade.strategy.hyper import HyperStrategyMixin
@@ -833,6 +836,24 @@ class IStrategy(ABC, HyperStrategyMixin):
"""
return None
+ def plot_annotations(
+ self, pair: str, start_date: datetime, end_date: datetime, dataframe: DataFrame, **kwargs
+ ) -> list[AnnotationType]:
+ """
+ Retrieve area annotations for a chart.
+ Must be returned as array, with type, label, color, start, end, y_start, y_end.
+ All settings except for type are optional - though it usually makes sense to include either
+ "start and end" or "y_start and y_end" for either horizontal or vertical plots
+ (or all 4 for boxes).
+ :param pair: Pair that's currently analyzed
+ :param start_date: Start date of the chart data being requested
+ :param end_date: End date of the chart data being requested
+ :param dataframe: DataFrame with the analyzed data for the chart
+ :param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
+ :return: List of AnnotationType objects
+ """
+ return []
+
def populate_any_indicators(
self,
pair: str,
@@ -1699,12 +1720,12 @@ class IStrategy(ABC, HyperStrategyMixin):
dataframe = self.advise_exit(dataframe, metadata)
return dataframe
- def _if_enabled_populate_trades(self, dataframe: DataFrame, metadata: dict):
+ def _if_enabled_populate_trades(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
use_public_trades = self.config.get("exchange", {}).get("use_public_trades", False)
if use_public_trades:
- trades = self.dp.trades(pair=metadata["pair"], copy=False)
-
pair = metadata["pair"]
+ trades = self.dp.trades(pair=pair, copy=False)
+
# TODO: slice trades to size of dataframe for faster backtesting
cached_grouped_trades: DataFrame | None = self._cached_grouped_trades_per_pair.get(pair)
dataframe, cached_grouped_trades = populate_dataframe_with_trades(
@@ -1717,6 +1738,7 @@ class IStrategy(ABC, HyperStrategyMixin):
self._cached_grouped_trades_per_pair[pair] = cached_grouped_trades
logger.debug("Populated dataframe with trades.")
+ return dataframe
def advise_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
"""
@@ -1734,8 +1756,14 @@ class IStrategy(ABC, HyperStrategyMixin):
self, dataframe, metadata, inf_data, populate_fn
)
- self._if_enabled_populate_trades(dataframe, metadata)
- return self.populate_indicators(dataframe, metadata)
+ dataframe = self._if_enabled_populate_trades(dataframe, metadata)
+ dataframe = self.populate_indicators(dataframe, metadata)
+ if self.config.get("reduce_df_footprint", False) and self.config.get("runmode") not in [
+ RunMode.DRY_RUN,
+ RunMode.LIVE,
+ ]:
+ dataframe = reduce_dataframe_footprint(dataframe)
+ return dataframe
def advise_entry(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
"""
@@ -1772,3 +1800,33 @@ class IStrategy(ABC, HyperStrategyMixin):
if "exit_long" not in df.columns:
df = df.rename({"sell": "exit_long"}, axis="columns")
return df
+
+ def ft_plot_annotations(self, pair: str, dataframe: DataFrame) -> list[AnnotationType]:
+ """
+ Internal wrapper around plot_dataframe
+ """
+ if len(dataframe) > 0:
+ annotations = strategy_safe_wrapper(self.plot_annotations)(
+ pair=pair,
+ dataframe=dataframe,
+ start_date=dataframe.iloc[0]["date"].to_pydatetime(),
+ end_date=dataframe.iloc[-1]["date"].to_pydatetime(),
+ )
+
+ from freqtrade.ft_types.plot_annotation_type import AnnotationTypeTA
+
+ annotations_new: list[AnnotationType] = []
+ for annotation in annotations:
+ if isinstance(annotation, dict):
+ # Convert to AnnotationType
+ try:
+ AnnotationTypeTA.validate_python(annotation)
+ annotations_new.append(annotation)
+ except ValidationError as e:
+ logger.error(f"Invalid annotation data: {annotation}. Error: {e}")
+ else:
+ # Already an AnnotationType
+ annotations_new.append(annotation)
+
+ return annotations_new
+ return []
diff --git a/freqtrade/strategy/strategyupdater.py b/freqtrade/strategy/strategyupdater.py
index 05494537d..998a3aac3 100644
--- a/freqtrade/strategy/strategyupdater.py
+++ b/freqtrade/strategy/strategyupdater.py
@@ -83,7 +83,7 @@ class StrategyUpdater:
return updated_code
# function that uses the ast module to update the code
- def modify_ast(self, tree): # noqa
+ def modify_ast(self, tree):
# use the visitor to update the names and functions in the AST
NameUpdater().visit(tree)
diff --git a/freqtrade/templates/base_strategy.py.j2 b/freqtrade/templates/base_strategy.py.j2
index fe577826a..e4c617ddf 100644
--- a/freqtrade/templates/base_strategy.py.j2
+++ b/freqtrade/templates/base_strategy.py.j2
@@ -28,12 +28,12 @@ from freqtrade.strategy import (
merge_informative_pair,
stoploss_from_absolute,
stoploss_from_open,
+ AnnotationType,
)
# --------------------------------
# Add your lib to import here
import talib.abstract as ta
-import pandas_ta as pta
from technical import qtpylib
diff --git a/freqtrade/templates/strategy_subtemplates/strategy_methods_advanced.j2 b/freqtrade/templates/strategy_subtemplates/strategy_methods_advanced.j2
index dc133c75a..306329742 100644
--- a/freqtrade/templates/strategy_subtemplates/strategy_methods_advanced.j2
+++ b/freqtrade/templates/strategy_subtemplates/strategy_methods_advanced.j2
@@ -399,3 +399,21 @@ def order_filled(
:param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
"""
pass
+
+def plot_annotations(
+ self, pair: str, start_date: datetime, end_date: datetime, dataframe: DataFrame, **kwargs
+) -> list[AnnotationType]:
+ """
+ Retrieve area annotations for a chart.
+ Must be returned as array, with type, label, color, start, end, y_start, y_end.
+ All settings except for type are optional - though it usually makes sense to include either
+ "start and end" or "y_start and y_end" for either horizontal or vertical plots
+ (or all 4 for boxes).
+ :param pair: Pair that's currently analyzed
+ :param start_date: Start date of the chart data being requested
+ :param end_date: End date of the chart data being requested
+ :param dataframe: DataFrame with the analyzed data for the chart
+ :param **kwargs: Ensure to keep this here so updates to this won't break your strategy.
+ :return: List of AnnotationType objects
+ """
+ return []
diff --git a/freqtrade/util/migrations/__init__.py b/freqtrade/util/migrations/__init__.py
index 4e81b1c57..8a9f10949 100644
--- a/freqtrade/util/migrations/__init__.py
+++ b/freqtrade/util/migrations/__init__.py
@@ -4,6 +4,9 @@ from freqtrade.util.migrations.funding_rate_mig import migrate_funding_fee_timef
def migrate_data(config, exchange: Exchange | None = None):
+ """
+ Migrate persisted data from old formats to new formats
+ """
migrate_binance_futures_data(config)
migrate_funding_fee_timeframe(config, exchange)
diff --git a/freqtrade/util/migrations/binance_mig.py b/freqtrade/util/migrations/binance_mig.py
index e5255fa6d..248d5810d 100644
--- a/freqtrade/util/migrations/binance_mig.py
+++ b/freqtrade/util/migrations/binance_mig.py
@@ -6,8 +6,8 @@ from sqlalchemy import select
from freqtrade.constants import DOCS_LINK, Config
from freqtrade.enums import TradingMode
from freqtrade.exceptions import OperationalException
+from freqtrade.persistence import KeyValueStore, Trade
from freqtrade.persistence.pairlock import PairLock
-from freqtrade.persistence.trade_model import Trade
logger = logging.getLogger(__name__)
@@ -20,6 +20,9 @@ def migrate_binance_futures_names(config: Config):
):
# only act on new futures
return
+ if KeyValueStore.get_int_value("binance_migration"):
+ # already migrated
+ return
import ccxt
if version.parse("2.6.26") > version.parse(ccxt.__version__):
@@ -29,10 +32,11 @@ def migrate_binance_futures_names(config: Config):
)
_migrate_binance_futures_db(config)
migrate_binance_futures_data(config)
+ KeyValueStore.store_value("binance_migration", 1)
def _migrate_binance_futures_db(config: Config):
- logger.warning("Migrating binance futures pairs in database.")
+ logger.info("Migrating binance futures pairs in database.")
trades = Trade.get_trades([Trade.exchange == "binance", Trade.trading_mode == "FUTURES"]).all()
for trade in trades:
if ":" in trade.pair:
@@ -52,7 +56,7 @@ def _migrate_binance_futures_db(config: Config):
# print(pls)
# pls.update({'pair': concat(PairLock.pair,':USDT')})
Trade.commit()
- logger.warning("Done migrating binance futures pairs in database.")
+ logger.info("Done migrating binance futures pairs in database.")
def migrate_binance_futures_data(config: Config):
diff --git a/freqtrade/vendor/qtpylib/indicators.py b/freqtrade/vendor/qtpylib/indicators.py
index 5b56b2aa6..7c1aec5a4 100644
--- a/freqtrade/vendor/qtpylib/indicators.py
+++ b/freqtrade/vendor/qtpylib/indicators.py
@@ -32,7 +32,7 @@ warnings.simplefilter(action="ignore", category=RuntimeWarning)
def numpy_rolling_window(data, window):
shape = data.shape[:-1] + (data.shape[-1] - window + 1, window)
- strides = data.strides + (data.strides[-1],)
+ strides = (*data.strides, data.strides[-1])
return np.lib.stride_tricks.as_strided(data, shape=shape, strides=strides)
diff --git a/freqtrade/worker.py b/freqtrade/worker.py
index 61d5d9a64..8b754ddc3 100644
--- a/freqtrade/worker.py
+++ b/freqtrade/worker.py
@@ -96,7 +96,10 @@ class Worker:
logger.info(
f"Changing state{f' from {old_state.name}' if old_state else ''} to: {state.name}"
)
- if state == State.RUNNING:
+ if state in (State.RUNNING, State.PAUSED) and old_state not in (
+ State.RUNNING,
+ State.PAUSED,
+ ):
self.freqtrade.startup()
if state == State.STOPPED:
@@ -112,9 +115,10 @@ class Worker:
self._throttle(func=self._process_stopped, throttle_secs=self._throttle_secs)
- elif state == State.RUNNING:
+ elif state in (State.RUNNING, State.PAUSED):
+ state_str = "RUNNING" if state == State.RUNNING else "PAUSED"
# Ping systemd watchdog before throttling
- self._notify("WATCHDOG=1\nSTATUS=State: RUNNING.")
+ self._notify(f"WATCHDOG=1\nSTATUS=State: {state_str}.")
# Use an offset of 1s to ensure a new candle has been issued
self._throttle(
@@ -221,7 +225,7 @@ class Worker:
# Load and validate config and create new instance of the bot
self._init(True)
- self.freqtrade.notify_status("config reloaded")
+ self.freqtrade.notify_status(f"{State(self.freqtrade.state)} after config reloaded")
# Tell systemd that we completed reconfiguration
self._notify("READY=1")
diff --git a/ft_client/freqtrade_client/__init__.py b/ft_client/freqtrade_client/__init__.py
index 32e91f3a1..d708ab2fb 100644
--- a/ft_client/freqtrade_client/__init__.py
+++ b/ft_client/freqtrade_client/__init__.py
@@ -1,13 +1,13 @@
from freqtrade_client.ft_rest_client import FtRestClient
-__version__ = "2025.4-dev"
+__version__ = "2025.5-dev"
if "dev" in __version__:
from pathlib import Path
try:
- import subprocess # noqa: S404
+ import subprocess # noqa: S404, RUF100
freqtrade_basedir = Path(__file__).parent
diff --git a/ft_client/freqtrade_client/ft_rest_client.py b/ft_client/freqtrade_client/ft_rest_client.py
index 5e15bc185..c3be342f5 100755
--- a/ft_client/freqtrade_client/ft_rest_client.py
+++ b/ft_client/freqtrade_client/ft_rest_client.py
@@ -255,11 +255,12 @@ class FtRestClient:
"""
return self._get("logs", params={"limit": limit} if limit else {})
- def trades(self, limit=None, offset=None):
- """Return trades history, sorted by id
+ def trades(self, limit=None, offset=None, order_by_id=True):
+ """Return trades history, sorted by id (or by latest timestamp if order_by_id=False)
:param limit: Limits trades to the X last trades. Max 500 trades.
:param offset: Offset by this amount of trades.
+ :param order_by_id: Sort trades by id (default: True). If False, sorts by latest timestamp.
:return: json object
"""
params = {}
@@ -267,6 +268,8 @@ class FtRestClient:
params["limit"] = limit
if offset:
params["offset"] = offset
+ if order_by_id:
+ params["order_by_id"] = True
return self._get("trades", params)
def list_open_trades_custom_data(self, key=None, limit=100, offset=0):
diff --git a/ft_client/test_client/test_rest_client.py b/ft_client/test_client/test_rest_client.py
index c1af6ded2..9d5e484aa 100644
--- a/ft_client/test_client/test_rest_client.py
+++ b/ft_client/test_client/test_rest_client.py
@@ -85,6 +85,8 @@ def test_FtRestClient_call_invalid(caplog):
("trades", [], {}),
("trades", [5], {}),
("trades", [5, 5], {}), # With offset
+ ("trades", [5, 5, True], {}), # Explicit order_by_id=True
+ ("trades", [5, 5, False], {}), # order_by_id=False
("trade", [1], {}),
("delete_trade", [1], {}),
("cancel_open_order", [1], {}),
@@ -127,6 +129,10 @@ def test_FtRestClient_call_invalid(caplog):
("pair_candles", ["XRP/USDT", "5m", 500], {"columns": ["close_time,close"]}),
("pair_history", ["XRP/USDT", "5m", "SampleStrategy"], {}),
("pair_history", ["XRP/USDT", "5m"], {"strategy": "SampleStrategy"}),
+ ("trades", [], {"order_by_id": True}),
+ ("trades", [], {"order_by_id": False}),
+ ("trades", [5], {"order_by_id": False}),
+ ("trades", [5, 5], {"order_by_id": True}),
("sysinfo", [], {}),
("health", [], {}),
],
diff --git a/pyproject.toml b/pyproject.toml
index edc6c8a0a..998896937 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -265,7 +265,7 @@ extend-select = [
# "RSE", # flake8-raise
# "TCH", # flake8-type-checking
"PTH", # flake8-use-pathlib
- # "RUF", # ruff
+ "RUF", # ruff
"ASYNC", # flake8-async
"NPY", # numpy
]
@@ -280,6 +280,9 @@ extend-ignore = [
"S607", # Starting a process with a partial executable path
"S608", # Possible SQL injection vector through string-based query construction
"NPY002", # Numpy legacy random generator
+ "RUF010", # Use explicit conversion flag
+ "RUF012", # mutable-class-default
+ "RUF022", # unsorted-dunder-all
]
[tool.ruff.lint.mccabe]
@@ -289,7 +292,7 @@ max-complexity = 12
"freqtrade/freqai/**/*.py" = [
"S311", # Standard pseudo-random generators are not suitable for cryptographic purposes
]
-"tests/**/*.py" = [
+"tests/**.py" = [
"S101", # allow assert in tests
"S104", # Possible binding to all interfaces
"S311", # Standard pseudo-random generators are not suitable for cryptographic purposes
@@ -298,7 +301,11 @@ max-complexity = 12
"S110", # `try`-`except`-`pass` detected, consider logging the exception
]
-"ft_client/test_client/**/*.py" = [
+"freqtrade/templates/**.py" = [
+ "RUF100", # Allow unused noqa
+]
+
+"ft_client/test_client/**.py" = [
"S101", # allow assert in tests
]
diff --git a/requirements-dev.txt b/requirements-dev.txt
index aaa58632f..472a289cc 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -7,12 +7,12 @@
-r docs/requirements-docs.txt
coveralls==4.0.1
-ruff==0.11.2
+ruff==0.11.8
mypy==1.15.0
pre-commit==4.2.0
pytest==8.3.5
-pytest-asyncio==0.25.3
-pytest-cov==6.0.0
+pytest-asyncio==0.26.0
+pytest-cov==6.1.1
pytest-mock==3.14.0
pytest-random-order==1.1.1
pytest-timeout==2.3.1
@@ -27,6 +27,6 @@ nbconvert==7.16.6
# mypy types
types-cachetools==5.5.0.20240820
types-filelock==3.2.7
-types-requests==2.32.0.20250306
+types-requests==2.32.0.20250328
types-tabulate==0.9.0.20241207
types-python-dateutil==2.9.0.20241206
diff --git a/requirements-freqai-rl.txt b/requirements-freqai-rl.txt
index 413feec8f..61333c6f9 100644
--- a/requirements-freqai-rl.txt
+++ b/requirements-freqai-rl.txt
@@ -2,8 +2,7 @@
-r requirements-freqai.txt
# Required for freqai-rl
-torch==2.2.2; sys_platform == 'darwin' and platform_machine == 'x86_64'
-torch==2.6.0; sys_platform != 'darwin' or platform_machine != 'x86_64'
+torch==2.7.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.4.1; sys_platform == 'darwin' and platform_machine == 'x86_64'
diff --git a/requirements-freqai.txt b/requirements-freqai.txt
index 57c012a8b..69687225a 100644
--- a/requirements-freqai.txt
+++ b/requirements-freqai.txt
@@ -4,8 +4,8 @@
# Required for freqai
scikit-learn==1.6.1
-joblib==1.4.2
-catboost==1.2.7; 'arm' not in platform_machine
+joblib==1.5.0
+catboost==1.2.8; 'arm' not in platform_machine
lightgbm==4.6.0
xgboost==2.1.4
tensorboard==2.19.0
diff --git a/requirements.txt b/requirements.txt
index 928954c21..0348e45dc 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,26 +4,27 @@ bottleneck==1.4.2
numexpr==2.10.2
pandas-ta==0.3.14b
-ccxt==4.4.69
-cryptography==44.0.2
+ccxt==4.4.78
+cryptography==44.0.3
aiohttp==3.9.5
-SQLAlchemy==2.0.39
+SQLAlchemy==2.0.40
python-telegram-bot==22.0
# can't be hard-pinned due to telegram-bot pinning httpx with ~
httpx>=0.24.1
-humanize==4.12.1
+humanize==4.12.3
cachetools==5.5.2
requests==2.32.3
-urllib3==2.3.0
+urllib3==2.4.0
+certifi==2025.01.31
jsonschema==4.23.0
TA-Lib==0.4.38
technical==1.5.0
tabulate==0.9.0
pycoingecko==3.2.0
jinja2==3.1.6
-joblib==1.4.2
-rich==13.9.4
-pyarrow==19.0.1; platform_machine != 'armv7l'
+joblib==1.5.0
+rich==14.0.0
+pyarrow==20.0.0; platform_machine != 'armv7l'
# find first, C search in arrays
py_find_1st==1.1.7
@@ -31,25 +32,25 @@ py_find_1st==1.1.7
# Load ticker files 30% faster
python-rapidjson==1.20
# Properly format api responses
-orjson==3.10.15
+orjson==3.10.18
# Notify systemd
sdnotify==0.3.2
# API Server
fastapi==0.115.12
-pydantic==2.10.6
-uvicorn==0.34.0
+pydantic==2.11.4
+uvicorn==0.34.2
pyjwt==2.10.1
aiofiles==24.1.0
psutil==7.0.0
# Building config files interactively
questionary==2.1.0
-prompt-toolkit==3.0.50
+prompt-toolkit==3.0.51
# Extensions to datetime library
python-dateutil==2.9.0.post0
-pytz==2025.1
+pytz==2025.2
#Futures
schedule==1.2.2
@@ -59,4 +60,4 @@ websockets==15.0.1
janus==2.0.0
ast-comments==1.2.2
-packaging==24.2
+packaging==25.0
diff --git a/tests/commands/test_commands.py b/tests/commands/test_commands.py
index 65a43b795..9dd5ffebc 100644
--- a/tests/commands/test_commands.py
+++ b/tests/commands/test_commands.py
@@ -709,18 +709,38 @@ def test_download_and_install_ui(mocker, tmp_path):
def test_get_ui_download_url(mocker):
response = MagicMock()
- response.json = MagicMock(
- side_effect=[
- [{"assets_url": "http://whatever.json", "name": "0.0.1"}],
- [{"browser_download_url": "http://download.zip"}],
- ]
- )
+ responses = [
+ [
+ {
+ # Pre-release is ignored
+ "assets_url": "http://whatever.json",
+ "name": "0.0.2",
+ "created_at": "2024-02-01T00:00:00Z",
+ "prerelease": True,
+ },
+ {
+ "assets_url": "http://whatever.json",
+ "name": "0.0.1",
+ "created_at": "2024-01-01T00:00:00Z",
+ "prerelease": False,
+ },
+ ],
+ [{"browser_download_url": "http://download.zip"}],
+ ]
+ response.json = MagicMock(side_effect=responses)
get_mock = mocker.patch("freqtrade.commands.deploy_ui.requests.get", return_value=response)
- x, last_version = get_ui_download_url()
+ x, last_version = get_ui_download_url(None, False)
assert get_mock.call_count == 2
assert last_version == "0.0.1"
assert x == "http://download.zip"
+ response.json = MagicMock(side_effect=responses)
+ get_mock.reset_mock()
+ x, last_version = get_ui_download_url(None, True)
+ assert get_mock.call_count == 2
+ assert last_version == "0.0.2"
+ assert x == "http://download.zip"
+
def test_get_ui_download_url_direct(mocker):
response = MagicMock()
@@ -729,29 +749,33 @@ def test_get_ui_download_url_direct(mocker):
{
"assets_url": "http://whatever.json",
"name": "0.0.2",
+ "created_at": "2024-02-01T00:00:00Z",
+ "prerelease": False,
"assets": [{"browser_download_url": "http://download22.zip"}],
},
{
"assets_url": "http://whatever.json",
"name": "0.0.1",
+ "created_at": "2024-01-01T00:00:00Z",
+ "prerelease": False,
"assets": [{"browser_download_url": "http://download1.zip"}],
},
]
)
get_mock = mocker.patch("freqtrade.commands.deploy_ui.requests.get", return_value=response)
- x, last_version = get_ui_download_url()
+ x, last_version = get_ui_download_url(None, False)
assert get_mock.call_count == 1
assert last_version == "0.0.2"
assert x == "http://download22.zip"
get_mock.reset_mock()
response.json.reset_mock()
- x, last_version = get_ui_download_url("0.0.1")
+ x, last_version = get_ui_download_url("0.0.1", False)
assert last_version == "0.0.1"
assert x == "http://download1.zip"
with pytest.raises(ValueError, match="UI-Version not found."):
- x, last_version = get_ui_download_url("0.0.3")
+ x, last_version = get_ui_download_url("0.0.3", False)
def test_download_data_keyboardInterrupt(mocker, markets):
diff --git a/tests/commands/test_startup_time.py b/tests/commands/test_startup_time.py
index 5e9b369d8..62baab20a 100644
--- a/tests/commands/test_startup_time.py
+++ b/tests/commands/test_startup_time.py
@@ -1,4 +1,4 @@
-import subprocess
+import subprocess # noqa: S404, RUF100
import time
from tests.conftest import is_arm, is_mac
diff --git a/tests/conftest.py b/tests/conftest.py
index 06dd23f79..892b49d8c 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -48,7 +48,7 @@ from tests.conftest_trades_usdt import (
logging.getLogger("").setLevel(logging.INFO)
-# Do not mask numpy errors as warnings that no one read, raise the exсeption
+# Do not mask numpy errors as warnings that no one read, raise the exception
np.seterr(all="raise")
CURRENT_TEST_STRATEGY = "StrategyTestV3"
@@ -165,7 +165,7 @@ def generate_trades_history(n_rows, start_date: datetime | None = None, days=5):
)
df["date"] = pd.to_datetime(df["timestamp"], unit="ms", utc=True)
df = df.sort_values("timestamp").reset_index(drop=True)
- assert list(df.columns) == constants.DEFAULT_TRADES_COLUMNS + ["date"]
+ assert list(df.columns) == [*constants.DEFAULT_TRADES_COLUMNS, "date"]
return df
diff --git a/tests/conftest_hyperopt.py b/tests/conftest_hyperopt.py
index 315b138cf..3b9638bad 100644
--- a/tests/conftest_hyperopt.py
+++ b/tests/conftest_hyperopt.py
@@ -34,7 +34,7 @@ def hyperopt_test_result():
"roi_p2": 0.12508730043628782,
"roi_p3": 0.27766427921605896,
"stoploss": -0.2562930402099556,
- }, # noqa: E501
+ },
"params_details": {
"buy": {
"mfi-value": 15,
@@ -65,7 +65,7 @@ def hyperopt_test_result():
2139: 0,
},
"stoploss": {"stoploss": -0.2562930402099556},
- }, # noqa: E501
+ },
"results_metrics": {
"total_trades": 2,
"trade_count_long": 2,
@@ -82,7 +82,7 @@ def hyperopt_test_result():
"holding_avg": timedelta(minutes=3930.0),
"stake_currency": "BTC",
"strategy_name": "SampleStrategy",
- }, # noqa: E501
+ },
"results_explanation": " 2 trades. Avg profit -1.25%. Total profit -0.00125625 BTC ( -2.51Σ%). Avg duration 3930.0 min.", # noqa: E501
"total_profit": -0.00125625,
"current_epoch": 1,
@@ -118,7 +118,7 @@ def hyperopt_test_result():
"roi_p2": 0.055519840060645045,
"roi_p3": 0.3253712811342459,
"stoploss": -0.338070047333259,
- }, # noqa: E501
+ },
"params_details": {
"buy": {
"mfi-value": 17,
@@ -130,7 +130,7 @@ def hyperopt_test_result():
"adx-enabled": True,
"rsi-enabled": True,
"trigger": "macd_cross_signal",
- }, # noqa: E501
+ },
"sell": {
"sell-mfi-value": 96,
"sell-fastd-value": 68,
@@ -141,13 +141,13 @@ def hyperopt_test_result():
"sell-adx-enabled": True,
"sell-rsi-enabled": True,
"sell-trigger": "sell-sar_reversal",
- }, # noqa: E501
+ },
"roi": {
0: 0.4449309386008759,
140: 0.11955965746663,
823: 0.06403981740598495,
1157: 0,
- }, # noqa: E501
+ },
"stoploss": {"stoploss": -0.338070047333259},
},
"results_metrics": {
@@ -164,7 +164,7 @@ def hyperopt_test_result():
"max_drawdown_account": 0.23,
"max_drawdown_abs": -0.00125625,
"holding_avg": timedelta(minutes=1200.0),
- }, # noqa: E501
+ },
"results_explanation": " 1 trades. Avg profit 0.12%. Total profit 0.00006185 BTC ( 0.12Σ%). Avg duration 1200.0 min.", # noqa: E501
"total_profit": 6.185e-05,
"current_epoch": 2,
@@ -200,7 +200,7 @@ def hyperopt_test_result():
"roi_p2": 0.1488819964638463,
"roi_p3": 0.4102801822104605,
"stoploss": -0.05394588767607611,
- }, # noqa: E501
+ },
"params_details": {
"buy": {
"mfi-value": 25,
@@ -231,7 +231,7 @@ def hyperopt_test_result():
1685: 0,
},
"stoploss": {"stoploss": -0.05394588767607611},
- }, # noqa: E501
+ },
"results_metrics": {
"total_trades": 621,
"trade_count_long": 621,
@@ -246,7 +246,7 @@ def hyperopt_test_result():
"max_drawdown_account": 0.25,
"max_drawdown_abs": -272.515306,
"holding_avg": timedelta(minutes=1691.207729468599),
- }, # noqa: E501
+ },
"results_explanation": " 621 trades. Avg profit -0.44%. Total profit -0.13639474 BTC (-272.52Σ%). Avg duration 1691.2 min.", # noqa: E501
"total_profit": -0.13639474,
"current_epoch": 3,
@@ -282,7 +282,7 @@ def hyperopt_test_result():
"roi_p2": 0.14258587851894644,
"roi_p3": 0.20671291201040828,
"stoploss": -0.11818343570194478,
- }, # noqa: E501
+ },
"params_details": {
"buy": {
"mfi-value": 13,
@@ -313,7 +313,7 @@ def hyperopt_test_result():
2293: 0,
},
"stoploss": {"stoploss": -0.11818343570194478},
- }, # noqa: E501
+ },
"results_metrics": {
"total_trades": 0,
"trade_count_long": 0,
@@ -327,13 +327,13 @@ def hyperopt_test_result():
"max_drawdown_account": 0.0,
"max_drawdown_abs": 0.0,
"holding_avg": timedelta(),
- }, # noqa: E501
+ },
"results_explanation": " 0 trades. Avg profit nan%. Total profit 0.00000000 BTC ( 0.00Σ%). Avg duration nan min.", # noqa: E501
"total_profit": 0,
"current_epoch": 4,
"is_initial_point": True,
"is_random": False,
- "is_best": False, # noqa: E501
+ "is_best": False,
},
{
"loss": 0.22195522184191518,
@@ -363,7 +363,7 @@ def hyperopt_test_result():
"roi_p2": 0.08946698095898986,
"roi_p3": 0.1454876733325284,
"stoploss": -0.18181041180901014,
- }, # noqa: E501
+ },
"params_details": {
"buy": {
"mfi-value": 17,
@@ -394,7 +394,7 @@ def hyperopt_test_result():
2314: 0,
},
"stoploss": {"stoploss": -0.18181041180901014},
- }, # noqa: E501
+ },
"results_metrics": {
"total_trades": 14,
"trade_count_long": 14,
@@ -409,7 +409,7 @@ def hyperopt_test_result():
"max_drawdown_account": 0.34,
"max_drawdown_abs": -4.955321,
"holding_avg": timedelta(minutes=3402.8571428571427),
- }, # noqa: E501
+ },
"results_explanation": " 14 trades. Avg profit -0.35%. Total profit -0.00248014 BTC ( -4.96Σ%). Avg duration 3402.9 min.", # noqa: E501
"total_profit": -0.002480140000000001,
"current_epoch": 5,
@@ -445,7 +445,7 @@ def hyperopt_test_result():
"roi_p2": 0.11659519602202795,
"roi_p3": 0.0953744132197762,
"stoploss": -0.024551752215582423,
- }, # noqa: E501
+ },
"params_details": {
"buy": {
"mfi-value": 22,
@@ -476,7 +476,7 @@ def hyperopt_test_result():
1091: 0,
},
"stoploss": {"stoploss": -0.024551752215582423},
- }, # noqa: E501
+ },
"results_metrics": {
"total_trades": 39,
"trade_count_long": 39,
@@ -491,7 +491,7 @@ def hyperopt_test_result():
"max_drawdown_account": 0.45,
"max_drawdown_abs": -4.955321,
"holding_avg": timedelta(minutes=636.9230769230769),
- }, # noqa: E501
+ },
"results_explanation": " 39 trades. Avg profit -0.21%. Total profit -0.00417730 BTC ( -8.35Σ%). Avg duration 636.9 min.", # noqa: E501
"total_profit": -0.0041773,
"current_epoch": 6,
@@ -527,7 +527,7 @@ def hyperopt_test_result():
"roi_p2": 0.04984118697312542,
"roi_p3": 0.37521058680247044,
"stoploss": -0.14613268022709905,
- }, # noqa: E501
+ },
"params_details": {
"buy": {
"mfi-value": 13,
@@ -556,9 +556,9 @@ def hyperopt_test_result():
145: 0.10853310701097472,
765: 0.0586919200378493,
1536: 0,
- }, # noqa: E501
+ },
"stoploss": {"stoploss": -0.14613268022709905},
- }, # noqa: E501
+ },
"results_metrics": {
"total_trades": 318,
"trade_count_long": 318,
@@ -573,7 +573,7 @@ def hyperopt_test_result():
"max_drawdown_account": 0.50,
"max_drawdown_abs": -200.955321,
"holding_avg": timedelta(minutes=3140.377358490566),
- }, # noqa: E501
+ },
"results_explanation": " 318 trades. Avg profit -0.40%. Total profit -0.06339929 BTC (-126.67Σ%). Avg duration 3140.4 min.", # noqa: E501
"total_profit": -0.06339929,
"current_epoch": 7,
@@ -582,7 +582,7 @@ def hyperopt_test_result():
"is_best": False,
},
{
- "loss": 20.0, # noqa: E501
+ "loss": 20.0,
"params_dict": {
"mfi-value": 24,
"fastd-value": 43,
@@ -609,7 +609,7 @@ def hyperopt_test_result():
"roi_p2": 0.0606240398618907,
"roi_p3": 0.1729012220156157,
"stoploss": -0.1588514289110401,
- }, # noqa: E501
+ },
"params_details": {
"buy": {
"mfi-value": 24,
@@ -640,7 +640,7 @@ def hyperopt_test_result():
1813: 0,
},
"stoploss": {"stoploss": -0.1588514289110401},
- }, # noqa: E501
+ },
"results_metrics": {
"total_trades": 1,
"trade_count_long": 1,
@@ -655,7 +655,7 @@ def hyperopt_test_result():
"max_drawdown_account": 0.0,
"max_drawdown_abs": 0.52,
"holding_avg": timedelta(minutes=5340.0),
- }, # noqa: E501
+ },
"results_explanation": " 1 trades. Avg profit 0.00%. Total profit 0.00000000 BTC ( 0.00Σ%). Avg duration 5340.0 min.", # noqa: E501
"total_profit": 0.0,
"current_epoch": 8,
@@ -691,7 +691,7 @@ def hyperopt_test_result():
"roi_p2": 0.10335480573205287,
"roi_p3": 0.10322347377503042,
"stoploss": -0.2780610808108503,
- }, # noqa: E501
+ },
"params_details": {
"buy": {
"mfi-value": 22,
@@ -722,7 +722,7 @@ def hyperopt_test_result():
2018: 0,
},
"stoploss": {"stoploss": -0.2780610808108503},
- }, # noqa: E501
+ },
"results_metrics": {
"total_trades": 229,
"trade_count_long": 229,
@@ -737,16 +737,16 @@ def hyperopt_test_result():
"max_drawdown_account": 0.41,
"max_drawdown_abs": -150.955321,
"holding_avg": timedelta(minutes=6505.676855895196),
- }, # noqa: E501
+ },
"results_explanation": " 229 trades. Avg profit -0.38%. Total profit -0.04405007 BTC ( -88.01Σ%). Avg duration 6505.7 min.", # noqa: E501
- "total_profit": -0.044050070000000004, # noqa: E501
+ "total_profit": -0.044050070000000004,
"current_epoch": 9,
"is_initial_point": True,
"is_random": False,
"is_best": False,
},
{
- "loss": -0.2604606005845212, # noqa: E501
+ "loss": -0.2604606005845212,
"params_dict": {
"mfi-value": 23,
"fastd-value": 24,
@@ -773,7 +773,7 @@ def hyperopt_test_result():
"roi_p2": 0.09623192684243963,
"roi_p3": 0.04428219070850663,
"stoploss": -0.16992287161634415,
- }, # noqa: E501
+ },
"params_details": {
"buy": {
"mfi-value": 23,
@@ -804,7 +804,7 @@ def hyperopt_test_result():
1471: 0,
},
"stoploss": {"stoploss": -0.16992287161634415},
- }, # noqa: E501
+ },
"results_metrics": {
"total_trades": 4,
"trade_count_long": 4,
@@ -819,7 +819,7 @@ def hyperopt_test_result():
"max_drawdown_account": 0.13,
"max_drawdown_abs": -4.955321,
"holding_avg": timedelta(minutes=2850.0),
- }, # noqa: E501
+ },
"results_explanation": " 4 trades. Avg profit 0.11%. Total profit 0.00021629 BTC ( 0.43Σ%). Avg duration 2850.0 min.", # noqa: E501
"total_profit": 0.00021629,
"current_epoch": 10,
@@ -828,7 +828,7 @@ def hyperopt_test_result():
"is_best": True,
},
{
- "loss": 4.876465945994304, # noqa: E501
+ "loss": 4.876465945994304,
"params_dict": {
"mfi-value": 20,
"fastd-value": 32,
@@ -855,7 +855,7 @@ def hyperopt_test_result():
"roi_p2": 0.1352282078262871,
"roi_p3": 0.1913307406325751,
"stoploss": -0.25728526022513887,
- }, # noqa: E501
+ },
"params_details": {
"buy": {
"mfi-value": 20,
@@ -886,7 +886,7 @@ def hyperopt_test_result():
1466: 0,
},
"stoploss": {"stoploss": -0.25728526022513887},
- }, # noqa: E501
+ },
# New Hyperopt mode!
"results_metrics": {
"total_trades": 117,
@@ -902,7 +902,7 @@ def hyperopt_test_result():
"max_drawdown_account": 0.52,
"max_drawdown_abs": -224.955321,
"holding_avg": timedelta(minutes=4282.5641025641025),
- }, # noqa: E501
+ },
"results_explanation": " 117 trades. Avg profit -1.27%. Total profit -0.07436117 BTC (-148.57Σ%). Avg duration 4282.6 min.", # noqa: E501
"total_profit": -0.07436117,
"current_epoch": 11,
@@ -938,7 +938,7 @@ def hyperopt_test_result():
"roi_p2": 0.12473718444931989,
"roi_p3": 0.2896360635226823,
"stoploss": -0.30889015124682806,
- }, # noqa: E501
+ },
"params_details": {
"buy": {
"mfi-value": 10,
@@ -969,7 +969,7 @@ def hyperopt_test_result():
2145: 0,
},
"stoploss": {"stoploss": -0.30889015124682806},
- }, # noqa: E501
+ },
"results_metrics": {
"total_trades": 0,
"trade_count_long": 0,
@@ -984,7 +984,7 @@ def hyperopt_test_result():
"max_drawdown_account": 0.0,
"max_drawdown_abs": 0.0,
"holding_avg": timedelta(),
- }, # noqa: E501
+ },
"results_explanation": " 0 trades. Avg profit nan%. Total profit 0.00000000 BTC ( 0.00Σ%). Avg duration nan min.", # noqa: E501
"total_profit": 0,
"current_epoch": 12,
diff --git a/tests/data/test_btanalysis.py b/tests/data/test_btanalysis.py
index eec3ac4e4..6531c6e2e 100644
--- a/tests/data/test_btanalysis.py
+++ b/tests/data/test_btanalysis.py
@@ -56,7 +56,7 @@ def test_get_latest_backtest_filename(testdatadir, mocker):
res = get_latest_backtest_filename(str(testdir_bt))
assert res == "backtest-result.json"
- mocker.patch("freqtrade.data.btanalysis.json_load", return_value={})
+ mocker.patch("freqtrade.data.btanalysis.bt_fileutils.json_load", return_value={})
with pytest.raises(ValueError, match=r"Invalid '.last_result.json' format."):
get_latest_backtest_filename(testdir_bt)
@@ -84,8 +84,8 @@ def test_load_backtest_metadata(mocker, testdatadir):
res = load_backtest_metadata(testdatadir / "nonexistent.file.json")
assert res == {}
- mocker.patch("freqtrade.data.btanalysis.get_backtest_metadata_filename")
- mocker.patch("freqtrade.data.btanalysis.json_load", side_effect=Exception())
+ mocker.patch("freqtrade.data.btanalysis.bt_fileutils.get_backtest_metadata_filename")
+ mocker.patch("freqtrade.data.btanalysis.bt_fileutils.json_load", side_effect=Exception())
with pytest.raises(
OperationalException, match=r"Unexpected error.*loading backtest metadata\."
):
@@ -94,7 +94,7 @@ def test_load_backtest_metadata(mocker, testdatadir):
def test_load_backtest_data_old_format(testdatadir, mocker):
filename = testdatadir / "backtest-result_test222.json"
- mocker.patch("freqtrade.data.btanalysis.load_backtest_stats", return_value=[])
+ mocker.patch("freqtrade.data.btanalysis.bt_fileutils.load_backtest_stats", return_value=[])
with pytest.raises(
OperationalException,
@@ -149,7 +149,7 @@ def test_load_backtest_data_multi(testdatadir):
def test_load_trades_from_db(default_conf, fee, is_short, mocker):
create_mock_trades(fee, is_short)
# remove init so it does not init again
- init_mock = mocker.patch("freqtrade.data.btanalysis.init_db", MagicMock())
+ init_mock = mocker.patch("freqtrade.data.btanalysis.bt_fileutils.init_db", MagicMock())
trades = load_trades_from_db(db_url=default_conf["db_url"])
assert init_mock.call_count == 1
@@ -221,8 +221,10 @@ def test_analyze_trade_parallelism(testdatadir):
def test_load_trades(default_conf, mocker):
- db_mock = mocker.patch("freqtrade.data.btanalysis.load_trades_from_db", MagicMock())
- bt_mock = mocker.patch("freqtrade.data.btanalysis.load_backtest_data", MagicMock())
+ db_mock = mocker.patch(
+ "freqtrade.data.btanalysis.bt_fileutils.load_trades_from_db", MagicMock()
+ )
+ bt_mock = mocker.patch("freqtrade.data.btanalysis.bt_fileutils.load_backtest_data", MagicMock())
load_trades(
"DB",
@@ -268,6 +270,14 @@ def test_calculate_market_change(testdatadir):
assert isinstance(result, float)
assert pytest.approx(result) == 0.01100002
+ result = calculate_market_change(data, min_date=dt_utc(2018, 1, 20))
+ assert isinstance(result, float)
+ assert pytest.approx(result) == 0.0375149
+
+ # Move min-date after the last date
+ result = calculate_market_change(data, min_date=dt_utc(2018, 2, 20))
+ assert pytest.approx(result) == 0.0
+
def test_combine_dataframes_with_mean(testdatadir):
pairs = ["ETH/BTC", "ADA/BTC"]
@@ -562,14 +572,15 @@ def test_calculate_max_drawdown2():
assert pytest.approx(drawdown.relative_account_drawdown) == 0.32129575
df = DataFrame(zip(values[:5], dates[:5], strict=False), columns=["profit", "open_date"])
- with pytest.raises(ValueError, match="No losing trade, therefore no drawdown."):
- calculate_max_drawdown(df, date_col="open_date", value_col="profit")
+ # No losing trade ...
+ drawdown = calculate_max_drawdown(df, date_col="open_date", value_col="profit")
+ assert drawdown.drawdown_abs == 0.0
df1 = DataFrame(zip(values[:5], dates[:5], strict=False), columns=["profit", "open_date"])
df1.loc[:, "profit"] = df1["profit"] * -1
# No winning trade ...
drawdown = calculate_max_drawdown(df1, date_col="open_date", value_col="profit")
- assert drawdown.drawdown_abs == 0.043965
+ assert drawdown.drawdown_abs == 0.055545
@pytest.mark.parametrize(
diff --git a/tests/data/test_entryexitanalysis.py b/tests/data/test_entryexitanalysis.py
index 509c9b92c..63ac3c1a3 100644
--- a/tests/data/test_entryexitanalysis.py
+++ b/tests/data/test_entryexitanalysis.py
@@ -139,7 +139,7 @@ def test_backtest_analysis_on_entry_and_rejected_signals_nomock(
# test group 0 and indicator list
args = get_args(
- base_args + ["--analysis-groups", "0", "--indicator-list", "close", "rsi", "profit_abs"]
+ [*base_args, "--analysis-groups", "0", "--indicator-list", "close", "rsi", "profit_abs"]
)
start_analysis_entries_exits(args)
captured = capsys.readouterr()
@@ -172,7 +172,7 @@ def test_backtest_analysis_on_entry_and_rejected_signals_nomock(
assert "profit_abs" in captured.out
# test group 1
- args = get_args(base_args + ["--analysis-groups", "1"])
+ args = get_args([*base_args, "--analysis-groups", "1"])
start_analysis_entries_exits(args)
captured = capsys.readouterr()
assert "enter_tag_long_a" in captured.out
@@ -185,7 +185,7 @@ def test_backtest_analysis_on_entry_and_rejected_signals_nomock(
assert "0" in captured.out
# test group 2
- args = get_args(base_args + ["--analysis-groups", "2"])
+ args = get_args([*base_args, "--analysis-groups", "2"])
start_analysis_entries_exits(args)
captured = capsys.readouterr()
assert "enter_tag_long_a" in captured.out
@@ -200,7 +200,7 @@ def test_backtest_analysis_on_entry_and_rejected_signals_nomock(
assert "2.5" in captured.out
# test group 3
- args = get_args(base_args + ["--analysis-groups", "3"])
+ args = get_args([*base_args, "--analysis-groups", "3"])
start_analysis_entries_exits(args)
captured = capsys.readouterr()
assert "LTC/BTC" in captured.out
@@ -215,7 +215,7 @@ def test_backtest_analysis_on_entry_and_rejected_signals_nomock(
assert "2" in captured.out
# test group 4
- args = get_args(base_args + ["--analysis-groups", "4"])
+ args = get_args([*base_args, "--analysis-groups", "4"])
start_analysis_entries_exits(args)
captured = capsys.readouterr()
assert "LTC/BTC" in captured.out
@@ -235,7 +235,7 @@ def test_backtest_analysis_on_entry_and_rejected_signals_nomock(
assert "2.5" in captured.out
# test group 5
- args = get_args(base_args + ["--analysis-groups", "5"])
+ args = get_args([*base_args, "--analysis-groups", "5"])
start_analysis_entries_exits(args)
captured = capsys.readouterr()
assert "exit_signal" in captured.out
@@ -245,7 +245,7 @@ def test_backtest_analysis_on_entry_and_rejected_signals_nomock(
# test date filtering
args = get_args(
- base_args + ["--analysis-groups", "0", "1", "2", "--timerange", "20180129-20180130"]
+ [*base_args, "--analysis-groups", "0", "1", "2", "--timerange", "20180129-20180130"]
)
start_analysis_entries_exits(args)
captured = capsys.readouterr()
@@ -253,7 +253,7 @@ def test_backtest_analysis_on_entry_and_rejected_signals_nomock(
assert "enter_tag_long_b" not in captured.out
# Due to the backtest mock, there's no rejected signals generated.
- args = get_args(base_args + ["--rejected-signals"])
+ args = get_args([*base_args, "--rejected-signals"])
start_analysis_entries_exits(args)
captured = capsys.readouterr()
assert "no rejected signals" in captured.out
@@ -379,8 +379,8 @@ def test_backtest_analysis_with_invalid_config(
# test with both entry and exit only arguments
args = get_args(
- base_args
- + [
+ [
+ *base_args,
"--analysis-groups",
"0",
"--indicator-list",
@@ -518,8 +518,8 @@ def test_backtest_analysis_on_entry_and_rejected_signals_only_entry_signals(
# test group 0 and indicator list
args = get_args(
- base_args
- + [
+ [
+ *base_args,
"--analysis-groups",
"0",
"--indicator-list",
diff --git a/tests/exchange/test_binance.py b/tests/exchange/test_binance.py
index 998952b33..5241b3b69 100644
--- a/tests/exchange/test_binance.py
+++ b/tests/exchange/test_binance.py
@@ -299,7 +299,7 @@ def test_liquidation_price_binance(
def get_maint_ratio(pair_, stake_amount):
if pair_ != pair:
- oc = [c for c in open_trades if c["pair"] == pair_][0]
+ oc = next(c for c in open_trades if c["pair"] == pair_)
return oc["mm_ratio"], oc["maintenance_amt"]
return mm_ratio, maintenance_amt
diff --git a/tests/exchange/test_exchange.py b/tests/exchange/test_exchange.py
index f32f177ea..f9f7dd9a1 100644
--- a/tests/exchange/test_exchange.py
+++ b/tests/exchange/test_exchange.py
@@ -2838,6 +2838,11 @@ def test_get_next_limit_in_list():
assert Exchange.get_next_limit_in_list(21, None) == 21
assert Exchange.get_next_limit_in_list(100, None) == 100
assert Exchange.get_next_limit_in_list(1000, None) == 1000
+ # With upper limit
+ assert Exchange.get_next_limit_in_list(1000, None, upper_limit=None) == 1000
+ assert Exchange.get_next_limit_in_list(1000, None, upper_limit=500) == 500
+ # with upper limit and range, limit_range wins
+ assert Exchange.get_next_limit_in_list(1000, limit_range, upper_limit=500) == 1000
@pytest.mark.parametrize("exchange_name", EXCHANGES)
@@ -5594,11 +5599,13 @@ def test_liquidation_price_is_none(
def test_get_max_pair_stake_amount(
mocker,
default_conf,
+ leverage_tiers,
):
api_mock = MagicMock()
default_conf["margin_mode"] = "isolated"
default_conf["trading_mode"] = "futures"
exchange = get_patched_exchange(mocker, default_conf, api_mock)
+ exchange._leverage_tiers = leverage_tiers
markets = {
"XRP/USDT:USDT": {
"limits": {
@@ -5662,11 +5669,23 @@ def test_get_max_pair_stake_amount(
"contractSize": 0.01,
"spot": False,
},
+ "ZEC/USDT:USDT": {
+ "limits": {
+ "amount": {"min": 0.001, "max": None},
+ "cost": {"min": 5, "max": None},
+ },
+ "contractSize": 1,
+ "spot": False,
+ },
}
mocker.patch(f"{EXMS}.markets", markets)
assert exchange.get_max_pair_stake_amount("XRP/USDT:USDT", 2.0) == 20000
assert exchange.get_max_pair_stake_amount("XRP/USDT:USDT", 2.0, 5) == 4000
+ # limit leverage tiers
+ assert exchange.get_max_pair_stake_amount("ZEC/USDT:USDT", 2.0, 5) == 100_000
+ assert exchange.get_max_pair_stake_amount("ZEC/USDT:USDT", 2.0, 50) == 1000
+
assert exchange.get_max_pair_stake_amount("LTC/USDT:USDT", 2.0) == float("inf")
assert exchange.get_max_pair_stake_amount("ETH/USDT:USDT", 2.0) == 200
assert exchange.get_max_pair_stake_amount("DOGE/USDT:USDT", 2.0) == 500
@@ -5897,8 +5916,8 @@ def test_get_max_leverage_futures(default_conf, mocker, leverage_tiers):
assert exchange.get_max_leverage("XRP/USDT:USDT", 1.0) == 20.0
assert exchange.get_max_leverage("BNB/USDT:USDT", 100.0) == 75.0
assert exchange.get_max_leverage("BTC/USDT:USDT", 170.30) == 125.0
- assert pytest.approx(exchange.get_max_leverage("XRP/USDT:USDT", 99999.9)) == 5.000005
- assert pytest.approx(exchange.get_max_leverage("BNB/USDT:USDT", 1500)) == 33.333333333333333
+ assert pytest.approx(exchange.get_max_leverage("XRP/USDT:USDT", 99999.9)) == 5
+ assert pytest.approx(exchange.get_max_leverage("BNB/USDT:USDT", 1500)) == 25
assert exchange.get_max_leverage("BTC/USDT:USDT", 300000000) == 2.0
assert exchange.get_max_leverage("BTC/USDT:USDT", 600000000) == 1.0 # Last tier
diff --git a/tests/exchange/test_kraken.py b/tests/exchange/test_kraken.py
index 5cfdac15f..fd36a359d 100644
--- a/tests/exchange/test_kraken.py
+++ b/tests/exchange/test_kraken.py
@@ -71,7 +71,7 @@ def test_get_balances_prod_kraken(default_conf, mocker):
"4TH": balance_item.copy(),
"EUR": balance_item.copy(),
"BTC": {"free": 0.0, "total": 0.0, "used": 0.0},
- "XBT.F": balance_item.copy(),
+ "BTC.F": balance_item.copy(),
"timestamp": 123123,
}
)
diff --git a/tests/exchange_online/conftest.py b/tests/exchange_online/conftest.py
index 8eedcfb01..f7cf49aa4 100644
--- a/tests/exchange_online/conftest.py
+++ b/tests/exchange_online/conftest.py
@@ -156,7 +156,7 @@ EXCHANGES = {
"ADA.F": {"free": 2.0, "total": 2.0, "used": 0.0},
"BTC": {"free": 0.0006, "total": 0.0006, "used": 0.0},
# XBT.F should be mapped to BTC.F
- "XBT.F": {"free": 0.001, "total": 0.001, "used": 0.0},
+ "BTC.F": {"free": 0.001, "total": 0.001, "used": 0.0},
},
},
},
diff --git a/tests/freqtradebot/test_worker.py b/tests/freqtradebot/test_worker.py
index 1dfdca5b2..6423e63ee 100644
--- a/tests/freqtradebot/test_worker.py
+++ b/tests/freqtradebot/test_worker.py
@@ -3,6 +3,7 @@ import time
from datetime import timedelta
from unittest.mock import MagicMock, PropertyMock
+import pytest
import time_machine
from freqtrade.data.dataprovider import DataProvider
@@ -38,6 +39,25 @@ def test_worker_running(mocker, default_conf, caplog) -> None:
assert isinstance(worker.freqtrade.strategy.dp, DataProvider)
+def test_worker_paused(mocker, default_conf, caplog) -> None:
+ mock_throttle = MagicMock()
+ mocker.patch("freqtrade.worker.Worker._throttle", mock_throttle)
+ mocker.patch("freqtrade.persistence.Trade.stoploss_reinitialization", MagicMock())
+
+ worker = get_patched_worker(mocker, default_conf)
+
+ worker.freqtrade.state = State.PAUSED
+ state = worker._worker(old_state=State.RUNNING)
+
+ assert state is State.PAUSED
+ assert log_has("Changing state from RUNNING to: PAUSED", caplog)
+ assert mock_throttle.call_count == 1
+ # Check strategy is loaded, and received a dataprovider object
+ assert worker.freqtrade.strategy
+ assert worker.freqtrade.strategy.dp
+ assert isinstance(worker.freqtrade.strategy.dp, DataProvider)
+
+
def test_worker_stopped(mocker, default_conf, caplog) -> None:
mock_throttle = MagicMock()
mocker.patch("freqtrade.worker.Worker._throttle", mock_throttle)
@@ -50,6 +70,54 @@ def test_worker_stopped(mocker, default_conf, caplog) -> None:
assert mock_throttle.call_count == 1
+@pytest.mark.parametrize(
+ "old_state,target_state,startup_call,log_fragment",
+ [
+ (State.STOPPED, State.PAUSED, True, "Changing state from STOPPED to: PAUSED"),
+ (State.RUNNING, State.PAUSED, False, "Changing state from RUNNING to: PAUSED"),
+ (State.PAUSED, State.RUNNING, False, "Changing state from PAUSED to: RUNNING"),
+ (State.PAUSED, State.STOPPED, False, "Changing state from PAUSED to: STOPPED"),
+ (State.RELOAD_CONFIG, State.RUNNING, True, "Changing state from RELOAD_CONFIG to: RUNNING"),
+ (
+ State.RELOAD_CONFIG,
+ State.STOPPED,
+ False,
+ "Changing state from RELOAD_CONFIG to: STOPPED",
+ ),
+ ],
+)
+def test_worker_lifecycle(
+ mocker,
+ default_conf,
+ caplog,
+ old_state,
+ target_state,
+ startup_call,
+ log_fragment,
+):
+ mock_throttle = mocker.MagicMock()
+ mocker.patch("freqtrade.worker.Worker._throttle", mock_throttle)
+ mocker.patch("freqtrade.persistence.Trade.stoploss_reinitialization")
+ startup = mocker.patch("freqtrade.freqtradebot.FreqtradeBot.startup")
+
+ worker = get_patched_worker(mocker, default_conf)
+ worker.freqtrade.state = target_state
+
+ new_state = worker._worker(old_state=old_state)
+
+ assert new_state is target_state
+ assert log_has(log_fragment, caplog)
+ assert mock_throttle.call_count == 1
+ assert startup.call_count == (1 if startup_call else 0)
+
+ # For any state where the strategy should be initialized
+ if target_state in (State.RUNNING, State.PAUSED):
+ assert worker.freqtrade.strategy
+ assert isinstance(worker.freqtrade.strategy.dp, DataProvider)
+ else:
+ assert new_state is State.STOPPED
+
+
def test_throttle(mocker, default_conf, caplog) -> None:
def throttled_func():
return 42
diff --git a/tests/optimize/__init__.py b/tests/optimize/__init__.py
index cdc42956f..38d86439c 100644
--- a/tests/optimize/__init__.py
+++ b/tests/optimize/__init__.py
@@ -69,8 +69,8 @@ def _build_backtest_dataframe(data):
]
if len(data[0]) == 8:
# No short columns
- data = [d + [0, 0] for d in data]
- columns = columns + ["enter_tag"] if len(data[0]) == 11 else columns
+ data = [[*d, 0, 0] for d in data]
+ columns = [*columns, "enter_tag"] if len(data[0]) == 11 else columns
frame = DataFrame.from_records(data, columns=columns)
frame["date"] = frame["date"].apply(_get_frame_time_from_offset)
diff --git a/tests/optimize/test_backtest_detail.py b/tests/optimize/test_backtest_detail.py
index 736c4dcab..2e5ab41de 100644
--- a/tests/optimize/test_backtest_detail.py
+++ b/tests/optimize/test_backtest_detail.py
@@ -102,7 +102,7 @@ tc3 = BTContainer(
)
# Test 4: Minus 3% / recovery +15%
-# Candle Data for test 3 – Candle drops 3% Closed 15% up
+# Candle Data for test 3 - Candle drops 3% Closed 15% up
# Test with Stop-loss at 2% ROI 6%
# Stop-Loss Triggered 2% Loss
tc4 = BTContainer(
diff --git a/tests/optimize/test_backtesting.py b/tests/optimize/test_backtesting.py
index d5bc7d5b4..2973a4a49 100644
--- a/tests/optimize/test_backtesting.py
+++ b/tests/optimize/test_backtesting.py
@@ -828,6 +828,7 @@ def test_backtest_one(default_conf, mocker, testdatadir) -> None:
},
],
],
+ "funding_fees": [0.0, 0.0],
}
)
pd.testing.assert_frame_equal(results, expected)
@@ -991,7 +992,7 @@ def test_backtest_one_detail_futures(
timerange=timerange,
candle_type=CandleType.FUTURES,
)
- backtesting.load_bt_data_detail()
+ backtesting._load_bt_data_detail()
processed = backtesting.strategy.advise_all_indicators(data)
min_date, max_date = get_timerange(processed)
@@ -1119,7 +1120,7 @@ def test_backtest_one_detail_futures_funding_fees(
timerange=timerange,
candle_type=CandleType.FUTURES,
)
- backtesting.load_bt_data_detail()
+ backtesting._load_bt_data_detail()
processed = backtesting.strategy.advise_all_indicators(data)
min_date, max_date = get_timerange(processed)
@@ -2576,7 +2577,7 @@ def test_backtest_start_multi_strat_caching(
],
)
mocker.patch.multiple(
- "freqtrade.data.btanalysis",
+ "freqtrade.data.btanalysis.bt_fileutils",
load_backtest_metadata=load_backtest_metadata,
load_backtest_stats=load_backtest_stats,
)
diff --git a/tests/optimize/test_backtesting_adjust_position.py b/tests/optimize/test_backtesting_adjust_position.py
index c9e8c9eeb..ea7d94d4d 100644
--- a/tests/optimize/test_backtesting_adjust_position.py
+++ b/tests/optimize/test_backtesting_adjust_position.py
@@ -80,6 +80,7 @@ def test_backtest_position_adjustment(default_conf, fee, mocker, testdatadir) ->
"is_short": [False, False],
"open_timestamp": [1517251200000, 1517283000000],
"close_timestamp": [1517263200000, 1517285400000],
+ "funding_fees": [0.0, 0.0],
}
)
results_no = results.drop(columns=["orders"])
diff --git a/tests/optimize/test_hyperopt.py b/tests/optimize/test_hyperopt.py
index 97d7c0464..5226c1128 100644
--- a/tests/optimize/test_hyperopt.py
+++ b/tests/optimize/test_hyperopt.py
@@ -685,7 +685,7 @@ def test_print_json_spaces_all(mocker, hyperopt_conf, capsys) -> None:
'{"params":{"mfi-value":null,"sell-mfi-value":null},"minimal_roi"'
':{},"stoploss":null,"trailing_stop":null,"max_open_trades":null}'
)
- assert result_str in out # noqa: E501
+ assert result_str in out
# Should be called for historical candle data
assert dumper.call_count == 1
assert dumper2.call_count == 1
@@ -742,7 +742,7 @@ def test_print_json_spaces_default(mocker, hyperopt_conf, capsys) -> None:
assert (
'{"params":{"mfi-value":null,"sell-mfi-value":null},"minimal_roi":{},"stoploss":null}'
in out
- ) # noqa: E501
+ )
# Should be called for historical candle data
assert dumper.call_count == 1
assert dumper2.call_count == 1
diff --git a/tests/optimize/test_hyperoptloss.py b/tests/optimize/test_hyperoptloss.py
index 8f1b1c786..6d3110509 100644
--- a/tests/optimize/test_hyperoptloss.py
+++ b/tests/optimize/test_hyperoptloss.py
@@ -153,6 +153,7 @@ def test_loss_calculation_has_limited_profit(hyperopt_conf, hyperopt_results) ->
"SharpeHyperOptLossDaily",
"MaxDrawDownHyperOptLoss",
"MaxDrawDownRelativeHyperOptLoss",
+ "MaxDrawDownPerPairHyperOptLoss",
"CalmarHyperOptLoss",
"ProfitDrawDownHyperOptLoss",
"MultiMetricHyperOptLoss",
@@ -165,6 +166,34 @@ def test_loss_functions_better_profits(default_conf, hyperopt_results, lossfunct
results_under = hyperopt_results.copy()
results_under["profit_abs"] = hyperopt_results["profit_abs"] / 2 - 0.2
results_under["profit_ratio"] = hyperopt_results["profit_ratio"] / 2
+ pair_results = [
+ {
+ "key": "ETH/USDT",
+ "max_drawdown_abs": 50.0,
+ "profit_total_abs": 100.0,
+ },
+ {
+ "key": "BTC/USDT",
+ "max_drawdown_abs": 50.0,
+ "profit_total_abs": 100.0,
+ },
+ ]
+ pair_results_over = [
+ {
+ **p,
+ "max_drawdown_abs": p["max_drawdown_abs"] * 0.5,
+ "profit_total_abs": p["profit_total_abs"] * 2,
+ }
+ for p in pair_results
+ ]
+ pair_results_under = [
+ {
+ **p,
+ "max_drawdown_abs": p["max_drawdown_abs"] * 2,
+ "profit_total_abs": p["profit_total_abs"] * 0.5,
+ }
+ for p in pair_results
+ ]
default_conf.update({"hyperopt_loss": lossfunction})
hl = HyperOptLossResolver.load_hyperoptloss(default_conf)
@@ -175,7 +204,10 @@ def test_loss_functions_better_profits(default_conf, hyperopt_results, lossfunct
max_date=datetime(2019, 5, 1),
config=default_conf,
processed=None,
- backtest_stats={"profit_total": hyperopt_results["profit_abs"].sum()},
+ backtest_stats={
+ "profit_total": hyperopt_results["profit_abs"].sum(),
+ "results_per_pair": pair_results,
+ },
starting_balance=default_conf["dry_run_wallet"],
)
over = hl.hyperopt_loss_function(
@@ -185,7 +217,10 @@ def test_loss_functions_better_profits(default_conf, hyperopt_results, lossfunct
max_date=datetime(2019, 5, 1),
config=default_conf,
processed=None,
- backtest_stats={"profit_total": results_over["profit_abs"].sum()},
+ backtest_stats={
+ "profit_total": results_over["profit_abs"].sum(),
+ "results_per_pair": pair_results_over,
+ },
starting_balance=default_conf["dry_run_wallet"],
)
under = hl.hyperopt_loss_function(
@@ -195,7 +230,10 @@ def test_loss_functions_better_profits(default_conf, hyperopt_results, lossfunct
max_date=datetime(2019, 5, 1),
config=default_conf,
processed=None,
- backtest_stats={"profit_total": results_under["profit_abs"].sum()},
+ backtest_stats={
+ "profit_total": results_under["profit_abs"].sum(),
+ "results_per_pair": pair_results_under,
+ },
starting_balance=default_conf["dry_run_wallet"],
)
assert over < correct
diff --git a/tests/optimize/test_optimize_reports.py b/tests/optimize/test_optimize_reports.py
index 9fb5ccae9..8943a7467 100644
--- a/tests/optimize/test_optimize_reports.py
+++ b/tests/optimize/test_optimize_reports.py
@@ -68,11 +68,21 @@ def test_text_table_bt_results(capsys):
"profit_ratio": [0.1, 0.2, -0.05],
"profit_abs": [0.2, 0.4, -0.1],
"trade_duration": [10, 30, 20],
+ "close_date": [
+ dt_utc(2017, 11, 14, 21, 35, 00),
+ dt_utc(2017, 11, 14, 22, 10, 00),
+ dt_utc(2017, 11, 14, 22, 43, 00),
+ ],
}
)
pair_results = generate_pair_metrics(
- ["ETH/BTC"], stake_currency="BTC", starting_balance=4, results=results
+ ["ETH/BTC"],
+ stake_currency="BTC",
+ starting_balance=4,
+ results=results,
+ min_date=dt_from_ts(1510688220),
+ max_date=dt_from_ts(1510700340),
)
text_table_bt_results(pair_results, stake_currency="BTC", title="title")
text = capsys.readouterr().out
@@ -420,6 +430,10 @@ def test_generate_pair_metrics():
"profit_ratio": [0.1, 0.2],
"profit_abs": [0.2, 0.4],
"trade_duration": [10, 30],
+ "close_date": [
+ dt_utc(2017, 11, 14, 21, 35, 00),
+ dt_utc(2017, 11, 14, 22, 10, 00),
+ ],
"wins": [2, 0],
"draws": [0, 0],
"losses": [0, 0],
@@ -427,7 +441,12 @@ def test_generate_pair_metrics():
)
pair_results = generate_pair_metrics(
- ["ETH/BTC"], stake_currency="BTC", starting_balance=2, results=results
+ ["ETH/BTC"],
+ stake_currency="BTC",
+ starting_balance=2,
+ results=results,
+ min_date=dt_from_ts(1510688220),
+ max_date=dt_from_ts(1510700340),
)
assert isinstance(pair_results, list)
assert len(pair_results) == 2
@@ -512,6 +531,11 @@ def test_text_table_exit_reason(capsys):
"profit_ratio": [0.1, 0.2, -0.1],
"profit_abs": [0.2, 0.4, -0.2],
"trade_duration": [10, 30, 10],
+ "close_date": [
+ dt_utc(2017, 11, 14, 21, 35, 00),
+ dt_utc(2017, 11, 14, 22, 10, 00),
+ dt_utc(2017, 11, 14, 22, 43, 00),
+ ],
"wins": [2, 0, 0],
"draws": [0, 0, 0],
"losses": [0, 0, 1],
@@ -520,7 +544,12 @@ def test_text_table_exit_reason(capsys):
)
exit_reason_stats = generate_tag_metrics(
- "exit_reason", starting_balance=22, results=results, skip_nan=False
+ "exit_reason",
+ starting_balance=22,
+ results=results,
+ min_date=dt_from_ts(1510688220),
+ max_date=dt_from_ts(1510700340),
+ skip_nan=False,
)
text_table_tags("exit_tag", exit_reason_stats, "BTC")
text = capsys.readouterr().out
@@ -550,6 +579,11 @@ def test_generate_sell_reason_stats():
"profit_ratio": [0.1, 0.2, -0.1],
"profit_abs": [0.2, 0.4, -0.2],
"trade_duration": [10, 30, 10],
+ "close_date": [
+ dt_utc(2017, 11, 14, 21, 35, 00),
+ dt_utc(2017, 11, 14, 22, 10, 00),
+ dt_utc(2017, 11, 14, 22, 43, 00),
+ ],
"wins": [2, 0, 0],
"draws": [0, 0, 0],
"losses": [0, 0, 1],
@@ -558,7 +592,12 @@ def test_generate_sell_reason_stats():
)
exit_reason_stats = generate_tag_metrics(
- "exit_reason", starting_balance=22, results=results, skip_nan=False
+ "exit_reason",
+ starting_balance=22,
+ results=results,
+ min_date=dt_from_ts(1510688220),
+ max_date=dt_from_ts(1510700340),
+ skip_nan=False,
)
roi_result = exit_reason_stats[0]
assert roi_result["key"] == "roi"
diff --git a/tests/persistence/test_persistence.py b/tests/persistence/test_persistence.py
index c30c27244..d07bd7192 100644
--- a/tests/persistence/test_persistence.py
+++ b/tests/persistence/test_persistence.py
@@ -880,68 +880,68 @@ def test_calc_close_trade_price(
"exchange,is_short,lev,close_rate,fee_close,profit,profit_ratio,trading_mode,funding_fees",
[
("binance", False, 1, 2.1, 0.0025, 2.6925, 0.044763092, spot, 0),
- ("binance", False, 3, 2.1, 0.0025, 2.69166667, 0.134247714, margin, 0),
+ ("binance", False, 3, 2.1, 0.0025, 8.075, 0.134247714, margin, 0),
("binance", True, 1, 2.1, 0.0025, -3.3088157, -0.055285142, margin, 0),
- ("binance", True, 3, 2.1, 0.0025, -3.3088157, -0.16585542, margin, 0),
+ ("binance", True, 3, 2.1, 0.0025, -9.92644709, -0.16585542, margin, 0),
("binance", False, 1, 1.9, 0.0025, -3.2925, -0.054738154, margin, 0),
- ("binance", False, 3, 1.9, 0.0025, -3.29333333, -0.164256026, margin, 0),
+ ("binance", False, 3, 1.9, 0.0025, -9.88, -0.164256026, margin, 0),
("binance", True, 1, 1.9, 0.0025, 2.70630953, 0.0452182043, margin, 0),
- ("binance", True, 3, 1.9, 0.0025, 2.70630953, 0.135654613, margin, 0),
+ ("binance", True, 3, 1.9, 0.0025, 8.11892859, 0.135654613, margin, 0),
("binance", False, 1, 2.2, 0.0025, 5.685, 0.09451371, margin, 0),
- ("binance", False, 3, 2.2, 0.0025, 5.68416667, 0.28349958, margin, 0),
+ ("binance", False, 3, 2.2, 0.0025, 17.0525, 0.28349958, margin, 0),
("binance", True, 1, 2.2, 0.0025, -6.3163784, -0.10553681, margin, 0),
- ("binance", True, 3, 2.2, 0.0025, -6.3163784, -0.31661044, margin, 0),
+ ("binance", True, 3, 2.2, 0.0025, -18.94913, -0.31661044, margin, 0),
# Kraken
("kraken", False, 1, 2.1, 0.0025, 2.6925, 0.044763092, spot, 0),
- ("kraken", False, 3, 2.1, 0.0025, 2.6525, 0.132294264, margin, 0),
+ ("kraken", False, 3, 2.1, 0.0025, 7.9575, 0.132294264, margin, 0),
("kraken", True, 1, 2.1, 0.0025, -3.3706575, -0.056318421, margin, 0),
- ("kraken", True, 3, 2.1, 0.0025, -3.3706575, -0.168955263, margin, 0),
+ ("kraken", True, 3, 2.1, 0.0025, -10.1119725, -0.168955263, margin, 0),
("kraken", False, 1, 1.9, 0.0025, -3.2925, -0.054738154, margin, 0),
- ("kraken", False, 3, 1.9, 0.0025, -3.3325, -0.166209476, margin, 0),
+ ("kraken", False, 3, 1.9, 0.0025, -9.9975, -0.166209476, margin, 0),
("kraken", True, 1, 1.9, 0.0025, 2.6503575, 0.044283333, margin, 0),
- ("kraken", True, 3, 1.9, 0.0025, 2.6503575, 0.132850000, margin, 0),
+ ("kraken", True, 3, 1.9, 0.0025, 7.9510725, 0.132850000, margin, 0),
("kraken", False, 1, 2.2, 0.0025, 5.685, 0.09451371, margin, 0),
- ("kraken", False, 3, 2.2, 0.0025, 5.645, 0.28154613, margin, 0),
+ ("kraken", False, 3, 2.2, 0.0025, 16.935, 0.28154613, margin, 0),
("kraken", True, 1, 2.2, 0.0025, -6.381165, -0.1066192, margin, 0),
- ("kraken", True, 3, 2.2, 0.0025, -6.381165, -0.3198578, margin, 0),
+ ("kraken", True, 3, 2.2, 0.0025, -19.143495, -0.3198578, margin, 0),
("binance", False, 1, 2.1, 0.003, 2.66100000, 0.044239401, spot, 0),
("binance", False, 1, 1.9, 0.003, -3.3209999, -0.055211970, spot, 0),
("binance", False, 1, 2.2, 0.003, 5.6520000, 0.093965087, spot, 0),
# FUTURES, funding_fee=1
("binance", False, 1, 2.1, 0.0025, 3.6925, 0.06138819, futures, 1),
- ("binance", False, 3, 2.1, 0.0025, 3.6925, 0.18416458, futures, 1),
+ ("binance", False, 3, 2.1, 0.0025, 9.0775, 0.15091438, futures, 1),
("binance", True, 1, 2.1, 0.0025, -2.3074999, -0.03855472, futures, 1),
- ("binance", True, 3, 2.1, 0.0025, -2.3074999, -0.11566416, futures, 1),
+ ("binance", True, 3, 2.1, 0.0025, -8.9225, -0.14908104, futures, 1),
("binance", False, 1, 1.9, 0.0025, -2.2925, -0.03811305, futures, 1),
- ("binance", False, 3, 1.9, 0.0025, -2.2925, -0.11433915, futures, 1),
+ ("binance", False, 3, 1.9, 0.0025, -8.8775, -0.14758936, futures, 1),
("binance", True, 1, 1.9, 0.0025, 3.7075, 0.06194653, futures, 1),
- ("binance", True, 3, 1.9, 0.0025, 3.7075, 0.18583959, futures, 1),
+ ("binance", True, 3, 1.9, 0.0025, 9.1225, 0.15242272, futures, 1),
("binance", False, 1, 2.2, 0.0025, 6.685, 0.11113881, futures, 1),
- ("binance", False, 3, 2.2, 0.0025, 6.685, 0.33341645, futures, 1),
+ ("binance", False, 3, 2.2, 0.0025, 18.055, 0.30016625, futures, 1),
("binance", True, 1, 2.2, 0.0025, -5.315, -0.08880534, futures, 1),
- ("binance", True, 3, 2.2, 0.0025, -5.315, -0.26641604, futures, 1),
+ ("binance", True, 3, 2.2, 0.0025, -17.945, -0.29983292, futures, 1),
# FUTURES, funding_fee=-1
("binance", False, 1, 2.1, 0.0025, 1.6925, 0.02813798, futures, -1),
- ("binance", False, 3, 2.1, 0.0025, 1.6925, 0.08441396, futures, -1),
+ ("binance", False, 3, 2.1, 0.0025, 7.0775, 0.11766417, futures, -1),
("binance", True, 1, 2.1, 0.0025, -4.307499, -0.07197159, futures, -1),
- ("binance", True, 3, 2.1, 0.0025, -4.307499, -0.21591478, futures, -1),
+ ("binance", True, 3, 2.1, 0.0025, -10.92249, -0.18249791, futures, -1),
("binance", False, 1, 1.9, 0.0025, -4.292499, -0.07136325, futures, -1),
- ("binance", False, 3, 1.9, 0.0025, -4.292499, -0.21408977, futures, -1),
+ ("binance", False, 3, 1.9, 0.0025, -10.87749, -0.18083957, futures, -1),
("binance", True, 1, 1.9, 0.0025, 1.7075, 0.02852965, futures, -1),
- ("binance", True, 3, 1.9, 0.0025, 1.7075, 0.08558897, futures, -1),
+ ("binance", True, 3, 1.9, 0.0025, 7.1225, 0.11900585, futures, -1),
("binance", False, 1, 2.2, 0.0025, 4.684999, 0.07788861, futures, -1),
- ("binance", False, 3, 2.2, 0.0025, 4.684999, 0.23366583, futures, -1),
+ ("binance", False, 3, 2.2, 0.0025, 16.055, 0.26691604, futures, -1),
("binance", True, 1, 2.2, 0.0025, -7.315, -0.12222222, futures, -1),
- ("binance", True, 3, 2.2, 0.0025, -7.315, -0.36666666, futures, -1),
+ ("binance", True, 3, 2.2, 0.0025, -19.945, -0.33324979, futures, -1),
# FUTURES, funding_fee=0
("binance", False, 1, 2.1, 0.0025, 2.6925, 0.04476309, futures, 0),
- ("binance", False, 3, 2.1, 0.0025, 2.6925, 0.13428928, futures, 0),
+ ("binance", False, 3, 2.1, 0.0025, 8.0775, 0.13428928, futures, 0),
("binance", True, 1, 2.1, 0.0025, -3.3074999, -0.05526316, futures, 0),
- ("binance", True, 3, 2.1, 0.0025, -3.3074999, -0.16578947, futures, 0),
+ ("binance", True, 3, 2.1, 0.0025, -9.9224997, -0.16578947, futures, 0),
("binance", False, 1, 1.9, 0.0025, -3.2925, -0.05473815, futures, 0),
- ("binance", False, 3, 1.9, 0.0025, -3.2925, -0.16421446, futures, 0),
+ ("binance", False, 3, 1.9, 0.0025, -9.8775, -0.16421446, futures, 0),
("binance", True, 1, 1.9, 0.0025, 2.7075, 0.0452381, futures, 0),
- ("binance", True, 3, 1.9, 0.0025, 2.7075, 0.13571429, futures, 0),
+ ("binance", True, 3, 1.9, 0.0025, 8.1225, 0.13571429, futures, 0),
],
)
@pytest.mark.usefixtures("init_persistence")
@@ -1162,7 +1162,7 @@ def test_calc_profit(
trade = Trade(
pair="ADA/USDT",
stake_amount=60.0,
- amount=30.0,
+ amount=30.0 * lev,
open_rate=2.0,
open_date=datetime.now(tz=timezone.utc) - timedelta(minutes=10),
interest_rate=0.0005,
@@ -1183,7 +1183,7 @@ def test_calc_profit(
assert pytest.approx(val) == profit_res.profit_abs
assert pytest.approx(profit_res.total_profit) == round(profit, 8)
- # assert pytest.approx(profit_res.total_profit_ratio) == round(profit_ratio, 8)
+ assert pytest.approx(profit_res.total_profit_ratio) == round(profit_ratio, 8)
assert pytest.approx(trade.calc_profit(rate=close_rate)) == round(profit, 8)
assert pytest.approx(trade.calc_profit_ratio(rate=close_rate)) == round(profit_ratio, 8)
@@ -1193,7 +1193,7 @@ def test_calc_profit(
assert pytest.approx(profit_res2.profit_ratio) == round(profit_ratio, 8)
assert pytest.approx(profit_res2.total_profit) == round(profit, 8)
- # assert pytest.approx(profit_res2.total_profit_ratio) == round(profit_ratio, 8)
+ assert pytest.approx(profit_res2.total_profit_ratio) == round(profit_ratio, 8)
assert pytest.approx(trade.calc_profit(close_rate, trade.amount, trade.open_rate)) == round(
profit, 8
diff --git a/tests/plugins/test_pairlist.py b/tests/plugins/test_pairlist.py
index a4f66a702..0f133242b 100644
--- a/tests/plugins/test_pairlist.py
+++ b/tests/plugins/test_pairlist.py
@@ -281,7 +281,7 @@ def test_remove_logs_for_pairs_already_in_blacklist(mocker, markets, static_pl_c
for _ in range(3):
new_whitelist = freqtrade.pairlists.verify_blacklist(
- whitelist + ["BLK/BTC"], logger.warning
+ [*whitelist, "BLK/BTC"], logger.warning
)
# Ensure that the pair is removed from the white list, and properly logged.
assert set(whitelist) == set(new_whitelist)
@@ -2032,11 +2032,7 @@ def test_expand_pairlist(wildcardlist, pairs, expected):
},
}
assert sorted(dynamic_expand_pairlist(conf, pairs)) == sorted(
- expected
- + [
- "BTC/USDT:USDT",
- "XRP/BUSD",
- ]
+ [*expected, "BTC/USDT:USDT", "XRP/BUSD"]
)
@@ -2138,7 +2134,7 @@ def test_ProducerPairlist(mocker, whitelist_conf, markets):
dp = DataProvider(whitelist_conf, exchange, None)
pairs = ["ETH/BTC", "LTC/BTC", "XRP/BTC"]
# different producer
- dp._set_producer_pairs(pairs + ["MEEP/USDT"], "default")
+ dp._set_producer_pairs([*pairs, "MEEP/USDT"], "default")
pm = PairListManager(exchange, whitelist_conf, dp)
pm.refresh_pairlist()
assert pm.whitelist == []
@@ -2161,7 +2157,7 @@ def test_ProducerPairlist(mocker, whitelist_conf, markets):
pm = PairListManager(exchange, whitelist_conf, dp)
pm.refresh_pairlist()
assert len(pm.whitelist) == 4
- assert pm.whitelist == ["TKN/BTC"] + pairs
+ assert pm.whitelist == ["TKN/BTC", *pairs]
@pytest.mark.usefixtures("init_persistence")
diff --git a/tests/plugins/test_protections.py b/tests/plugins/test_protections.py
index bec2671eb..ef2c7e1d3 100644
--- a/tests/plugins/test_protections.py
+++ b/tests/plugins/test_protections.py
@@ -19,8 +19,8 @@ def generate_mock_trade(
fee: float,
is_open: bool,
exit_reason: str = ExitType.EXIT_SIGNAL,
- min_ago_open: int = None,
- min_ago_close: int = None,
+ min_ago_open: int | None = None,
+ min_ago_close: int | None = None,
profit_rate: float = 0.9,
is_short: bool = False,
):
diff --git a/tests/rpc/test_rpc.py b/tests/rpc/test_rpc.py
index cb67d089e..7d1b87b55 100644
--- a/tests/rpc/test_rpc.py
+++ b/tests/rpc/test_rpc.py
@@ -197,7 +197,7 @@ def test_rpc_trade_status(default_conf, ticker, fee, mocker) -> None:
response.update(
{
"max_stake_amount": 0.001,
- "total_profit_ratio": pytest.approx(-0.00409153),
+ "total_profit_ratio": pytest.approx(-0.00408133),
"has_open_orders": False,
}
)
@@ -228,7 +228,8 @@ def test_rpc_trade_status(default_conf, ticker, fee, mocker) -> None:
assert results[0] == response_norate
-def test_rpc_status_table(default_conf, ticker, fee, mocker) -> None:
+def test_rpc_status_table(default_conf, ticker, fee, mocker, time_machine) -> None:
+ time_machine.move_to("2024-05-10 11:15:00 +00:00", tick=False)
mocker.patch.multiple(
"freqtrade.rpc.fiat_convert.FtCoinGeckoApi",
get_price=MagicMock(return_value={"bitcoin": {"usd": 15000.0}}),
@@ -806,19 +807,19 @@ def test_rpc_stop(mocker, default_conf) -> None:
assert freqtradebot.state == State.STOPPED
-def test_rpc_stopentry(mocker, default_conf) -> None:
+def test_rpc_pause(mocker, default_conf) -> None:
mocker.patch("freqtrade.rpc.telegram.Telegram", MagicMock())
mocker.patch.multiple(EXMS, fetch_ticker=MagicMock())
freqtradebot = get_patched_freqtradebot(mocker, default_conf)
patch_get_signal(freqtradebot)
rpc = RPC(freqtradebot)
- freqtradebot.state = State.RUNNING
+ freqtradebot.state = State.PAUSED
- assert freqtradebot.config["max_open_trades"] != 0
- result = rpc._rpc_stopentry()
- assert {"status": "No more entries will occur from now. Run /reload_config to reset."} == result
- assert freqtradebot.config["max_open_trades"] == 0
+ result = rpc._rpc_pause()
+ assert {
+ "status": "paused, no more entries will occur from now. Run /start to enable entries."
+ } == result
def test_rpc_force_exit(default_conf, ticker, fee, mocker) -> None:
diff --git a/tests/rpc/test_rpc_apiserver.py b/tests/rpc/test_rpc_apiserver.py
index 99d8350e9..c327a416b 100644
--- a/tests/rpc/test_rpc_apiserver.py
+++ b/tests/rpc/test_rpc_apiserver.py
@@ -533,23 +533,26 @@ def test_api_reloadconf(botclient):
assert ftbot.state == State.RELOAD_CONFIG
-def test_api_stopentry(botclient):
+def test_api_pause(botclient):
ftbot, client = botclient
- assert ftbot.config["max_open_trades"] != 0
- rc = client_post(client, f"{BASE_URI}/stopbuy")
+ rc = client_post(client, f"{BASE_URI}/pause")
assert_response(rc)
assert rc.json() == {
- "status": "No more entries will occur from now. Run /reload_config to reset."
+ "status": "paused, no more entries will occur from now. Run /start to enable entries."
+ }
+
+ rc = client_post(client, f"{BASE_URI}/pause")
+ assert_response(rc)
+ assert rc.json() == {
+ "status": "paused, no more entries will occur from now. Run /start to enable entries."
}
- assert ftbot.config["max_open_trades"] == 0
rc = client_post(client, f"{BASE_URI}/stopentry")
assert_response(rc)
assert rc.json() == {
- "status": "No more entries will occur from now. Run /reload_config to reset."
+ "status": "paused, no more entries will occur from now. Run /start to enable entries."
}
- assert ftbot.config["max_open_trades"] == 0
def test_api_balance(botclient, mocker, rpc_balance, tickers):
@@ -773,12 +776,28 @@ def test_api_trades(botclient, mocker, fee, markets, is_short):
assert rc.json()["trades_count"] == 2
assert rc.json()["total_trades"] == 2
assert rc.json()["trades"][0]["is_short"] == is_short
+ # Ensure the trades are sorted by trade_id (the default, see below)
+ assert rc.json()["trades"][0]["trade_id"] == 2
+ assert rc.json()["trades"][1]["trade_id"] == 3
+
rc = client_get(client, f"{BASE_URI}/trades?limit=1")
assert_response(rc)
assert len(rc.json()["trades"]) == 1
assert rc.json()["trades_count"] == 1
assert rc.json()["total_trades"] == 2
+ # Test ascending order (default)
+ rc = client_get(client, f"{BASE_URI}/trades?order_by_id=true")
+ assert_response(rc)
+ assert rc.json()["trades"][0]["trade_id"] == 2
+ assert rc.json()["trades"][1]["trade_id"] == 3
+
+ # Test descending order
+ rc = client_get(client, f"{BASE_URI}/trades?order_by_id=false")
+ assert_response(rc)
+ assert rc.json()["trades"][0]["trade_id"] == 3
+ assert rc.json()["trades"][1]["trade_id"] == 2
+
@pytest.mark.parametrize("is_short", [True, False])
def test_api_trade_single(botclient, mocker, fee, ticker, markets, is_short):
@@ -1845,7 +1864,21 @@ def test_api_pair_candles(botclient, ohlcv_history):
ohlcv_history["exit_short"] = 0
ftbot.dataprovider._set_cached_df("XRP/BTC", timeframe, ohlcv_history, CandleType.SPOT)
+ fake_plot_annotations = [
+ {
+ "type": "area",
+ "start": "2024-01-01 15:00:00",
+ "end": "2024-01-01 16:00:00",
+ "y_start": 94000.2,
+ "y_end": 98000,
+ "color": "",
+ "label": "some label",
+ }
+ ]
+ plot_annotations_mock = MagicMock(return_value=fake_plot_annotations)
+ ftbot.strategy.plot_annotations = plot_annotations_mock
for call in ("get", "post"):
+ plot_annotations_mock.reset_mock()
if call == "get":
rc = client_get(
client,
@@ -1875,6 +1908,8 @@ def test_api_pair_candles(botclient, ohlcv_history):
assert resp["data_start_ts"] == 1511686200000
assert resp["data_stop"] == "2017-11-26 09:00:00+00:00"
assert resp["data_stop_ts"] == 1511686800000
+ assert resp["annotations"] == fake_plot_annotations
+ assert plot_annotations_mock.call_count == 1
assert isinstance(resp["columns"], list)
base_cols = {
"date",
@@ -2203,8 +2238,8 @@ def test_api_pair_history(botclient, tmp_path, mocker):
assert len(result["columns"]) == col_count
assert len(result["all_columns"]) == 25
assert len(data[0]) == col_count
- date_col_idx = [idx for idx, c in enumerate(result["columns"]) if c == "date"][0]
- rsi_col_idx = [idx for idx, c in enumerate(result["columns"]) if c == "rsi"][0]
+ date_col_idx = next(idx for idx, c in enumerate(result["columns"]) if c == "date")
+ rsi_col_idx = next(idx for idx, c in enumerate(result["columns"]) if c == "rsi")
assert data[0][date_col_idx] == "2018-01-11T00:00:00Z"
assert data[0][rsi_col_idx] is not None
@@ -2216,6 +2251,7 @@ def test_api_pair_history(botclient, tmp_path, mocker):
assert result["data_start_ts"] == 1515628800000
assert result["data_stop"] == "2018-01-12 00:00:00+00:00"
assert result["data_stop_ts"] == 1515715200000
+ assert result["annotations"] == []
lfm.reset_mock()
# No data found
@@ -2429,7 +2465,7 @@ def test_api_exchanges(botclient):
response = rc.json()
assert isinstance(response["exchanges"], list)
assert len(response["exchanges"]) > 20
- okx = [x for x in response["exchanges"] if x["classname"] == "okx"][0]
+ okx = next(x for x in response["exchanges"] if x["classname"] == "okx")
assert okx == {
"classname": "okx",
"name": "OKX",
@@ -2445,7 +2481,7 @@ def test_api_exchanges(botclient):
],
}
- mexc = [x for x in response["exchanges"] if x["classname"] == "mexc"][0]
+ mexc = next(x for x in response["exchanges"] if x["classname"] == "mexc")
assert mexc == {
"classname": "mexc",
"name": "MEXC Global",
@@ -2457,7 +2493,7 @@ def test_api_exchanges(botclient):
"alias_for": None,
"trade_modes": [{"trading_mode": "spot", "margin_mode": ""}],
}
- waves = [x for x in response["exchanges"] if x["classname"] == "wavesexchange"][0]
+ waves = next(x for x in response["exchanges"] if x["classname"] == "wavesexchange")
assert waves == {
"classname": "wavesexchange",
"name": "Waves.Exchange",
@@ -2551,10 +2587,10 @@ def test_api_pairlists_available(botclient, tmp_path):
assert len([r for r in response["pairlists"] if r["name"] == "VolumePairList"]) == 1
assert len([r for r in response["pairlists"] if r["name"] == "StaticPairList"]) == 1
- volumepl = [r for r in response["pairlists"] if r["name"] == "VolumePairList"][0]
+ volumepl = next(r for r in response["pairlists"] if r["name"] == "VolumePairList")
assert volumepl["is_pairlist_generator"] is True
assert len(volumepl["params"]) > 1
- age_pl = [r for r in response["pairlists"] if r["name"] == "AgeFilter"][0]
+ age_pl = next(r for r in response["pairlists"] if r["name"] == "AgeFilter")
assert age_pl["is_pairlist_generator"] is False
assert len(volumepl["params"]) > 2
@@ -2850,7 +2886,7 @@ def test_api_backtesting(botclient, mocker, fee, caplog, tmp_path):
def test_api_backtest_history(botclient, mocker, testdatadir):
ftbot, client = botclient
mocker.patch(
- "freqtrade.data.btanalysis._get_backtest_files",
+ "freqtrade.data.btanalysis.bt_fileutils._get_backtest_files",
return_value=[
testdatadir / "backtest_results/backtest-result_multistrat.json",
testdatadir / "backtest_results/backtest-result.json",
diff --git a/tests/rpc/test_rpc_telegram.py b/tests/rpc/test_rpc_telegram.py
index 71ce557e2..3409cc0e5 100644
--- a/tests/rpc/test_rpc_telegram.py
+++ b/tests/rpc/test_rpc_telegram.py
@@ -169,7 +169,7 @@ def test_telegram_init(default_conf, mocker, caplog) -> None:
"['stats'], ['daily'], ['weekly'], ['monthly'], "
"['count'], ['locks'], ['delete_locks', 'unlock'], "
"['reload_conf', 'reload_config'], ['show_conf', 'show_config'], "
- "['stopbuy', 'stopentry'], ['whitelist'], ['blacklist'], "
+ "['pause', 'stopbuy', 'stopentry'], ['whitelist'], ['blacklist'], "
"['bl_delete', 'blacklist_delete'], "
"['logs'], ['edge'], ['health'], ['help'], ['version'], ['marketdir'], "
"['order'], ['list_custom_data'], ['tg_info']]"
@@ -1222,15 +1222,15 @@ async def test_stop_handle_already_stopped(default_conf, update, mocker) -> None
assert "already stopped" in msg_mock.call_args_list[0][0][0]
-async def test_stopbuy_handle(default_conf, update, mocker) -> None:
+async def test_pause_handle(default_conf, update, mocker) -> None:
telegram, freqtradebot, msg_mock = get_telegram_testobject(mocker, default_conf)
- assert freqtradebot.config["max_open_trades"] != 0
- await telegram._stopentry(update=update, context=MagicMock())
- assert freqtradebot.config["max_open_trades"] == 0
+ assert freqtradebot.state == State.RUNNING
+ await telegram._pause(update=update, context=MagicMock())
+ assert freqtradebot.state == State.PAUSED
assert msg_mock.call_count == 1
assert (
- "No more entries will occur from now. Run /reload_config to reset."
+ "paused, no more entries will occur from now. Run /start to enable entries."
in msg_mock.call_args_list[0][0][0]
)
diff --git a/tests/test_arguments.py b/tests/test_arguments.py
index 1d48acb96..913f4759d 100644
--- a/tests/test_arguments.py
+++ b/tests/test_arguments.py
@@ -5,11 +5,54 @@ from unittest.mock import MagicMock
import pytest
-from freqtrade.commands import Arguments
-from freqtrade.commands.cli_options import check_int_nonzero, check_int_positive
+from freqtrade.commands import Arguments, arguments
+from freqtrade.commands.cli_options import (
+ AVAILABLE_CLI_OPTIONS,
+ check_int_nonzero,
+ check_int_positive,
+)
from tests.conftest import CURRENT_TEST_STRATEGY
+def test_available_cli_options():
+ """
+ AVAILABLE_CLI_OPTIONS has keys that are the union of the values in all ARGS_* - required by CLI
+ each of the ARGS_* lists has a list of members which is assumed to also
+ be in AVAILABLE_CLI_OPTIONS
+ """
+ args_union = {
+ arg
+ for variable, value in vars(arguments).items()
+ if variable.startswith("ARGS_")
+ for arg in value
+ }
+ expected_options = set(AVAILABLE_CLI_OPTIONS)
+ only_in_command_args = expected_options.difference(args_union)
+ only_in_all_args = args_union.difference(expected_options)
+ if only_in_all_args or only_in_command_args:
+ pytest.fail(
+ "variables around command line arguments not kept in sync:\n"
+ f" * args only in some ARGS_* list but not AVAILABLE_CLI_OPTIONS: {only_in_all_args}\n"
+ " * args only in AVAILABLE_CLI_OPTIONS but not some ARGS_* list: "
+ f"{only_in_command_args}"
+ )
+
+
+def test_arguments_match_available_cli_options(monkeypatch):
+ """All entries in AVAILABLE_CLI_OPTIONS are used in argument parsing."""
+ parsed_options = set()
+ actual_build_args = Arguments._build_args
+
+ def build_args_monitor(self, optionlist, parser):
+ parsed_options.update(optionlist)
+ return actual_build_args(self, optionlist=optionlist, parser=parser)
+
+ monkeypatch.setattr(Arguments, "_build_args", build_args_monitor)
+ # this will result in a parser being built so we can check the arguments used
+ Arguments([]).get_parsed_arg()
+ assert parsed_options == set(AVAILABLE_CLI_OPTIONS)
+
+
# Parse common command-line-arguments. Used for all tools
def test_parse_args_none() -> None:
arguments = Arguments(["trade"])