Структура кошельков
Все цифровые активы в Pert хранятся в строгой иерархии из четырёх уровней: Workspace → Vault → Wallet → Address. Каждый уровень вкладывается в предыдущий и наследует от него границы изоляции, ключи и часть правил доступа.
Эта страница — справочник по этой иерархии: что представляет собой каждый уровень, сколько вложений он может содержать, и как уровни связаны между собой. Если вы проходите онбординг, начните с создания аккаунта и кошелька, затем получите адрес и пополните кошелёк.
Создайте аккаунт и кошелёк в консоли
Перед созданием активируйте рабочее пространство. Вам нужны права на просмотр и создание аккаунтов и кошельков; если кнопки создания недоступны, обратитесь к владельцу рабочего пространства.
- В Customer Console выберите нужное рабочее пространство и откройте «Аккаунты».
- Нажмите «Создать аккаунт». Введите название, например «Казначейство», и нажмите «Создать». Аккаунт в консоли соответствует Vault в иерархии ниже. Если подходящий аккаунт уже есть, откройте его.
- Нажмите на строку аккаунта, чтобы открыть список его кошельков.
- Нажмите «Создать кошелек» и выберите «Валюту». Проверьте сеть: одинаковый символ токена в разных сетях не означает один и тот же актив.
- Нажмите «Создать» и дождитесь появления кошелька в таблице. Если у валюты показано «Уже используется», кошелёк для неё уже есть в этом аккаунте — используйте существующую строку.
Автопополнение
Переключатель «Автопополнение» при создании аккаунта относится к газу для сетевых комиссий. Это не пополнение баланса выбранного вами токена. Условия работы описаны в разделе «Газостанция».
Результат этого шага — аккаунт с хотя бы одним кошельком. Теперь можно получить адрес для первого поступления.
Получите адрес и пополните кошелёк
- В разделе «Аккаунты» откройте нужный аккаунт.
- В строке кошелька нажмите значок QR-кода «Информация о кошельке». Откроется окно «Адрес кошелька» с адресом и QR-кодом.
- Скопируйте адрес кнопкой копирования или отсканируйте QR-код приложением, из которого будете отправлять средства.
- На стороне отправителя выберите тот же актив и ту же сеть. Для пространства с отметкой тестовой сети используйте соответствующую тестовую сеть.
- Отправьте небольшую сумму и дождитесь обработки поступления. Проверьте операцию в разделе «Транзакции» и доступный баланс в строке кошелька.
Сверьте сеть перед отправкой
Одинаковый формат адреса не гарантирует совместимость сетей. Адрес, актив и сеть должны соответствовать выбранному кошельку.
Если поступление ещё не видно, проверьте статус операции на стороне отправителя, адрес получателя и сеть. Если операция видна, но средства недоступны для перевода, проверьте статус и возможные ограничения: поступление также может проходить AML-проверку. Подробнее — в описании жизненного цикла транзакции.
Порядок отправки средств описан в разделе «Переводы».
Иерархия одним взглядом
| Уровень | Сколько вложений |
|---|---|
| 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-адрес
- Wallet
- Vault
payouts(status:active,auto_fuel: true)- Wallet
ETH— один EVM-адрес для выплат
- Wallet
- Whitelisted кошельки: 27 заранее одобренных адресов
контрагентов, на которые разрешены выводы из vault
payoutsбез ручного аппрува.
Политики настроены так, что выводы из treasury всегда требуют
кворум 2-of-3 подписантов, а выводы из payouts на любой
whitelisted-адрес проходят автоматически до лимита 10 000 USD
в сутки.