Для маршрута Solana добавляйте в GramPayBot контролируемый вами публичный адрес Solana wallet, а не mint USDT или USDC. Адреса Solana — это публичные ключи в base58. По внешнему виду или числу символов нельзя надёжно определить безопасность: разные типы accounts используют одинаковую запись.

Никогда не передавайте seed phrase или private key. До приёма оплат сделайте low-value test.

Wallet, token account и mint

  • wallet address — публичный ключ продавца;
  • token account хранит баланс одного mint для конкретного owner;
  • mint address идентифицирует SPL asset.

Кошелёк обычно выводит associated token account (ATA) из пары wallet + mint и при необходимости создаёт его. Solana Pay URI GramPayBot использует merchant wallet как recipient, а поддерживаемый mint — как spl-token. Не вставляйте ATA или mint в поле merchant wallet, если интерфейс явно не просит именно его.

USDT и USDC — разные SPL assets

В Solana mainnet-beta поддерживаются:

  • USDT mint: Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB;
  • USDC mint: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v.

У обоих шесть decimals, но один токен не оплачивает invoice другого. Сначала сверяйте полный mint у Tether или Circle, затем открывайте его в Solana Explorer и используйте инструкцию проверки токена.

On-curve и off-curve без лишней сложности

On-curve public key может управляться обычной keypair. Off-curve адрес часто является PDA и управляется правилами программы. Это не означает автоматически мошенничество, но нужно понимать, кто может вывести средства.

Официальная инструкция Solana рекомендует запросить account и проверить его owner/type. Непополненный on-curve wallet может ещё не иметь account data и оставаться корректным получателем. Account Token Program должен быть token account ожидаемого mint; mint account или token account другого mint нужно отклонить.

Для биржи или program-controlled wallet выполняйте правила провайдера. Base58-синтаксис сам по себе не доказывает поддержку депозита.

Проверка до публикации invoice

  1. На экране Receive выберите Solana и USDT либо USDC.
  2. Скопируйте полный wallet address, не набирая вручную.
  3. Подтвердите контроль адреса или правила зачисления биржи.
  4. Прочитайте minimum deposit и supported-token rules.
  5. Отдельно проверьте ожидаемый mint.
  6. Создайте небольшой тестовый invoice и оплатите через Solana.
  7. Откройте transaction signature в Solana Explorer или Solscan.
  8. Сверьте успешное исполнение, mint, toUserAccount, amount и изменение token balance.
  9. Убедитесь, что полученный баланс можно отправить или вывести.

Self-custody отправителю обычно нужен SOL для network fee; комиссия меняется. Биржа может брать собственную withdrawal fee.

Выберите точный маршрут: USDT в Solana или USDC в Solana. Токен с похожим названием, другой mint, другая сеть или перевод SOL не оплачивают такой invoice. Полный список — в матрице маршрутов.

Следующий шаг

Создайте отслеживаемую ссылку на оплату

Выставьте счёт в USDT или USDC вручную, отправьте hosted checkout и отслеживайте статус без API.

Ссылки на оплату →