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

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

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

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

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

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-сетях (если включён, система сама подбрасывает нативную монету для оплаты комиссии).

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

Wallet (кошелёк)

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

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

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

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

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

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

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

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

Один 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, кошельками и адресами.