← Back to the chronicle

How-tosOctober 23, 20263 min127 reads

BEP20, ERC20, TRC20: почему адрес один, а сети разные

Куда «пропадают» USDT, отправленные не в ту сеть, когда их можно вернуть самому и когда — только через поддержку.

BEP20, ERC20, TRC20: почему адрес один, а сети разные

«Отправил USDT, деньги ушли, а на кошелёк не пришли». Почти каждый такой случай в поддержке заканчивается одной и той же фразой: монеты на месте, просто в другой сети. Разбираемся, почему так получается и как это не повторить.

Один ключ — один адрес везде

Ethereum, BNB Smart Chain, Arbitrum, Base, Polygon, Optimism, Avalanche — всё это разные блокчейны, но устроены они по одному образцу (их называют EVM-сетями). Адрес в них получается из ключа одним и тем же способом, поэтому у вашего кошелька он одинаковый во всех сразу: те же 42 символа, начинающиеся с 0x.

Одинаковый адрес — не значит общий баланс. Каждая сеть ведёт свой учёт. Сто USDT в BNB Smart Chain никак не видны в Ethereum, даже если адрес совпадает до последней буквы.

Один адрес кошелька в пяти EVM-сетях с разными балансамиАдрес один, балансы — пять разных. Монеты «пропали» только для той сети, на которую вы смотрите.

USDT — это пять разных монет

Tether выпускает USDT в каждой сети отдельным контрактом. Внешне это одна монета, а технически — разные программы с разными адресами:

СетьКак подписываютАдрес контракта USDT
EthereumERC200xdAC17F958D2ee523a2206206994597C13D831ec7
BNB Smart ChainBEP200x55d398326f99059fF775485246999027B3197955
TRONTRC20TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t

Мелочь, которая хорошо показывает разницу: у USDT в Ethereum шесть знаков после запятой, а у USDT в BNB Smart Chain — восемнадцать. Для пользователя это незаметно, для программ — совсем разные монеты.

Что происходит при ошибке

Допустим, вы вывели USDT с биржи в сети BEP20, а адрес получателя ждал ERC20. Что будет дальше, зависит от того, чей это адрес:

  • Ваш собственный кошелёк (MetaMask, Rabby, Trust и подобные). Монеты целы. Переключите в кошельке сеть на BNB Smart Chain — они там. Ключ один, значит, и доступ есть во всех сетях.
  • Адрес биржи или сервиса. Монеты дошли до адреса, но система получателя слушает только свою сеть и депозит не засчитает. Вернуть их можно только через поддержку — если у сервиса вообще есть доступ к этому адресу в другой сети, и чаще всего с комиссией.
  • Разный формат адресов — например, TRC20 (адреса начинаются с T) и ERC20 (с 0x). Тут ошибиться сложно: кошелёк просто не примет адрес чужого вида.

Самое неприятное сочетание — правильный адрес и неправильная сеть при отправке на биржу. Технически перевод проходит, и его видно в обозревателе, поэтому кажется, что «биржа потеряла деньги». На самом деле она их просто не ждала.

Мост — это ещё одна монета

Есть ещё одна ловушка: «обёрнутые» версии. Например, в Polygon долго ходили два USDC — настоящий, выпущенный Circle, и USDC.e, перенесённый мостом из Ethereum. Оба называются USDC, оба стоят доллар, но это разные контракты, и сервис, который принимает один, может не принять другой. Перед переводом смотрите не только на название монеты, но и на адрес контракта.

Как мы стараемся, чтобы вы не ошиблись

  1. У каждой монеты в окне обмена — плашка сети: USDT · BEP20, USDC · BASE. Сеть видна всегда, даже у родных монет.
  2. Поле адреса подсказывает, чего ждёт: «Ваш USDC (BASE) адрес», а не просто «адрес».
  3. Адрес проверяется по виду сети: адрес TRON не пройдёт там, где нужен адрес EVM.
  4. На странице заявки сеть депозита написана рядом с адресом и QR-кодом. Сверьте её с тем, что вы выбираете на бирже при выводе.
Перед отправкой задайте себе один вопрос: «В какой сети меня ждут?» — и найдите ответ на экране, а не в памяти.
#guides#usdt#сети

Was this entry useful?

Discussion 0

Quiet here so far — start the conversation.