Новости

Circle добавила предоплату комиссий CCTP

Разработчики могут заранее получить котировку CCTP Fast Transfer и собрать комиссию в gas-токене или USDC, чтобы получатель увидел ожидаемую сумму.

Circle добавила предоплату комиссий CCTP

Circle добавила возможность оплачивать комиссии CCTP Fast Transfer до начала межсетевого перевода. Разработчик получает котировку через Quote API и может собрать плату в нативном gas-токене исходной сети или в USDC. Получатель при этом получает указанную сумму USDC без вычета протокольной комиссии на конечной стороне.

Функция доступна для переводов из поддерживаемых CCTP EVM-сетей. Переводы из Solana пока не поддерживаются, хотя отправка в Solana возможна. Обновление относится к Fast Transfer и не означает, что все маршруты CCTP имеют одинаковую цену или скорость.

Как комиссии работали раньше

При прежней модели плата за ускоренный перевод могла вычитаться из USDC в целевой сети. Пользователь вводил сумму отправки, но получатель видел немного меньше. Для кошелька или платёжного приложения это усложняло сценарии, где конечная сумма должна точно совпасть со счётом.

Теперь приложение может запросить оценку заранее и показать полную стоимость до подписи. Если комиссия оплачивается gas-токеном, базовая сумма USDC не уменьшается. Если она собирается в USDC, приложение добавляет её на исходной стороне отдельно от суммы получения.

Что делает Quote API

Quote API объединяет Fast Transfer fee и Forwarding fee в одну котировку для выбранного маршрута. Разработчику не нужно самостоятельно поддерживать таблицу нескольких протокольных сборов. Это уменьшает риск расхождения между расчётом интерфейса и фактической логикой контрактов.

Котировка всё равно имеет срок действия и зависит от сети. Приложение должно обновлять её перед исполнением и не использовать старое значение после смены маршрута. Пользователю следует показывать актив оплаты, сеть и итоговую сумму, а не только общий ярлык «комиссия».

Почему точная сумма важна

Предсказуемое получение нужно для счетов, депозитов на биржу и пополнения сервисов, где недостача даже небольшой суммы меняет статус заказа. Раньше разработчик мог увеличивать отправку с запасом или отдельно объяснять вычет. Предоплата делает расчёт понятнее и упрощает бухгалтерскую сверку.

Однако точная протокольная сумма не гарантирует цену обмена, если перед переводом пользователь меняет другой токен на USDC. Swap, spread и сторонний сервис добавляют собственные расходы. CCTP отвечает только за участок нативного USDC между поддерживаемыми сетями.

Также важно не путать CCTP с классическим мостом, который блокирует актив и выпускает wrapped-копию. CCTP сжигает нативный USDC в одной сети и выпускает его в другой после attestation. Общие меры предосторожности остаются теми же, что в инструкции по межсетевым переводам.

Какие ограничения нужно учитывать

Предоплата не отменяет gas для других действий приложения. Approve, swap или вызов конечного контракта могут потребовать отдельную транзакцию. Разработчик должен перечислить все этапы до подтверждения, иначе обещание одной комиссии окажется неполным.

Fast Transfer использует ускоренную модель до обычной финальности. Она удобна для времени, но может стоить дороже стандартного маршрута. Приложению полезно дать выбор между скоростью и ценой, особенно для крупных переводов, где несколько минут не критичны.

Перевод остаётся необратимым после выполнения burn. Ошибка адреса или сети не исправляется предсказуемой комиссией. Перед подписью нужно сверить получателя, chain ID и актив, а после отправки сохранить hash. Найти операцию поможет руководство по проверке перевода в блокчейне.

Оплата gas-токеном требует достаточного баланса именно в исходной сети. Если приложение предлагает оплатить комиссию USDC, нужно проверить разрешение контракта и точную сумму approve. Для снижения риска полезен подход из статьи о точном разрешении вместо безлимитного.

После запуска стоит оценивать, насколько точно Quote API совпадает с фактическим списанием, сколько живёт котировка и как приложение обрабатывает просрочку. Circle заявляет доступность функции сейчас, но набор сетей может расширяться и требует проверки по документации.

Обновление решает заметную проблему пользовательского опыта: получатель видит полную ожидаемую сумму. Оно не делает перевод бесплатным и не объединяет автоматически все сторонние расходы. Качественная интеграция должна показать цену заранее, объяснить маршрут и не скрывать дополнительные транзакции.

Для коммерческого платежа приложение должно связать котировку с конкретным счётом. Если пользователь поменял сумму или сеть, старый quote нужно аннулировать, а не пересчитывать только видимую строку. Серверу следует проверить все параметры непосредственно перед формированием подписи. Это предотвращает ситуацию, когда интерфейс показывает одну конечную сумму, а контракт исполняет ранее сохранённый маршрут с другими условиями.

Поддержка двух активов для комиссии требует понятного выбора. Gas-токен сохраняет исходный объём USDC, но пользователю может потребоваться отдельная покупка газа. Оплата в USDC проще для новичка, однако добавляет разрешение на списание и меняет общий расход токена. Хороший интерфейс показывает оба варианта в одной валюте, не называет один из них бесплатным и предупреждает, если остатка gas недостаточно для сопутствующих действий.

Бухгалтерская запись тоже становится яснее, если сумма получателя отделена от сетевых расходов. Компания может сопоставить invoice с полным поступлением USDC, а комиссию учесть отдельной строкой. Для этого quote и подтверждение должны сохранять одинаковый идентификатор маршрута. Без связи между ними предоплата улучшит интерфейс, но не решит задачу сверки.