Аккаунт
Безопасность и восстановление
Как защищены монеты в Crypto Merchant и как их можно восстановить, если что-то пойдёт не так.
Хранение
Crypto Merchant — кастодиальный сервис. Мы храним ключи от вашего кошелька-пула и адресов для оплаты и перемещаем монеты по вашим указаниям. Учётная книга фиксирует, какие монеты принадлежат какому бизнесу.
У каждого бизнеса свой кошелёк-пул, а не доля в одном горячем кошельке для всех. Адреса вашего пула и их текущие балансы в блокчейне находятся на странице Кошельки, со ссылками на обозреватель блоков для каждой сети.
Одна мастер-фраза восстановления
Каждый кошелёк в Crypto Merchant выводится из одной мастер-фразы восстановления по открытым стандартам BIP-39 и BIP-44. У каждого бизнеса есть собственный номер аккаунта в рамках этой фразы, поэтому его адреса и учёт отделены от адресов и учёта любого другого бизнеса. Ключи же не разделены: тот, у кого есть фраза, имеет доступ ко всем кошелькам, поэтому она хранится так, как описано ниже.
Оператор хранит копию фразы на бумаге, офлайн. Монеты отправляет отдельный компьютер для подписи транзакций, которым управляет оператор; он хранит фразу только в зашифрованном виде. Сайт и его серверы никогда не хранят ни фразу, ни какие-либо закрытые ключи.
Если серверы будут потеряны
Поскольку каждый адрес следует стандартному пути деривации, все адреса и их ключи можно восстановить из фразы восстановления на новом оборудовании, даже если будут потеряны все серверы.
Фраза восстанавливает ключи, но не данные. Балансы, счета и сведения о клиентах хранятся в базе данных платформы, резервная копия которой создаётся каждый день. Резервные копии проверяются: их восстанавливают в отдельную базу данных и сравнивают каждую таблицу и каждый баланс учётной книги с рабочими данными.
Поддельные и флеш-токены
Кто угодно может создать токен под названием «USDT» или «USDC» и отправить его на любой адрес. Мошенники используют такие токены-подделки, а также «флеш»-переводы, которые появляются в кошельке, но так и не завершаются, чтобы создать видимость поступившего платежа. Ничто из этого не может отметить платёж как оплаченный в Crypto Merchant. Эти проверки работают для каждого счёта, платёжной ссылки и страницы оплаты, у каждого бизнеса. Включать ничего не нужно.
- Токены распознаются по официальному контракту. Платёж в токене засчитывается, только если он пришёл с официального контракта из списка ниже (в сети Solana — с официального mint-адреса). Мы никогда не ориентируемся на название, символ или логотип токена, поэтому «USDT» с любого другого контракта игнорируется. В сети Tron засчитывается только официальный контракт TRC-20, а токены TRC-10, которые кто угодно может назвать USDT, игнорируются.
- Неудачные транзакции никогда не засчитываются. Перевод, который завершился ошибкой или был откатан в блокчейне, игнорируется, даже если он виден в обозревателе блоков.
- Засчитываются только подтверждённые платежи. Платёж зачисляется только после того, как его подтвердит сеть. Количество подтверждений для каждой сети указано на странице Монеты и сети. Платёж, который был обнаружен, но так и не подтвердился, например транзакция Bitcoin или Litecoin, которая была заменена (replace-by-fee) или подверглась двойной трате, помечается как отброшенный сетью и никогда не зачисляется. После этого его адрес выводится из оборота и больше никогда не выдаётся другому клиенту.
- Частичные платежи XRP. В XRP Ledger платёж может указывать крупную сумму, а доставлять лишь малую её часть. Мы зачисляем только то, что действительно доставлено (
delivered_amount), и никогда — сумму, указанную в платеже. Выпущенные токены, которые называют себя XRP, отклоняются: засчитывается только нативный XRP. - Gram в сети TON. Засчитывается только Gram (GRAM), который действительно остаётся на адресе. Платежи, вернувшиеся отправителю, игнорируются, как и сообщение, которое лишь указывает сумму в своём тексте, например поддельное уведомление о токене.
Официальные контракты токенов
Crypto Merchant принимает только эти контракты токенов. Это контракты, опубликованные Tether для USDT и Circle для USDC. USDC во всех сетях — это нативный USDC от Circle, а не версия, перенесённая через мост, вроде USDC.e. Этот список берётся из того же реестра, который используют наши системы отслеживания платежей, поэтому он всегда совпадает с тем, что они проверяют.
USDTEthereum· Контракт
0xdAC17F958D2ee523a2206206994597C13D831ec7USDCEthereum· Контракт
0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48USDTBNB Smart Chain· Контракт
0x55d398326f99059fF775485246999027B3197955USDCBNB Smart Chain· Контракт
0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580dUSDTPolygon· Контракт
0xc2132D05D31c914a87C6611C10748AEb04B58e8FUSDCPolygon· Контракт
0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359USDCBase· Контракт
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913USDTArbitrum One· Контракт
0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9USDCArbitrum One· Контракт
0xaf88d065e77c8cC2239327C5EDb3A432268e5831USDTTron· Контракт
TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6tUSDCSolana· Mint-адрес
EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1vUSDTSolana· Mint-адрес
Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB
Подтверждение резервов
Наша страница подтверждения резервов публична. Каждый час по каждой монете она сопоставляет то, что мы должны, с тем, что мы храним. То, что мы должны, берётся из учётной книги: балансы бизнесов, отложенные доли партнёров, а также возвраты и суммы, которые ждут клиентов. То, что мы храним, считывается из блокчейнов на наших адресах пулов и адресах для оплаты. Страница показывает покрытие по каждой монете.
Каждый адрес, на котором есть монеты, указан со ссылкой на обозреватель блоков, без указания владельца, и все их можно скачать в CSV. Адреса вашего пула есть на странице «Кошельки», так что вы можете найти их в публичном списке.
Подтверждённый домен
Подтверждённый домен показывает клиентам, что ваш магазин управляет доменом сайта, который он указывает. После подтверждения ваша страница оплаты, платёжные ссылки, страницы счетов и страницы возврата показывают его рядом с названием магазина, например shop.com · подтверждён, и он также появляется в превью ссылок.
- 1
Укажите свой сайт в разделе Данные бизнеса в настройках.
- 2
Откройте Настройки → Подтверждённый домен и скопируйте TXT-запись. Её значение —
cryptomerchant-verification=, за которым следует ваш собственный токен. - 3
Добавьте запись в настройках DNS: на домене вашего сайта, на основном домене (без www.) или на
_cryptomerchant., за которым следует ваш домен. - 4
Нажмите Проверить. Изменения DNS могут вступить в силу через время от нескольких минут до часа.
Мы повторно проверяем запись каждый день. Значок снимается, если запись исчезла или вы изменили сайт в настройках. Мы только запрашиваем DNS-записи: мы никогда не загружаем ваш сайт.
Защитите свой аккаунт
- Используйте надёжный пароль, который вы больше нигде не используете. Пароли хранятся только в виде защищённого хеша.
- Включите двухфакторный вход с приложением-аутентификатором.
- Давайте каждому участнику команды минимальную роль, которая ему нужна. См. Роли в команде.
- Храните API-ключи и секреты вебхуков на своём сервере и отзывайте любой ключ, который, по-вашему, мог утечь.
- Перепроверяйте адреса для выплат. Криптопереводы нельзя отменить.
- Делайте возвраты клиентам через ссылку на возврат, чтобы они сами вводили свой адрес, вместо того чтобы копировать адрес из чата.
Сообщить о проблеме
Если вы заметили что-то неладное с аккаунтом или платежом, напишите на [email protected]. Мы никогда не попросим ваш пароль или коды двухфакторной аутентификации.