• Руководство пользователя
    • Заметки о безопасности
      Заметки о безопасности
    • Online/Desktop приложения
      • Управление аккаунтом
        • Создать аккаунт
          Создать аккаунт
        • Войти в аккаунт
          Войти в аккаунт
        • Создать Резервную Копию Seed-фразы
          Создать Резервную Копию Seed-фразы
        • Восстановить аккаунт
          Восстановить аккаунт
        • Узнать свой адрес
          Узнать свой адрес
        • Создать персональный алиас
          Создать персональный алиас
        • Импорт из Keeper Wallet
          Импорт из Keeper Wallet
        • Использовать устройства Legder Nano
          Использовать устройства Legder Nano
        Управление аккаунтом
      • Управление токенами
        • Ввод и вывод токенов
          • Транзакции
            Транзакции
          Ввод и вывод токенов
        • Создать токен
          Создать токен
        • Массовая отправка
          Массовая отправка
        • Перевыпустить токен
          Перевыпустить токен
        • Поменять перевыпускаемый на не перевыпускаемый
          Поменять перевыпускаемый на не перевыпускаемый
        • Сжечь токен
          Сжечь токен
        • Спонсорская транзакция
          Спонсорская транзакция
        • Спонсорская комиссия
          Спонсорская комиссия
        • Своп токенов
          Своп токенов
        Управление токенами
      • Инвестиционные инструменты
        • Передать в стейкинг
          • Как получить XTN (Quick Guide)
            Как получить XTN (Quick Guide)
          • Как получить USDT/USDC/BTC/ETH (Quick Guide)
            Как получить USDT/USDC/BTC/ETH (Quick Guide)
          Передать в стейкинг
        • Lambo инвестиции
          Lambo инвестиции
        • Алгоритмическая торговля
          Алгоритмическая торговля
        Инвестиционные инструменты
      • Пулы ликвидности
        • Как максимально увеличить пассивный доход от пулов ликвидности?
          Как максимально увеличить пассивный доход от пулов ликвидности?
        • Как внести/вывести токены в/из пул(а) ликвидности?
          Как внести/вывести токены в/из пул(а) ликвидности?
        • Как сдать в стейкинг/забрать из стейкинга LP-токены?
          Как сдать в стейкинг/забрать из стейкинга LP-токены?
        • Как забрать вознаграждение в WX-токене за стейкинг LP-токена?
          Как забрать вознаграждение в WX-токене за стейкинг LP-токена?
        • Как сдать WX-токен в стейкинг, чтобы увеличить доход за стейкинг LP-токена?
          Как сдать WX-токен в стейкинг, чтобы увеличить доход за стейкинг LP-токена?
        • Как забрать вознаграждения за WX стейкинг?
          Как забрать вознаграждения за WX стейкинг?
        • Протокол WX-токена
          Протокол WX-токена
        Пулы ликвидности
      • Голосование
        Голосование
      • Расширенные возможности
        • Script транзакции
          Script транзакции
        • JSON подтверждение
          JSON подтверждение
        Расширенные возможности
      • Торговля на бирже
        Торговля на бирже
      Online/Desktop приложения
    • Мобильные приложения
      • Приложение WX Network
        Приложение WX Network
      • Приложение Waves.Exchange
        • Управление аккаунтом
          • Создать аккаунт
            Создать аккаунт
          • Войти в аккаунт
            Войти в аккаунт
          • Восстановить аккаунт
            Восстановить аккаунт
          • Узнать свой адрес
            Узнать свой адрес
          • Создать персональный алиас
            Создать персональный алиас
          Управление аккаунтом
        • Управление токенами
          • Ввод и вывод токенов
            Ввод и вывод токенов
          • Сжечь токен
            Сжечь токен
          Управление токенами
        • Торговля на бирже
          Торговля на бирже
        Приложение Waves.Exchange
      • Приложение WX Invest
        Приложение WX Invest
      Мобильные приложения
    • Работа с MetaMask в сети Waves
      Работа с MetaMask в сети Waves
    • Реферальная программа WX
      Реферальная программа WX
    Руководство пользователя
  • API и библиотека
    • CCXT
      CCXT
    • Комиссии
      Комиссии
    • API платежей
      API платежей
    • API авторизации
      API авторизации
    • API шлюза
      • Внесение средств
        • [Deprecated] GET /v1/deposit/addresses/{currency}
          [Deprecated] GET /v1/deposit/addresses/{currency}
        • GET /v1/deposit/addresses/{currency}/{platform}
          GET /v1/deposit/addresses/{currency}/{platform}
        • GET /v1/deposit/currencies
          GET /v1/deposit/currencies
        • [Deprecated] GET /v1/deposit/currencies/{currency}
          [Deprecated] GET /v1/deposit/currencies/{currency}
        • GET /v1/deposit/currencies/{currency}/{platform}
          GET /v1/deposit/currencies/{currency}/{platform}
        • Terms of Deposit
          Terms of Deposit
        Внесение средств
      • Вывод средств
        • [Deprecated] GET /v1/withdraw/addresses/{currency}/{address}
          [Deprecated] GET /v1/withdraw/addresses/{currency}/{address}
        • GET /v1/withdraw/addresses/{currency}/{address}/{platform}
          GET /v1/withdraw/addresses/{currency}/{address}/{platform}
        • GET /v1/withdraw/currencies
          GET /v1/withdraw/currencies
        • [Deprecated] GET /v1/withdraw/currencies/{currency}
          [Deprecated] GET /v1/withdraw/currencies/{currency}
        • GET /v1/withdraw/currencies/{currency}/{platform}
          GET /v1/withdraw/currencies/{currency}/{platform}
        • Условия вывода
          Условия вывода
        Вывод средств
      • История операций
        История операций
      • Список платформ
        Список платформ
      • Коды ошибок
        Коды ошибок
      API шлюза
    • Токен доступа
      • Получить токен в интерфейсе
        Получить токен в интерфейсе
      • POST /v1/oauth2/token
        POST /v1/oauth2/token
      Токен доступа
    • Получить список сделок (Get Trades)
      Получить список сделок (Get Trades)
    • Годовая процентная ставка стейкинга (API)
      Годовая процентная ставка стейкинга (API)
    • Матчер
      • Протокол WX Network
        Протокол WX Network
      • Комиссия матчера
        Комиссия матчера
      • Установка матчера на Ubuntu из Deb-пакета
        Установка матчера на Ubuntu из Deb-пакета
      • Настройки матчера
        Настройки матчера
      • API Матчера
        • Правила валидации ордера
          Правила валидации ордера
        • Правила валидации ExchangeTransaction
          Правила валидации ExchangeTransaction
        API Матчера
      • WebSocket API Матчера
        • Ошибки и отладка
          Ошибки и отладка
        • Common Streams
          Common Streams
        WebSocket API Матчера
      Матчер
    API и библиотека
  • Глоссарий
    Глоссарий
      • English
      • Русский
      On this page
        • Типы комиссии
        • Расчет различных типов минимальных комиссий
        • Пример

          # Комиссия матчера

          Биржевой ордер содержит два отдельных поля комиссии матчера - от ордера покупателя и ордера продавца. Ордер может быть полностью выполнен какой-нибудь транзакцией, в этом случае вся комиссия матчера включается в эту транзакцию. Если ордер частично выполнен какой-либо транзакцией, плата за матчинг включается в эту транзакцию пропорционально выполненной сумме, т.е.

          executedAmount * orderMatcherFee / orderAmount.

          Оставшаяся сумма комиссии за этот ордер будет включена в другие транзакции до полного исполнения заказа.

          # Типы комиссии

          В текущей версии WX Network матчер взимает динамическую (dynamic) или процентную (percent) комиссию в зависимости от выбранной торговой пары.

          • Dynamic режим комиссии работает подобно прежнему принципу. Матчер взимает фиксированную комиссию в размере 0.01 WAVES за торговый ордер.

          • Percent режим комиссии это механика, при которой матчер взимает комиссию в размере 0.1% от суммы торгового ордера но не менее, чем эквивалент 0.01 WAVES. Матчер WX Network взимает процентную комиссию в токене, который вы расходуете. Например, если вы обмениваете XTN на BTC (вы расходуете XTN), вы платите комиссию в XTN. Или если вы обмениваете BTC на XTN (вы расходуете BTC), тогда вы платите комиссию в BTC.

          С помощью метода POST /matcher/orderbook/calculateFee можно рассчитывать комиссии пар.

          С помощью метода GET /matcher/settings можно узнать тип комисии (dynamic или percent) торговой пары и др. параметры матчера.

          Примечание: мы рекомендуем запрашивать настройки хотя бы раз в минуту, чтобы не пропустить изменения процентных пар.

          Пример запроса (testnet):

          curl -X 'GET' 'https://matcher-testnet.waves.exchange/matcher/settings' -H 'accept: application/json'
          

          Пример ответа с настройками матчера (testnet):

            "orderFee": {
              "composite": {
                "default": {
                  "dynamic": {
                    "baseFee": 1000000
                  }
                },
                "custom": {
                  "5Sh9KghfkZyhjwuodovDhB6PghDUGBHiAPZ4MkrPgKtX-25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT": {
                    "percent": {
                      "type": "spending",
                      "minFee": 0.1,
                      "minFeeInWaves": 1000000
                    }
                  },
                  "WAVES-25FEqEjRkqK6yCkiT7Lz6SAYz7gUFCtxfCChnrVFD5AT": {
                    "percent": {
                      "type": "spending",
                      "minFee": 0.1,
                      "minFeeInWaves": 1000000
                    }
                  }
                },
                "discount": {
                  "assetId": "EMAMLxDnv3xiz8RXg8Btj33jcEw3wLczL3JKYYmuubpc",
                  "value": 50
                }
              }
            }
          

          orderFee это одно из полей ответа метода GET /matcher/settings.

          Как вы можете видеть, существуют пары с типом комиссии dynamic и percent.

          См. параметры режима percent:

          • type - тип токена, который должен использоваться для оплаты комиссии. Может быть amount - токен суммы amountAsset, price - токен цены priceAsset, spending- расходуемый токен, receiving - получаемый токен. Матчер WX Network использует тип spending.
          • minFee - минимальный процент от суммы ордера, который должен быть оплачен в виде комиссии. Где 0.14 это 0.14%
          • minFeeInWaves - минимальная сумма комиссии в WAVES (независимо от суммы ордера, комиссия должна быть больше, чем minFeeInWaves)

          Обратите внимание на секцию discount, в которой описаны параметры скидки на комиссию, при оплате скидочного токена (discountAsset). В данном примере:

          • asset - это ID скидочного токена (discountAsset).
          • value отображает процент скидки 50.

          # Расчет различных типов минимальных комиссий

          В зависимости от режима комиссии матчер взимает комиссию в различных токенах.

          • Для торговых пар с режимом Dynamic комиссия взимается в WAVES или WX (discountAsset) токене.

          • Для торговых пар с режимом Percent комиссия взимается либо в priceAsset (для ордеров покупки) или в amountAsset (для ордеров продажи) или в WX (discountAsset) токене.

          Коэффициенты (rates) комиссий, используемые в следующих расчетах, могут быть получены с помощью метода GET /matcher/settings/rates.

          Пример запроса:

          curl -X 'GET' 'https://matcher.waves.exchange/matcher/rates' -H 'accept: application/json
          

          # Константы

          PriceConstantExp = 8
          PriceConstant = 10 ** PriceConstantExp
          

          # Функции

          correctedRate(rate, assetDecimals) = rate * 10 ** (assetDecimals - PriceConstantExp)
          

          scripts_count это количество смарт-контрактов, задействованных в выполнении ордера.

          # Расчет минимальной суммы комиссии для Dynamic режима

          Используя WAVES:

          baseFee + 400000 * scripts_count
          

          Используя discountAsset:

          rate = correctedRate(rates[discountAsset], discountAssetDecimals)
          
          (baseFee + 400000 * scripts_count) * correctedRate * (100 - discount) / 100
          

          # Расчет минимальной суммы комиссии для Percent режима со следующими настройками:

          {
              "percent" : {
              "type" : "spending",
              "minFee" : 0.14,
              "minFeeInWaves" : 300000
              }
          }
          

          Комиссия продажи:

          Используя amountAsset:

          order.amount * minFee / 100
          

          Используя discountAsset:

          discountAssetRate = correctedRate(rates[discountAsset], discountAssetDecimals)
          amountAssetRate = correctedRate(rates[amountAsset], amountAssetDecimals)
          
          order.amount * minFee / 100 * (discountAssetRate / amountAssetRate) * (100 - discount) / 100
          

          Комиссия покупки:

          Используя priceAsset:

          order.amount * order.price / PriceConstant * minFee / 100
          

          Используя discountAsset:

          discountAssetRate = correctedRate(rates[discountAsset], discountAssetDecimals)
          priceAssetRate = correctedRate(rates[priceAsset], priceAssetDecimals)
          
          order.amount * order.price / PriceConstant * minFee / 100 * (discountAssetRate / priceAssetRate) * (100 - discount) / 100
          

          Следует проверить, чтобы сумма комиссии не была меньше, чем minFeeInWaves, для этого умножьте minFeeInWaves на нормализованный FeeAssetRate и сравните с полученной суммой комиссии. Скидка также применяется к minFeeInWaves при использовании discountAsset для оплаты комиссии.

          # Пример

          Примечание: В данном примере не применяются смарт-скрипты.

          Обменяем 0.00032173 BTC по цене 42611.43

          pair = BTC/XTN

          price = 42611430000

          amount = 32173

          сумма ордера в:

          • price assets = 13.709237 XTN

          • amount assets = 0.00032173 BTC

          rates[BTC] = 0.000329

          rates[XTN] = 13.9

          rates[discountAsset] = 10.534

          corrected rates:

          • priceAsset = rates[XTN] * 10 ** (-2) = 0.1390

          • amountAsset = rates[BTC] = 0.000329

          • discountAsset = rates[discountAsset] = 10.534

          minFee = 0.14%

          minFeeInWaves = 300000

          discount = 50%

          priceAssetDecimals = 6

          amountAssetDecimals = 8

          discountAssetDecimals = 8

          minFeeInWaves converted:

          • priceAsset = 41700

          • amountAsset = 98

          • discountAsset = 3160200

          # Расчет комиссий

          Комиссия продажи в режиме Percent:

          Используя amountAsset:

          32173 * 0.14 / 100 = 45 (0.00000045 BTC ~ 0.019 XTN)
          

          Используя discountAsset:

          32173 * 0.14 / 100 * (10.534 / 0.000329) * (100 - 50) / 100 = 721085
          

          Комиссия покупки:

          priceAsset:

          32173 * 42611430000 / 100000000 * 0.14 / 100 = 19193 (0.019 XTN)
          

          Используя discountAsset:

          32173 * Используя42611430000 / 100000000 * 0.14 / 100 * (10.534 / 0.139) * (100 - 50) / 100 = 727267
          

          # Проверка minFeeInWaves

          При оплате с помощью priceAsset:

          300000 * 0.139 = 41700 (0,041700 XTN)
          

          При оплате с помощью amountAsset:

          300000 * 0.000329 = 99 (0,00000099 BTC)
          

          При оплате с помощью discountAsset:

          300000 * 10.534 * (100 - 50) / 100 = 1580100 (0,015801 discountAsset)
          

          Примечание: Во всех сценариях выше сумма комиссии ниже, чем minFeeInWaves.

          Протокол WX Network
          Установка матчера на Ubuntu из Deb-пакета
          Протокол WX Network
          Установка матчера на Ubuntu из Deb-пакета