Перейти к содержимому
PortunaPortunaPortunaДокументацияTestnet

Рецепты

Накладные расходы батча делятся между его адресами: повторный sweep USDT в Sepolia занимает около 44 600 газа, если адрес в батче один, и около 18 100 газа в батче из 50. Присылайте задания пачками — например, раз в несколько минут всё, что пришло, — а не по одному с паузами. Задания одного горячего кошелька (котла), которые стоят в очереди, когда готовится батч, идут вместе — до размера батча сети.

Следить, какие адреса уже делегированы, не нужно. Подпишите авторизацию, когда создаёте депозитный адрес, и присылайте её с каждым sweep этого адреса: сервис использует её, только когда она нужна. Переподписывать нужно, только если адрес сам отправит транзакцию — она сдвинет его nonce.

  • Без amount сметается весь баланс; с amount — часть.
  • Для постоянных депозитных адресов включите keep_one_unit: следующие депозиты ваших пользователей станут намного дешевле, а при комиссии больше нуля ваш платёж не вырастет. См. Оставлять одну единицу на адресе.
  • Следите за знаками после запятой: суммы — целые числа в минимальных единицах токена, а у одного и того же токена в разных сетях их может быть разное число.
  • Пополняйте его обычным переводом нативной монеты сети. Адрес один во всех сетях, но баланс в каждой сети свой.
  • Следите за available в GET /v1/balance: это баланс за вычетом начисленных комиссий, которые лежат в резерве.
  • Держите запас на несколько дней и задайте алерт о низком балансе на день-два.
  • Если газ кончится, задания ждут и повторяются, а после пяти попыток падают. Пополните кошелёк и отправьте их снова с новыми external_id.

Экономия — на повторных sweep постоянных депозитных адресов, которые пользователи пополняют снова и снова. Для одноразовых адресов, например нового адреса на каждый счёт, первый sweep стоит по газу примерно как классика: вы по-прежнему избавлены от пополнений и пыли, но не экономите газ. См. Первый и повторный sweep.

  • Не делегируйте адреса ради одного только sweep ETH или BNB: первый sweep дороже обычного перевода.
  • Сметайте нативную монету с адресов, которые и так делегированы, пачками от 10 адресов.
  • Если пользователи присылают на адрес ETH или BNB с бирж с фиксированным лимитом газа, не делегируйте его: см. Депозиты с бирж.

У каждого горячего кошелька свой делегат, а адрес в каждый момент выполняет один делегат. Чтобы перевести адрес на другой горячий кошелёк, подпишите авторизацию на делегат этого кошелька и пришлите её со следующим sweep в новый кошелёк. Такой sweep стоит примерно как первый; снимать делегацию для этого не нужно.

  • Каждый sweep: в вебхуке и в GET /v1/sweeps/{id} есть swept_amount, tx_hash, gas_cost и fee — этого хватает, чтобы пересчитать комиссию.
  • Все sweep: GET /v1/sweeps отдаёт их новыми первыми, с фильтрами по status, chain_id, account и hot_wallet; GET /v1/revocations — то же для снятий делегации.
  • Газ-кошелёк: GET /v1/ledger — все движения со знаком: газ, комиссии, вывод комиссий и пополнения.
  • По дням: GET /v1/usage?days=30 — sweep по итогам, снятия, газ и комиссии за каждый день UTC по сетям.

Этих списков пока нет в SDK: вызывайте их по HTTP. Это страницы до 200 строк: за следующей передайте next_cursor в cursor. См. Обзор API.