PS Wallet Справка
RUEN
Открыть кошелёк

Монеты и суммы

Коды монет и их точность, USDT в любой сети, счета в долларах и рублях, формат сумм в PS Wallet Pay API.

На этой странице

В PS Wallet Pay каждая монета обозначается кодом, а суммы передаются строками с точкой. На этой странице — какие коды бывают, сколько у них знаков после запятой и как работают USDT без указания сети и счета в фиате.

Коды монет

КодМонетаЗнаков после запятой
USDT-TRC20Tether в сети TRON6
USDT-BEP20Tether в сети BNB Smart Chain6
USDT-ERC20Tether в сети Ethereum6
USDT-TONTether в сети TON6
XAUTTether Gold (Ethereum)6
TRXTRON6
BNBBNB (BEP20)8
ETHEthereum8
GRAMGram (сеть TON)9
RUBРоссийский рубль2

Кроме них есть код USDT — USDT в любой сети (см. ниже), и фиатные валюты для цены счёта: USD и RUB, по 2 знака после запятой.

i

Монеты TRX, BNB, монеты сети Ethereum (USDT-ERC20, XAUT, ETH) и сети TON (USDT-TON, GRAM) могут быть временно недоступны. Актуальный список возвращает getCurrencies, а недоступная монета в параметрах даёт ошибку PARAM_ASSET_INVALID.

Где какие коды можно указывать

ГдеДопустимые коды
asset в createInvoiceUSDT или любой код монеты из таблицы.
fiat в createInvoiceUSD или RUB.
accepted_assets в createInvoiceКоды монет и USDT через запятую.
asset в transfer и createCheckUSDT или любой код монеты из таблицы.
Фильтр asset в getTransfers и getChecksUSDT (все сети) или код монеты.
Ответы API: paid_asset, asset переводов и чеков, currency_code балансаВсегда код с сетью (USDT-TRC20, USDT-BEP20 и т. д.), не USDT.

Регистр кода не важен: usdt-trc20 и USDT-TRC20 — одно и то же.

USDT без указания сети

В счетах можно указать просто USDT. Тогда пользователь заплатит с любого своего счёта USDT — TRC20, BEP20, ERC20 или TON, — и деньги придут на баланс приложения в той сети, с которой он платил. Сеть оплаты указана в поле paid_asset оплаченного счёта.

Если нужна конкретная сеть, укажите её код, например USDT-TRC20: оплатить счёт можно будет только с этого счёта.

В transfer и createCheck код USDT тоже допустим: деньги спишутся с первой сети, где на балансе приложения хватает суммы, в порядке TRC20 → BEP20 → TON → ERC20. Если суммы не хватает ни в одной сети, вернётся ошибка INSUFFICIENT_FUNDS. Получатель получит деньги в той же сети — она указана в поле asset ответа.

Счета в долларах и рублях

Счёт можно выставить в долларах (USD) или рублях (RUB): для этого передайте currency_type=fiat и fiat. Пользователь выберет, чем платить, из разрешённых монет (accepted_assets). Сумма к оплате пересчитывается по курсу в момент оплаты и округляется вверх до минимальной единицы монеты.

По умолчанию фиатный счёт принимает USDT, TRX, BNB, ETH, GRAM и RUB (из них — те, что сейчас доступны). XAUT в этот список не входит — чтобы принимать его, перечислите монеты в accepted_assets явно.

Курсы, по которым пересчитываются фиатные счета, возвращает getExchangeRates. Фактический курс оплаты сохраняется в счёте в полях paid_fiat_rate и paid_usd_rate.

Рубли

Сейчас оплатить счёт с рублёвого счёта нельзя, а рубли нельзя передать другим пользователям:

  • asset=RUB в createInvoice вернёт ошибку PARAM_ASSET_INVALID;
  • RUB в accepted_assets при оплате не учитывается, а если в списке только RUB — вернётся ошибка PARAM_ACCEPTED_ASSETS_INVALID;
  • asset=RUB в transfer и createCheck вернёт ошибку 403 TEMPORARILY_UNAVAILABLE.

Цену счёта при этом можно указывать в рублях (currency_type=fiat, fiat=RUB) — пользователь заплатит другой монетой.

Формат сумм

Суммы передаются и возвращаются строками с точкой: "12.5", "0.000001".

  • В JSON можно передать и число, но не больше знаков, чем у монеты. Например, 12.5000001 для USDT (6 знаков) — ошибка PARAM_AMOUNT_INVALID, никакого округления нет.
  • Сумма должна быть больше нуля, без знака, пробелов и разделителей тысяч, не больше 15 цифр до точки.
  • Нули в конце не считаются лишними знаками: "12.500000000" для USDT — это 12.5.
  • В ответах лишние нули отбрасываются: "12.5", а не "12.500000".
✓

Не считайте деньги в типе float. Используйте библиотеки точной арифметики, например decimal.js или Big.js в JavaScript и decimal в Python.

Обновлено 9 ноября 2026 г.