Сети: подтверждения и TTL
Пороги подтверждений по сетям (TRON, EVM включая Ethereum и BSC, BTC/LTC/DOGE/BCH, XRP, NEAR, Solana, TON, Monero) и правила TTL инвойсов: ожидание мемпула, истечение и рескан.
ZeroKYC Pay принимает платежи в нескольких блокчейн-сетях. У каждой сети свои правила финализации, поэтому число подтверждений, необходимое для перевода инвойса в статус confirmed, различается. В этом гайде — точные продакшн-пороги и правила TTL инвойсов.
Пороги подтверждений
Инвойс переходит из pending в confirmed, когда сеть платежной опции набирает требуемое число подтверждений:
| Актив | Сеть | ID в API | Подтверждений | Обычное время |
|---|---|---|---|---|
| USDT (TRC-20) | TRON | USDT_TRON | 20 | ~1 минута |
| TRX | TRON | TRX | 20 | ~1 минута |
| USDC (Polygon) | Polygon | USDC_POLYGON | 50 | ~5 минут |
| USDT (Polygon) | Polygon | USDT_POLYGON | 50 | ~5 минут |
| USDC (Arbitrum) | Arbitrum | USDC_ARBITRUM | 40 | ~5 минут |
| USDT (Arbitrum) | Arbitrum | USDT_ARBITRUM | 40 | ~5 минут |
| ETH | Ethereum | ETH | 12 | ~2,5 минуты |
| USDT (Ethereum) | Ethereum | USDT_ETHEREUM | 12 | ~2,5 минуты |
| USDT (BSC) | BNB Smart Chain | USDT_BSC | 15 | ~45 секунд |
| BNB | BNB Smart Chain | BNB | 15 | ~45 секунд |
| BTC | Bitcoin | BTC | 2 | ~20 минут |
| LTC | Litecoin | LTC | 6 | ~15 минут |
| DOGE | Dogecoin | DOGE | 20 | ~20 минут |
| BCH | Bitcoin Cash | BCH | 3 | ~30 минут |
| XMR | Monero | XMR | 10 | ~20 минут |
| TON | TON | TON | 1 | секунды |
| USDT (Solana) | Solana | USDT_SOL | 32 | ~13 секунд |
| USDC (Solana) | Solana | USDC_SOL | 32 | ~13 секунд |
| SOL | Solana | SOL | 32 | ~13 секунд |
| XRP | XRP Ledger | XRP | 3 | ~12 секунд |
| NEAR | NEAR Protocol | NEAR | 3 | ~3 секунды |
| USDT (TON jetton) | TON | USDT_TON | 1 | секунды |
Источник значений: Пороги применяет движок детекции ZeroKYC Pay (
app/domain/assets.py). Таблица отражает продакшн-конфигурацию на момент v1.
Платежи в сетях TON (TON и USDT-TON) дополнительно требуют memo/tag — это поле payment_url_extra у варианта оплаты. Hosted-чекаут и платёжный QR подставляют его автоматически; если вы строите собственный платёжный флоу, перевод без memo безвозвратно теряется. Подробности — в жизненном цикле инвойса.
TTL инвойса
У каждого инвойса есть время жизни. По умолчанию — 360 минут (6 часов); при создании можно задать своё значение от 10 минут до 72 часов (4320 минут) через поле ttl_minutes.
Если платёж уже виден в мемпуле на момент истечения TTL, инвойс подтверждается штатно — правило истечения касается только платежей, которые так и не пришли.
Недоплаты: Платёж ниже ожидаемой суммы переводит инвойс в
underpaidвместоconfirmed. Обрабатывайте вебхукpayment.underpaidи решайте: принять, вернуть средства или связаться с клиентом.
Курсы
Стейблкоины при выставлении счёта привязаны: USDT (все сети) — ровно 1:1 к USD-инвойсам, остальные активы — по рыночному курсу с автоматическим обновлением. Недолларовые базовые валюты конвертируются по текущему курсу.
Что дальше
- Жизненный цикл инвойса — статусы, окна детекции и какое событие когда срабатывает.
- Быстрый старт — Создайте первый инвойс одним REST-запросом.
- Справочник вебхуков — Жизненный цикл событий вебхуков и гарантии доставки.
- Гайд по direct-кассе — Некастодиальные платежи прямо на ваш кошелёк.