Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Первые три вида комиссий direct-deposit fee, deposit fee и withdraw fee настраиваются для связки валюта+платежный интерфейс. Swap fee определяется для маркета.

Методика расчета комиссии при вводе средств:

Параметры расчета для комиссии при депозите на прокси-кошелек/горячий кошелек системы (сущность currencyPaymentInterfaces):

...

3 и 4 - граничные значения комиссии.

Методика расчета комиссии при выводе средств:

Параметры для расчета вывода средств (сущность currencyPaymentInterfaces):

...

5 и 6 - граничные значения комиссии.

Методика расчета комиссии при обмене средств:

Параметры для расчета комиссии (сущность markets):

  1. buy_commission / sell_commission

  2. buy_min_commission / sell_min_

  3. maxWithdrawAmount24h

  4. maxWithdrawAmount72h

  5. withdrawFee

  6. minWithdrawFee

  7. maxWithdrawFee

1 параметр определяет максимальную сумму одноразового вывода денег для данной валюты в рамках указанного платежного интерфейса

2 и 3 параметры определяют максимальный лимит вывода средств за последние 24 и 72 часа соответственно.
Во всех трех случаях отказа на вывод не происходит, система требует подтверждение/отмену операции оператором.

4 параметр - это процент комиссии, взымаемой с депозита.

...

  1. commission

  2. buy_max_commission / buy_max_commission

  3. commission_currency (value: ‘base’ or ‘quote’)

1 параметр определяет процент комиссии при обмене:

sell - базовой на квот валюту

buy - квот валюты на базовую

2 параметр определяет минимальную сумму комиссии обмена

3 параметр определяет максимальную сумму комиссии обмена

4 параметр - это в какой валюте будет браться комиссия.

Примеры:

  • пользователь запросил операцию sell и комиссия определена в базовой валюте, то от суммы обмена сначала возьмем комиссию, потом оставшуюся сумму обменяем на квот-валюту.

  • пользователь запросил операцию sell и комиссия определена в квот-валюте, то сначала обменяем на квот-валюту, затем от результата вычтем комиссию.

Механизмы инициации операций по движению средств:

deposit

На запрос от фронтенда генерируется (или если уже был создан показывается существующий) прокси-адрес (mutation generateWallet). Для eth-подобных блокчейнов создается единый адрес для ввода всех валют (N.B. обязательно должен быть настроен coin для данного платежного интерфейса).

Пользователь создает транзакции по перечислению денег на указанный адрес. В процессе разбора блоков сервис платежного интерфейса получает информацию об этом и система автоматически создает операцию custodial_deposit

direct deposit (еще будут вноситься изменения)

Фронтенд запрашивает ссылку для создания сессии с WalletConnect (mutation getWalletConnectURI_v1)

...

Дальше в процессе разбора блоков сервис платежного интерфейса получает информацию об транзакции и создается операция custodial_deposit

withdrawal

Инициация вывода средств вызывается с помощью mutation userWithdraw

N.B. Следует учитывать что простом выводе средств у пользователя есть два сценария: вывести указанную сумму денег includeFees=true и получить указанную сумму денег includeFees=false (эти числа могут отличаться в случае ненулевой комиссии за вывод)

off-chain swap

Запуск обмена с помощью mutation userExchange

on-chain swap

Пользователь должен получить индивидуальный адрес для перечисления нужной суммы валюты: mutation initNonCustodialExchange

После получения платежным интерфейсом транзакции по указанному адресу создается операция non_custodial_exchange

chain-out

Запуск обмена с последующим выводом инициируется с помощью mutation userSwapOut
После запуска блокируется сумма к обмену, затем происходит конвертация средств с взыманием комиссии, затем вывод средств на указанный адрес с соответствующей комиссией.

chain-in (в процессе)