Права ключей · проверяем по площадке

Минимальные права. Честные границы.

perpwave не просит мастер-ключ и не содержит withdraw, transfer или admin-функций в онлайн-сервисе. Но технические возможности credential различаются по площадкам: scope и blast radius проверяются отдельно при production admission.

least capability no withdraw path in producthash-chain журнал
система: dry-стартscope: per venueadmission: fail-closedпроверяемо

Три опоры снижения custody-риска

Не «поверьте нам». Проверьте сами.

Минимально доступный credential

Ты создаёшь отдельный agent/signer credential для capped-аккаунта или subaccount. Мастер-ключ остаётся у тебя. В продукте нет функций вывода, перевода средств или управления ключами; venue-level capability проверяется отдельно.

Проверка: scope, account identity и blast radius

Trust Receipt

Пруф, а не «поверь на слово»: Receipt показывает фактически проверенные права, account identity и версию кода. Каждая реальная сделка ложится в hash-chain журнал, который можно сверить офлайн.

Проверка: сверить capability, адреса и хэш

Старт в тесте

Бот всегда стартует в dry (тест, без реальных ордеров). После capability-check, account isolation, venue admission и owner MFA ты подтверждаешь REAL. Экстренное закрытие — в Telegram и в вебе.

Проверка: режим виден в кабинете

Trust Receipt

«Проверь сам, не доверяй

Trust Receipt — выписка фактически подтверждённых прав для конкретной площадки и аккаунта. UNKNOWN не превращается в «нет права» и блокирует production admission.

Trust Receiptпример схемы · не admission
admission BLOCK
Withdraw в продуктеметода нет ✓
Capability credentialper venue
Непроверенный scopeadmission BLOCK
agent ≠ мастер-кошелёктребует evidence
signer ≠ владелец venueне подтверждено
Размещение ордеровBLOCK до admission
Режим запускаdry (тест)
Запись в журналпосле запуска
1
Бот выводит хэш своего кода
Receipt привязан к конкретной версии движка — нельзя подменить логику после проверки.
2
Сверяешь фактические права credential
Receipt фиксирует credential, account identity и venue capability. Если negative capability не доказана, статус остаётся UNKNOWN.
3
Каждая сделка — в hash-chain
Журнал действий нельзя переписать задним числом; ты видишь, что бот только торговал.
Честно: торговые credentials хранятся на сервере оператора зашифрованными (Fernet, права 0600). Возможности самого credential зависят от площадки; поэтому отдельный capped-аккаунт и admission-проверка обязательны. Мастер-ключ остаётся только у тебя.

Архитектура custody

Что у тебя. Что у нас.

Остаётся у тебя

  • Мастер-кошелёк и право вывода средств
  • Возможность отозвать agent/signer-ключ в любой момент
  • Подтверждение REAL после admission и owner MFA
  • Кнопка экстренного закрытия — закрывает только твой аккаунт

Только у нас (scoped credential)

  • Отдельные credentials — зашифрованы (Fernet, 0600), используются только venue-adapter-ом
  • Непроверенный scope или account isolation оставляет admission в BLOCK
  • Сервер с движком — open→hedge→rollback, под placement-lock
  • Никакого доступа к чужим аккаунтам или ключам

Нашли проблему?

Responsible disclosure: напишите на partner@perpwave.com или в @perpwave_bot. Не присылайте приватные ключи, seed-фразы или реальные credentials.

Анти-Sybil моат

Каждый аккаунт — со своим почерком.

Поведенческий отпечаток (плечо, размер, длина холда, суточный ритм, темп) детерминирован донор-кошельком, а не рандомом. Аккаунты под одним фондированием выглядят независимыми для чейн-аналитики, а per-trade джиттер делает паттерн неуловимым.

~14 измерений почерка
Пары, плечо-диапазон, стиль размера, длина и разброс холда, суточная кривая, темп оборота.
Джиттер на каждой сделке
Персона воспроизводима, но конкретные сделки варьируются — устойчиво к кластеризации.
Per-account прокси в плане
Планируется резидентный прокси на аккаунт, чтобы площадки не склеивали флот по IP — часть незавершённой per-account изоляции (см. границы ниже).

Self-audit флота

Раз в пару дней смотрим, как торгует флот, глазами Sybil-хантера, и тихо подкручиваем. Сильный сигнал уходит оператору с готовым планом.

Разброс плеча88%
Декорреляция пар76%
Разнос таймингов81%
Высокий процент = аккаунты выглядят несвязанными. <50% → алерт.
Плечо у аккаунтов специально разное (≈2–20x, жёсткий потолок 20x) — это часть анти-Sybil маскировки, а не косяк. От ликвидации страхует не маленькое плечо, а liq-guard (см. Safety-стек ниже): он закрывает лонг и шорт на обеих биржах сильно заранее.

Safety-стек

Защита капитала — слоями.

liq-guard
Закрывает обе позиции на биржах, когда убыточная приближается к ликвидации (≈60% маржи) — задолго до 100%.
basis-guard
Закрывает цикл, если цены площадок разъехались и остаточная экспозиция превысила порог.
unhedged-watchdog
Если на одной бирже позиция исчезла или ликвидировалась — мгновенно закрывает вторую, восстанавливая нейтральность.
dead-man switch
Если торговый цикл завис — флот закрывается и ставится на паузу автоматически.
дневной лимит убытка
При просадке по реальному PnL движок переходит в защитный режим.
warm-up
Первые ~50 минут реала — меньший размер, плавный разгон.
Честные границы:
  • нет внешнего аудита или лицензии — есть код с offline-тестами и открытые границы доказательств.
  • Это не «полностью без кастодии»: credentials хранятся на сервере зашифрованными (Fernet, 0600), а их venue-level capability различается.
  • Production admission и REAL включаются отдельно для каждой площадки; UNKNOWN или неполный readback блокирует запуск.
  • Операционный износ — оценка, ещё не зафиксирован вживую.
  • Аирдроп спекулятивен — мы не обещаем токен, его цену или размер.

Хочешь проверить сам?

Доступ по приглашению: отдельный scoped credential, capability-check и Trust Receipt по конкретной площадке.