defi

UI для перевода USDC из Polygon в Stellar через Circle CCTP

Интерфейс для перевода USDC из Polygon в Stellar через CCTP от Circle: USDC сжигаются в одной сети и выпускаются в другой 1:1, в Stellar приходит нативный USDC от Circle. Комиссии посредника нет, ключи остаются в кошельках.

USDC, Polygon → Stellar USDC из Polygon в Stellar Через Circle CCTP, без комиссии посредника. MetaMask, Albedo или Freighter usdc.eww.monster

Биржи, пулы и обменники фиата на USDC, которыми я пользуюсь, не всегда умеют выводить USDC в Stellar. Тогда я вывожу в Polygon, самую дешёвую из распространённых EVM-сетей, и уже оттуда перевожу USDC в Stellar. Интерфейса к CCTP, где можно выбрать Stellar, я не нашёл, а мосты вроде Allbridge берут свою комиссию. Так что сделал сам и теперь пользуюсь им для своих переводов.

Перевод идёт в три шага, у каждого свой подписант. Сжигание в Polygon подписывает MetaMask. Подтверждение сжигания выдаёт Circle. Выпуск в Stellar подписывает Albedo или Freighter.

flowchart TB
  subgraph P[Polygon]
    direction TB
    MM[MetaMask] -- "1. approve и depositForBurnWithHook" --> TM[TokenMessengerV2: сжигает USDC]
  end
  subgraph C[Circle]
    direction TB
    IR[Iris: аттестация сжигания]
  end
  subgraph S[Stellar]
    direction TB
    W[Albedo или Freighter] -- "3. mint_and_forward" --> CF[CctpForwarder: выпускает USDC]
    CF --> R[получатель]
  end
  P -- "хеш транзакции сжигания: по нему интерфейс опрашивает Iris" --> C
  C -- "2. сообщение и подпись" --> S

Шаги связаны только хешем транзакции сжигания: по нему интерфейс запрашивает у Circle сообщение и подпись. Если перевод прервался, достаточно вставить этот хеш в третий шаг, получатель и сумма записаны в самом сообщении. Что нужно до начала, интерфейс перечисляет сам, адреса контрактов Circle стоят внизу, исходники на GitHub.

alex0007:~$ tldr usdc-polygon-to-stellar
  • USDC из Polygon в Stellar 1:1 через Circle CCTP
  • Комиссии посредника нет, платишь газ двух сетей
  • Ключи остаются в кошельках: MetaMask, Albedo или Freighter
  • Прерванный перевод продолжается по хешу сжигания
  • Пока одно направление, Polygon → Stellar