Мосты в Solana решают задачу, которую прямой перевод решить не может: сети по разные стороны моста устроены несовместимо. Адрес в Solana — это 32-байтный открытый ключ Ed25519, а в сетях с виртуальной машиной Ethereum адрес короче и выводится иначе. Подписи, формат транзакции и учёт балансов тоже различаются. Поэтому актив запирают на стороне источника, а в Solana создают его представление в виде токена стандарта SPL и отдельный аккаунт под баланс получателя.

Несовместимые сети — это блокчейны с разными форматами адресов, схемами подписи и моделями учёта балансов, между которыми транзакцию нельзя передать напрямую, потому что ни одна сторона не способна проверить запись другой.

Почему мосты в Solana нужны для перевода активов между несовместимыми сетями

Начнём с адреса. В Solana аккаунт опознаётся по уникальному 32-байтному адресу: это либо открытый ключ Ed25519, либо выведенный программно адрес PDA. Так сказано в документации Solana, прочитанной 16 октября 2026 года. Адрес EVM-сети устроен иначе и короче, его записывают в шестнадцатеричном виде с префиксом, тогда как в Solana адреса пишут в кодировке base58, и это различие проявляется раньше любых разговоров о комиссиях и сроках.

Отсюда первое следствие. Вставить EVM-адрес в поле получателя в Solana нельзя: он не проходит проверку формата. Обратное тоже верно.

Дальше расходится модель учёта. В Solana всё — аккаунт, и у каждого аккаунта есть пять стандартных полей: lamports, data, owner, executable и rent_epoch. Менять данные аккаунта или списывать с него лампорты вправе только программа-владелец; зачислить лампорты на записываемый аккаунт может любая программа. Токены при этом не живут внутри контракта: у них собственная конструкция из двух типов аккаунтов, о которой ниже.

Третье различие — хранение. Аккаунт в Solana обязан держать возвратный минимальный баланс, пропорциональный размеру данных. Формула из документации: размер аккаунта плюс 128 байт, умноженные на 3480 лампортов за байт-год и на два года. Предел размера данных одного аккаунта — 10 мегабайт. Платит за это тот, кто аккаунт создаёт.

Для сравнения: в Ethereum баланс токена — это запись в таблице внутри контракта, и получателю не нужно заранее заводить место под неё. Разницу моделей стоит держать в голове, читая про что меняет обновление Glamsterdam для сети Ethereum: там правки идут по другой архитектуре учёта.

Что именно создаётся на стороне Solana

Мост не «кладёт монету на адрес». Он собирает три сущности.

Первая — mint-аккаунт. Это запись, которая опознаёт токен и принадлежит токен-программе; в её полях хранятся общий объём выпуска, число десятичных знаков, право на выпуск и право на заморозку. Вторая — токен-аккаунт получателя: отдельный аккаунт с полями mint, owner и amount, где и лежит баланс. Третья — адрес этого токен-аккаунта, выведенный детерминированно из адреса владельца и адреса mint. Такой аккаунт называют ассоциированным, он же ATA.

Документация Solana формулирует требование жёстко: кошельку нужен токен-аккаунт под каждый токен, которым он хочет владеть. Создание ассоциированного аккаунта требует возвратного минимального баланса за хранение, и его вносит плательщик инструкции — независимо от того, кому аккаунт достанется.

Отсюда понятно, почему перевод в Solana иногда «не доезжает» при пустом адресе. Платить за создание аккаунта нечем.

Выпущенный мостом SPL-токен — не тот же актив, что в сети-источнике, а его представление. У разных маршрутов адреса mint разные, даже если символ на экране совпадает. Проверять нужно адрес mint, а не название: именно по нему приложения в Solana отличают одно представление от другого.

Как понять, что именно случилось с переводом

Операция через мост оставляет следы в двух реестрах: в сети-источнике это транзакция блокировки, а в Solana — транзакция выпуска представления и создания тех аккаунтов, без которых баланс хранить негде.

Начинают с исходного хэша. Он показывает, принял ли контракт моста средства и в каком блоке это зафиксировано. Затем открывают адрес получателя в публичном обозревателе Solana Explorer и смотрят раздел токенов: появился ли токен-аккаунт с нужным mint и каков его amount. Пустой список токенов при подтверждённой блокировке означает, что выпуск ещё не прошёл или сорвался.

Отличать одно представление от другого помогает та же привычка, что и в EVM-сетях, — читать данные смарт-контракта в обозревателе и сверять адреса, а не подписи на кнопках. Если переводов было несколько подряд, пригодится умение отследить пакет переводов одной операцией: так видно, какая из отправок не получила пары.

Что можно исправить, а что уже нет

До включения исходной транзакции в блок она заменяема: в EVM-сети это отправка с тем же nonce и повышенной комиссией. После включения запись окончательна.

На стороне Solana правится другое. Если токен приехал, но не отображается, вопрос решается добавлением mint в интерфейс кошелька. Если токен-аккаунт не создан, его создают отдельной транзакцией, оплатив минимальный возвратный баланс. Если токен-аккаунт закрыт, возвратный баланс возвращается владельцу, и для этого в структуре аккаунта отдельно предусмотрено право на закрытие, которое указывается в его полях при создании.

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

Пошаговый перевод активов между несовместимыми сетями

  1. Уточните адрес mint того представления, которое вам нужно в Solana. Источник — документация эмитента токена, а не поиск по символу.
  2. Заведите на адрес получателя небольшой запас SOL. Он пойдёт на плату за транзакции и возвратный баланс аккаунтов.
  3. Проверьте, что адрес получателя записан в base58 и принадлежит кошельку, который умеет работать с SPL-токенами.
  4. Отправьте пробную сумму и дождитесь транзакции выпуска на стороне Solana.
  5. Сверьте в обозревателе адрес mint и amount в токен-аккаунте с тем, что вы ожидали получить.
  6. Повторите операцию на полную сумму, сохранив хэши с обеих сторон.
Схема из пяти шагов: блокировка актива в сети-источнике, сообщение мосту, выпуск SPL-токена в Solana, создание ассоциированного токен-аккаунта с возвратным балансом, появление amount на адресе получателя
Схема из пяти шагов: блокировка актива в сети-источнике, сообщение мосту, выпуск SPL-токена в Solana, создание ассоциированного токен-аккаунта с возвратным балансом, появление amount на адресе получателя

Сколько это стоит

Плата делится на четыре слагаемых: комиссия сети-источника, вознаграждение оператора маршрута, базовая плата за транзакцию в Solana и возвратный баланс за создание аккаунта. Последнее слагаемое многих удивляет, потому что это не комиссия, а залог за место в состоянии сети.

Параметры из документации Solana на 16 октября 2026 года. Базовая плата за транзакцию — 5000 лампортов за каждую подпись; половина сжигается, половина уходит валидатору. Приоритетная надбавка считается как произведение цены и лимита вычислительных единиц, делённое на миллион, и целиком достаётся валидатору. Возвратный минимальный баланс аккаунта равен размеру данных плюс 128 байт, умноженным на 3480 лампортов за байт-год и на два года. Расчёт условный: лимит вычислительных единиц задаёт сама транзакция, а вознаграждение оператора маршрута документацией сети не нормировано.
Что сравниваем Сеть с виртуальной машиной Ethereum Solana
Формат адреса Шестнадцатеричная запись с префиксом, короче 32 байт 32 байта в кодировке base58: ключ Ed25519 или выведенный адрес PDA
Где лежит баланс токена В таблице внутри контракта самого токена В отдельном токен-аккаунте с полями mint, owner и amount
Нужно ли место под баланс заранее Нет, запись появляется при первом зачислении Да, ассоциированный аккаунт создаётся и требует возвратного минимального баланса
Из чего состоит плата Цена газа, умноженная на израсходованный газ 5000 лампортов за подпись плюс приоритетная надбавка за вычислительные единицы
Что приезжает через мост Контракт-представление по отдельному адресу SPL-токен с отдельным адресом mint

Как не повторить

Ошибки в обращениях читателей повторяются по кругу. Символ токена принимают за сам токен, адрес получателя копируют из переписки, запас SOL не заводят вовсе.

  • Сверять адрес mint с документацией эмитента до первого перевода
  • Держать на адресе запас SOL на плату и возвратные балансы аккаунтов
  • Отправлять пробную сумму на незнакомом маршруте
  • Не путать сеть и стандарт токена: SPL — стандарт, Solana — сеть
  • Сохранять хэши обеих транзакций до конца операции

Логика выбора маршрута между сетями одна и та же независимо от направления. Разбор про мосты в сеть Base и сравнение вариантов перевода эфира показывает её на совместимых сетях, где нет барьера форматов, — сопоставление помогает понять, что в случае Solana добавляется именно несовместимость, а не сложность сама по себе.

Итог

Перевод в Solana из EVM-сети — это не пересылка, а пересборка. Исходный актив остаётся запертым, в Solana появляется mint, под баланс создаётся отдельный аккаунт, и за это место платится возвратный залог. Формат адреса и схема подписи различаются настолько, что прямая отправка не состоится на уровне проверки поля. Проверка идёт по адресу mint и по amount в токен-аккаунте — названия и символы здесь ничего не доказывают.

Частые вопросы

Почему нельзя отправить токен из Ethereum на адрес Solana напрямую?

Форматы адресов и схемы подписи различаются. Solana опознаёт аккаунт по 32-байтному ключу Ed25519 или выведенному адресу, записанному в base58; EVM-сеть использует другую запись. Поле получателя не примет чужой формат, а узлы не умеют проверять записи соседнего реестра. Нужен посредник, который запирает актив и выпускает представление.

Что такое ассоциированный токен-аккаунт и зачем он мне?

Это аккаунт, в котором хранится ваш баланс конкретного токена, с адресом, выведенным из адреса кошелька и адреса mint. Без такого аккаунта баланс хранить негде: сам кошелёк токены не держит. Создание требует возвратного минимального баланса, который возвращается при закрытии аккаунта.

Токен приехал, а кошелёк показывает ноль. Что делать?

Откройте адрес в обозревателе и посмотрите список токен-аккаунтов. Если аккаунт с нужным mint есть и в нём ненулевой amount, средства на месте, а кошелёк не знает это представление: добавьте mint вручную. Если аккаунта нет, выпуск не прошёл — разбирайтесь с оператором маршрута по хэшу.

Сколько SOL держать на адресе?

Жёсткой нормы документация не задаёт. Ориентир: базовая плата составляет 5000 лампортов за подпись по данным документации Solana на 16 октября 2026 года, а возвратный баланс за аккаунт считается по размеру данных. Доли монеты обычно хватает на десятки операций и несколько токен-аккаунтов.

Разные мосты дают разные версии одного токена?

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

Вердикт

Несовместимость сетей — не недоработка, а следствие разных инженерных решений, и мост её не отменяет, а обходит. Пользователю от этого достаётся дополнительная проверка: адрес mint, наличие токен-аккаунта, запас SOL под возвратные балансы. В обращениях читателей почти все потери на этом направлении сводились к доверию символу токена вместо адреса. Привычка открывать обозреватель до перевода, а не после, экономит больше, чем выбор маршрута.

Разборы сетевой механики выходят в нашем Telegram-канале Cryptium.

Модель токенов и аккаунтов описана в официальной документации Solana. Параметры хранения и платы там меняются вместе с версиями протокола.