Перейти к содержанию

Структура кошельков

Все цифровые активы в Pert хранятся в строгой иерархии из четырёх уровней: Workspace → Vault → Wallet → Address. Каждый уровень вкладывается в предыдущий и наследует от него границы изоляции, ключи и часть правил доступа.

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

Создайте аккаунт и кошелёк в консоли

Перед созданием активируйте рабочее пространство. Вам нужны права на просмотр и создание аккаунтов и кошельков; если кнопки создания недоступны, обратитесь к владельцу рабочего пространства.

  1. В Customer Console выберите нужное рабочее пространство и откройте «Аккаунты».
  2. Нажмите «Создать аккаунт». Введите название, например «Казначейство», и нажмите «Создать». Аккаунт в консоли соответствует Vault в иерархии ниже. Если подходящий аккаунт уже есть, откройте его.
  3. Нажмите на строку аккаунта, чтобы открыть список его кошельков.
  4. Нажмите «Создать кошелек» и выберите «Валюту». Проверьте сеть: одинаковый символ токена в разных сетях не означает один и тот же актив.
  5. Нажмите «Создать» и дождитесь появления кошелька в таблице. Если у валюты показано «Уже используется», кошелёк для неё уже есть в этом аккаунте — используйте существующую строку.

Автопополнение

Переключатель «Автопополнение» при создании аккаунта относится к газу для сетевых комиссий. Это не пополнение баланса выбранного вами токена. Условия работы описаны в разделе «Газостанция».

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

Получите адрес и пополните кошелёк

  1. В разделе «Аккаунты» откройте нужный аккаунт.
  2. В строке кошелька нажмите значок QR-кода «Информация о кошельке». Откроется окно «Адрес кошелька» с адресом и QR-кодом.
  3. Скопируйте адрес кнопкой копирования или отсканируйте QR-код приложением, из которого будете отправлять средства.
  4. На стороне отправителя выберите тот же актив и ту же сеть. Для пространства с отметкой тестовой сети используйте соответствующую тестовую сеть.
  5. Отправьте небольшую сумму и дождитесь обработки поступления. Проверьте операцию в разделе «Транзакции» и доступный баланс в строке кошелька.

Сверьте сеть перед отправкой

Одинаковый формат адреса не гарантирует совместимость сетей. Адрес, актив и сеть должны соответствовать выбранному кошельку.

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

Порядок отправки средств описан в разделе «Переводы».

Иерархия одним взглядом

WorkspaceVaultWalletAddressОдин wallet на сеть. В каждом wallet — один адресдля приёма средств.11..*10..*11
WorkspaceVaultWalletAddressОдин wallet на сеть. В каждом wallet — один адресдля приёма средств.11..*10..*11
Уровень Сколько вложений
Workspace 1..* vault
Vault 0..* wallet
Wallet 1 address

Workspace

Изолированная единица учёта внутри платформы: набор vault'ов, кошельков, пользователей, политик, AML-настроек и устройств-подписантов.

Workspace задаёт границы безопасности и видимости. Всё, что описано ниже, существует строго в рамках одного workspace:

  • MPC-ключи разных workspace друг с другом не пересекаются;
  • балансы, транзакции и истории — изолированы;
  • роли и права выдаются строго в рамках одного workspace;
  • политики (transfer, AML) настраиваются на уровне workspace.

Один клиент (юридическое лицо) может владеть несколькими workspace'ами — например, под разные подразделения, продукты или тестовое/боевое окружения.

Vault

Логическая группа кошельков внутри workspace, объединённая общим набором MPC-ключей и общим назначением — например, «горячий кошелёк», «казначейство», «выплаты пользователям».

Vault — основная единица доступа

Большинство политик и многих ролей выдаются «на vault»: можно дать одному пользователю право подписи в хранилище казначейства, а другому — только в горячем кошельке.

Свойства vault:

  • Статус — active, frozen или deleted. Заморозка vault блокирует исходящие операции по всем кошелькам внутри него.
  • Derivation path — общий префикс HD-дерева ключей. Все кошельки и адреса внутри vault выводятся как дочерние ключи от этого пути, поэтому один набор MPC-ключей покрывает все блокчейны vault.
  • Auto-fuel — флаг автоматического пополнения газа на дочерних адресах в EVM-сетях (если включён, система сама подбрасывает нативную монету для оплаты комиссии).
  • Теги — до 20 меток на vault: группировка и фильтрация списка аккаунтов, а также условие выбора источника или назначения в правилах политик.

В каждом workspace всегда есть хотя бы один vault — он создаётся при первичной настройке.

Wallet (кошелёк)

Контейнер активов одного блокчейна внутри vault. Хранит баланс, набор адресов и историю транзакций по конкретной сети/ассету.

Кошельки бывают двух типов:

Кошельки, ключами от которых владеет MPC-схема Pert (доли распределены между нодами и устройствами подписантов клиента).

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

Используются для приёма депозитов и отправки исходящих транзакций. Доступный баланс и заморозки учитываются именно на уровне внутреннего кошелька.

Зарегистрированные адреса контрагентов, на которые разрешены выводы средств. Управляются через раздел Whitelisted Wallets в Customer Console.

Внешний кошелёк содержит ровно один адрес — сам whitelisted-адрес. Балансы у такого кошелька не отслеживаются: он нужен исключительно как «известное и проверенное» назначение для исходящих переводов.

Политики позволяют разрешать выводы только на whitelisted-кошельки и требовать дополнительный аппрув для остальных (one-time addresses).

Само добавление адреса в белый список рабочее пространство может закрыть согласованием изменений: запрос отвечает 403 QUORUM_APPROVAL_REQUIRED с идентификатором запроса, а адрес появляется в списке после одобрения; повторять запрос не нужно.

Один vault обычно содержит несколько внутренних кошельков — по одному на каждую поддерживаемую сеть/ассет.

Address

Конкретный on-chain адрес внутри кошелька, на который можно принимать средства. На каждый кошелёк приходится один такой адрес — он создаётся вместе с кошельком и далее переиспользуется для всех поступлений (в том числе для UTXO-сетей вроде BTC).

Адрес выводится из ключей vault по детерминированному HD-пути (BIP-32). По этому пути MPC-схема в момент подписи восстанавливает дочерний ключ для нужного адреса, не имея ни мастер-ключа, ни возможности его собрать.

Как это работает вместе

Пример: типичная конфигурация

Один workspace «Acme Trading» содержит:

  • Vault treasury (status: active)
    • Wallet BTC — один BTC-адрес на приём средств
    • Wallet ETH — один EVM-адрес
    • Wallet USDT-TRC20 — один TRON-адрес
  • Vault payouts (status: active, auto_fuel: true)
    • Wallet ETH — один EVM-адрес для выплат
  • Whitelisted кошельки: 27 заранее одобренных адресов контрагентов, на которые разрешены выводы из vault payouts без ручного аппрува.

Политики настроены так, что выводы из treasury всегда требуют кворум 2-of-3 подписантов, а выводы из payouts на любой whitelisted-адрес проходят автоматически до лимита 10 000 USD в сутки.

Что дальше

  • Политики — как настроить правила обработки транзакций для конкретных vault и кошельков.
  • Webhooks — как получать уведомления о новых адресах, депозитах и изменениях статусов транзакций по интересующим вас кошелькам.
  • API — справочник REST-методов для управления vault, кошельками и адресами.