This guide is not translated yet. The up-to-date version is in Russian: /ru/guides/non-custodial-gateway
Гайд · Ключи

Кастодиальный и некастодиальный шлюз: у кого ваш сид

Обновлено: 4 сентября 2026

В крипте есть поговорка: not your keys — not your coins. Не ваши ключи — не ваши монеты. Для платёжного шлюза это главный вопрос, который почти никто не задаёт при выборе: кто владеет seed-фразой кошелька, на который приходят деньги вашего бизнеса? Разбираем три модели и способ проверить любой сервис одним вопросом.

Вопрос, который стоит задать своему шлюзу сегодня

Напишите в поддержку сервиса, которым пользуетесь: «Покажите seed-фразу моего кошелька». Возможные ответы:

  • «Вот она, подтвердите PIN» — у вас некастодиальный или гибридный сервис, средства восстановимы без него;
  • «У отдельных кошельков мерчантов нет seed-фраз, все средства на общих счетах» — ваши деньги технически неотличимы от денег сервиса. Вы кредитор, а не владелец;
  • молчание или «зачем вам?» — тот же случай, только без честности.

Это не теория: истории замороженных «до выяснения» мерчантских балансов и внезапно закрывшихся сервисов повторяются каждый год. Разница между «мои монеты» и «мне должны монеты» проявляется ровно в тот момент, когда сервис недоступен.

Три модели: где лежат ключи

МодельКлючиПлюсМинус
Кастодиальная (большинство облачных шлюзов) только у сервиса, часто общий кошелёк на всех просто: ничего хранить не надо вы — запись в чужой базе; заморозка, взлом или закрытие сервиса = потеря доступа
Некастодиальная (self-hosted, например BTCPay) только у вас полный контроль сервер, обновления, бэкапы и безопасность — тоже полностью ваши; автоподпись выплат по API требует держать ключ на своём сервере
Гибридная (наша) отдельный seed на каждый проект; зашифрованная копия у сервиса, оригинал доступен вам в любой момент работает как облако, восстанавливается как свой кошелёк копия у сервиса существует — это честный риск, см. ниже

Как гибрид устроен на практике

  • Для каждого проекта генерируется отдельная стандартная BIP39-фраза (24 слова) — не «субсчёт» в общем кошельке. Из неё выводятся все адреса приёма, ею подписываются выплаты.
  • Сервис хранит фразу в зашифрованном виде (AES-256-GCM) — без этого невозможно подписывать выплаты по API, ради которых шлюз и существует.
  • Мерчант в любой момент забирает фразу в кабинете под PIN. Каждое раскрытие фиксируется в журнале — вы всегда знаете, что фразу смотрели.
  • Забрали фразу — можете распоряжаться средствами из любого внешнего кошелька, независимо от сервиса, хоть в обход него.

Как восстановить средства без шлюза: инструкция

Фраза стандартная, но путь деривации нужно указать вручную — это важная деталь, о которой честный сервис обязан предупреждать:

  • Bitcoin — путь m/44'/0'/0', Litecoin — m/44'/2'/0', USDT (TRON) — m/44'/195'/0'.
  • У BTC и LTC адреса — native segwit (bech32). Кошельки с автоподбором ищут segwit на пути m/84' и наш кошелёк «увидят» пустым. Это не потеря средств — просто несовпадение схемы поиска: укажите путь m/44' и тип адресов segwit вручную (Electrum и большинство продвинутых кошельков это умеют).
  • Для TRON путь m/44'/195'/0' также указывается вручную.

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

Честно о рисках гибридной модели

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

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

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

Чем «гибридная» модель отличается от кастодиальной по сути?
Двумя вещами: у каждого проекта отдельная seed-фраза (а не запись в общем кошельке сервиса), и эту фразу можно забрать в кабинете в любой момент — после чего распоряжаться средствами без сервиса. У кастодиального сервиса ни того, ни другого: недоступен сервис — недоступны деньги.
Почему кошелёк с автоопределением показывает мой кошелёк пустым?
Адреса BTC/LTC у нас — native segwit на пути m/44', а автоподбор ищет segwit на m/84'. Средства на месте: укажите путь деривации вручную (m/44'/0'/0' для Bitcoin, m/44'/2'/0' для Litecoin) и тип адресов segwit — кошелёк увидит баланс.
Если сервис хранит копию фразы — какой смысл её забирать?
Смысл в независимом доступе: с фразой на руках заморозка аккаунта, сбой или закрытие сервиса не отрезают вас от средств. Копия у сервиса нужна для подписи выплат по API; ваша копия — страховка от самого сервиса.
Можно ли сменить seed-фразу, если она скомпрометирована?
Ротация фразы не предусмотрена — раскрытая фраза действительна бессрочно, это свойство HD-кошельков. При компрометации выводите средства на новый кошелёк немедленно. Именно поэтому каждое раскрытие фразы в кабинете подтверждается PIN и фиксируется в журнале.
Некастодиальный self-hosted вроде BTCPay — не честнее ли?
Честнее некуда — если вы готовы держать сервер, обновлять его, делать бэкапы и отвечать за безопасность ключа, который лежит на этом сервере ради автоматических выплат. Гибрид — это та же восстановимость средств без обязанностей сисадмина. Выбор зависит от того, есть ли у вас инфраструктурная команда.

Дальше: приём без KYC — вторая половина независимости; безопасная автоматизация вывода — в гайде про выплаты; юридические формулировки — в оферте и раскрытии рисков.