Криптоинтеграция — что нашли и что рекомендуем
ETNA добавляет торговлю криптой в Base / Pro / Mobile, встраивая стек стороннего брокера. Coinbase Prime CaaS — основной кандидат. Этот отчёт объединяет четыре блока исследования (возможности провайдера, UI-скоуп, рабочий прототип, риски и альтернативы) в один документ.
Встроить Coinbase Prime CaaS с одним Prime-портфолио на каждого конечного клиента ETNA. Это укладывается в доменное ограничение (крипто = отдельный аккаунт, отдельный баланс, отдельный бэк-офис) и не заставляет ETNA брать на себя кастоди, KYC или маршрутизацию ордеров. С первого дня строим брокер-сайд абстракцию (интерфейс CryptoProvider), чтобы контракт-сёрфейс оставался переносимым на Kraken, Bitstamp или мульти-венью схему через Fireblocks в будущем.
Восемь открытых вопросов блокируют старт. Рекомендация по умолчанию выделена — где её нет, это развилка. Детальный контекст по каждому — в разделах 1–4.
- Продуктовые поверхности Coinbase, API, кастоди, KYC, комиссии, MiCA
- UI-скоуп P0 → P2 с разделением по Base / Pro / Mobile
- Интерактивный прототип (10 функциональных блоков с API-аннотациями)
- Провайдер-независимая архитектура и матрица альтернатив
- Тепловая карта рисков с ответственными за митигацию
- Кода бэкенда или дизайна схемы данных
- Реальных данных клиентов / контрактов (всё иллюстративно)
- Биллинга на стороне ETNA или прогноза выручки
- Финального выбора платформы (Base / Pro / Mobile) — открытое решение
- Условий контракта с Coinbase (на согласовании)
Coinbase — поверхности, API, план интеграции
У Coinbase есть три разные поверхности, на которых может строиться брокер: Exchange (институциональная площадка), Advanced Trade (ритейл-API) и Prime (CaaS с кастоди на уровне суб-аккаунтов). Prime — правильный выбор под ограничение ETNA «только UI, отдельный бэк-офис».
Сравнение продуктовых поверхностей
| Поверхность | Что это | Подходит ETNA, потому что… | Выбор |
|---|---|---|---|
| Coinbase Prime Партнёрство по CaaS |
Прайм-брокерский стек: smart order routing, кастоди через Coinbase Custody Trust Co. (NYDFS), финансирование, RFQ-блок, стейкинг. REST + FIX 5 + WebSocket. Иерархия: organization → entity → portfolio → wallet. | Портфолио-суб-аккаунты дают каждому клиенту ETNA изолированный баланс и аудит-трейл. ETNA не держит кастоди; KYC остаётся за ETNA как брокером. | Рекомендовано |
| Advanced Trade API Преемник Pro |
Ритейл-ориентированный REST + WebSocket поверх потребительских аккаунтов Coinbase. 550+ рынков. Опционально Coinbase Advanced Developer Program с долей от комиссии. | Ниже барьер входа, но каждому конечному пользователю нужен собственный аккаунт Coinbase. Нет партнёрской иерархии суб-аккаунтов → ломает бэк-офисную сегрегацию ETNA. | Только для прототипа |
| Coinbase Exchange Институциональная площадка |
Прямой торговый движок. REST + FIX 5 Order Entry + WebSocket Feed + FIX Market Data. FDIC pass-through по USD. | Чистое исполнение. Подразумевает, что кастоди, KYC и сеттлмент ETNA реализует где-то ещё. | Вне скоупа |
| Coinbase Onramp Канал фиат → крипто |
Хостед или headless-виджет для фиатного фондирования. Карта / банк / Apple Pay. KYC по покупке — на стороне Coinbase. | Полезное дополнение для ноги фондирования в ритейл-флоу EU/US. Это не торговая поверхность. | Дополнение |
| Embedded Wallets Self-custody, MPC |
Пользовательские кошельки через email / SMS / OAuth. Встроенный onramp, свопы, стейкинг. | Self-custody ломает модель брокер + бэк-офис. Неподходящий инструмент в нашем случае. | Отклонено |
API-поверхность — что вызывает UI ETNAсправка · эндпоинты Coinbase
| POST | /v1/portfolios/{id}/order Отправка ордера · идемпотентность через client_order_id |
| POST | /api/v3/brokerage/orders/preview Превью полной цены (спред + комиссия) |
| GET | /v1/portfolios/{id}/open_orders |
| POST | /v1/portfolios/{id}/orders/{id}/cancel |
| FIX 5 | Order Entry Gateway · институциональный low-latency-путь |
| GET | /v1/portfolios По одному на суб-аккаунт ETNA |
| GET | /v1/portfolios/{id}/balances |
| GET | /v1/portfolios/{id}/activities Сверка для бэк-офиса |
| GET | /v1/portfolios/{id}/fills |
| POST | /v1/portfolios/{id}/wallets · trading / vault / onchain |
| GET | /api/v3/brokerage/products/{id}/candles Гранулярности 60s … 86400s · максимум 300/req |
| GET | /api/v3/brokerage/best_bid_ask |
| WS | ticker · level2_batch · candles · market_trades |
| WS | heartbeat · таймаут неактивности 60–90 с |
| POST | /withdrawals/crypto Требует travel_rule_data в EU/SG |
| POST | /address-book · whitelist обязателен в Travel Rule-юрисдикциях |
| WS | user · события по ордерам и балансу per-portfolio (JWT-авторизация) |
| GET | /exchange/changes/changelog · подписка на изменения API |
План интеграции — 5 фаз
- Заявка на CaaS · interest form
- KYB-пакет (учредительные, бенефициары, AU-лист)
- Выбор юр.лица: торговля — Coinbase Inc.; кастоди не-US — Coinbase Custody International (Ireland)
- YubiKey для AU, видео-верификация
- Бесплатная sandbox · согласование тарифа
- Сборка интерфейса CryptoProvider
- Маппинг Prime REST + WS
- Поток JWT-авторизации
- Путь превью ордера
- Сначала Base Trader (меньше поверхность)
- Переключатель аккаунтов
- Фичи P0 №1–12
- Подключение прототипа v1.1
- Зеркало регистра в бэк-офисе
- Сверка activities и fills
- Поля Travel Rule
- Операционный плейбук
- UAT с пилотными клиентами
- Комплаенс-раскрытия
- UX для maintenance-окон
- Запуск в проде
Официальная документациясправка · ссылки на доки
Spencer Logic — FX/CFD-стек как опция для крипто-CFD
Spencer Logic — это back-office + WebTrader стек для FX/CFD-брокеров с MetaTrader-наследием. Крипто здесь — отдельный класс инструментов рядом с FOREX / Metal / CFD / Stocks (подтверждено в demo-трейдере), реализованный как margin/CFD, а не как спот с собственной кастоди. Опция актуальна, если ITG ок с CFD-моделью и готов принять trade-off «быстрый embed чужого WebTrader против собственного UI ETNA».
Что подтверждено в demo
| Поверхность | Что увидели | Источник | Статус |
|---|---|---|---|
| WebTrader 5 (wt5) Trader UI |
SPA по адресу /wt5. Asset-class табы: All · FOREX_MAJORS · FOREX2 · Metal · CFD · Crypto · Stocks. Margin-модель: Balance / Equity / UPL / Used Margin / Free Margin / Margin Utilization / Liquidation Level. | Логин spldemo101 · скриншот | Подтверждено |
| Crypto-инструменты CFD-style, USD-quoted |
BTC/USD · ETH/USD · LTC/USD · XRP/USD · BCH/USD · BNB/USD · ADA/USD · SOL/USD · DOT/USD · UNI/USD — десять пар, все котируются к USD, со спредом, TP/SL, UPL, Used Margin (USD). Свечной чарт + лента бид/аск + ордер-тикет. | Crypto-таб демо | Подтверждено |
| BO API (Partner Portal) v1.0.680-master · OpenAPI 3.1 |
~250 эндпоинтов. Auth = cookie-сессия (JSESSIONID) + опциональный 2FA. Время сервера — America/New_York. WebSocket-каналы: /api/notifications, /api/account-books, /api/ctier-books, /api/account-operations. Enum типа инструмента включает CRYPTO рядом с FOREX / METAL / CFD / CFD_STOCKS / COMMODITIES. | swagger-ui | Подтверждено |
| Embed-флоу Whitelabel WebTrader |
В BO API есть /api/trader/webtrader-auto-login + /api/public/whitelabel-config (имя бренда, темы, логотипы). Документированной отдельной «JS-widget SDK» в swagger не нашли — embed = iframe всего /wt5 с auto-login-ссылкой. | swagger · public endpoints | Частично |
| On-chain custody / withdraw Спот, кошельки |
В demo и swagger мы не нашли on-chain wallet-эндпоинтов, депозит/withdraw в крипту, addresses, network selection. /api/deposit/currencies и формы пополнения существуют, но Cryptocurrency указана как один из payment-method-ов, не как актив. Это согласуется с CFD-моделью. | swagger search | Не подтверждено |
BO API — короткая карта эндпоинтов справка · Spencer Logic Partner Portal
| POST | /api/wt/order/position/place/market-order |
| POST | /api/wt/order/position/place/pending-order |
| POST | /api/wt/order/position/modify · .../close · .../close/all |
| POST | /api/wt/order/pending/cancel · .../cancel/all · .../modify |
| GET | /api/wt/order/status · bulk-вариант есть |
| GET | /api/wt/portfolio/accounts · .../account-balance · .../all-active-account-balances |
| GET | /api/wt/portfolio/open-positions · .../open-tickets · .../pending-orders |
| GET | /api/trading-account/accounts · .../balance · .../positions · .../trading-history |
| GET | /api/trader/positions · .../deals · .../pendings · .../summary-report |
| GET | /api/wt/instrument/all · полный список с asset-class |
| GET | /api/trader/symbols |
| GET | /api/market/prices |
| WS | /api/account-books · ценовые книги по аккаунту |
| WS | /api/ctier-books · по client-tier |
| WS | /api/account-operations · live-апдейты по сделкам |
| POST | /api/login · /api/logout · cookie JSESSIONID |
| POST | /api/a2f/* · TOTP-style 2FA (qr-code, set-auth-type, verify-key) |
| GET | /api/trader/webtrader-auto-login · одноразовый login-токен для iframe |
| GET | /api/public/whitelabel-config · бренд, темы (light/dark), favicon, логотипы |
| GET | /api/public/app-theme.css · CSS-токены темы |
| GET | /api/session-status · TTL сессии |
Что Spencer Logic — это, а что не это
- Whitelabel-стек FX/CFD-брокера — back-office (Partner Portal) + клиентский WebTrader 5 (SPA) + MT4/MT5 интеграция (/api/mt/*, /api/mt4/mapping/*, /api/mt_groups/*).
- Crypto = ещё один класс инструментов в той же margin-модели, что FOREX и Metal. UPL и комиссии — в USD.
- IB-модель внутри (/api/ib-reports/*, /api/referral-program*) — рассчитан на каскад брокер → IB → клиент.
- Доступ к торговле идёт через cookie-сессию пользователя (или auto-login-токен), не через ключ-секрет API.
- Не нативная крипто-площадка. В demo нет on-chain wallet-эндпоинтов, депозита/withdraw монет, выбора сети — крипта здесь синтетика (CFD), а не спот с кастоди.
- Не «адаптер на биржу» в нашем смысле. SL сам — провайдер; цены приходят из его LP-стека, не из конкретной биржи, к которой мы могли бы написать отдельный адаптер.
- Не JS-widget SDK. Документированный embed — iframe всего WebTrader-а с auto-login-ссылкой и whitelabel-темой; точечно встроить «только график BTC» или «только тикет» из публичной доки нельзя.
- Не партнёрская иерархия sub-accounts как у Coinbase Prime — есть IB / department / org-units, но не portfolio-like sub-accounts с изолированным balance per клиент ETNA в том же виде.
Сценарии стыковки с моделью ETNA
| Сценарий | Как выглядит | Соответствие модели «ETNA = UI + адаптер на биржу» | Оценка |
|---|---|---|---|
| A. Embed wt5 в Etna iframe SL WebTrader + auto-login |
Внутри крипто-таба ETNA встраивается iframe /wt5. Тема, лого подгружаются из whitelabel-config. ETNA не пишет крипто-UI — отдаёт его SL. | Конфликт со скоупом. Etna перестаёт быть «только UI» — Etna становится «только обёрткой». Терят контроль над дизайн-системой, прототипом и UX, продуктовый дифференциатор размывается. | Не подходит |
| B. SL как backend-провайдер Свой UI ETNA поверх BO API |
ETNA строит свой крипто-UI на нашем прототипе и вызывает /api/wt/* + WebSocket-каналы SL для котировок, ордеров и позиций. SL играет роль одного из провайдеров рядом с Coinbase. | Близко к модели. SL встраивается как один «адаптер на биржу» — но это адаптер на CFD-агрегатор, а не на конкретную биржу. Сегрегация per-клиент — через trading-account / IB-иерархию SL, не через portfolio sub-accounts. | Условно |
| C. Гибрид: SL для крипты + Coinbase Prime для спота | Спот-крипта (с кастоди и on-chain withdraw) — через Coinbase Prime. Крипто-CFD (для маржинальных стратегий клиента) — через SL. Разные продуктовые поверхности. | Возможен только если ITG явно хочет и CFD, и спот. Удваивает сложность бэк-офиса и compliance. | Опционально |
Spencer Logic vs Coinbase Prime — сравнение под наш кейс
| Параметр | Spencer Logic | Coinbase Prime |
|---|---|---|
| Тип крипты | Синтетика — CFD на BTC/ETH/LTC/XRP/BCH/BNB/ADA/SOL/DOT/UNI к USD (подтверждено в demo) | Спот + custody через Coinbase Custody Trust Co. (NYDFS), 550+ рынков |
| Кастоди | Не наблюдается on-chain custody в demo/API. Позиция = маржинальная запись. | Полноценная регулируемая кастоди на уровне sub-аккаунтов |
| Auth-модель | Cookie-сессия (JSESSIONID) + опциональный 2FA. Auto-login-токен для iframe. | API-ключи + signed-requests (HMAC), FIX-сертификаты для прямого доступа |
| Поток котировок | WebSocket account-books / ctier-books (LP-агрегированный) | WebSocket ticker / level2_batch / candles / market_trades — биржевой стакан |
| Сегрегация клиента | Trading account + IB-иерархия + org-units; нет portfolio-like sub-accounts «как у Prime» | Portfolio sub-accounts с изолированным balance и аудит-трейлом per клиент |
| Депозит / вывод | Bank Wire / Card / Skrill / Crypto-в-фиате как payment method — НЕТ on-chain crypto-вывода в API | Wire / ACH / on-chain crypto через wallet API; вывод привязан к whitelisted-адресам |
| Регуляторная картинка | FX/CFD-брокерская: CFD на крипту запрещены для ритейла в US, ограничены в EU/UK. Подходит под рынки, где CFD легальны. | Регулируется как US trust + Coinbase Lux под MiCA; спотовая модель глобально приемлемее |
| Покрытие API | ~250 эндпоинтов, OpenAPI 3.1, MT4/MT5-интеграция «из коробки» | REST + FIX 5 (Order Entry + Market Data) + WS; deeper market/portfolio APIs |
| Embed | iframe полного WebTrader + whitelabel theme (light/dark, logo) | Нет «embeddable trader» — собираем свой UI с нуля поверх API |
| Эффект на оценку «1000 ч» | Если идём embed wt5 — резко вниз (часы UI почти исчезают, остаётся обвязка). Если идём «свой UI поверх BO API» — порядок тот же, что для Coinbase, плюс время на адаптер CFD-семантики (margin, swap, групповые маркапы). | Базовая оценка плана из «Раздела 1»: 5 фаз поверх Prime — без изменения |
Что увидели в demo (screenshots)
Открытые вопросы (для ITG / Spencer Logic)
- CFD vs спот. Подтвердить: Spencer Logic поддерживает только крипто-CFD (синтетика, без on-chain custody), или есть отдельный спотовый стек, не видимый в demo-аккаунте? Это ключ к разговору с регулятором и к фиту в US/EU/UK.
- Происхождение котировок. Кто LP за крипто-парами в SL? Это аггрегатор (LMAX-style, B2C2, Cumberland) или их собственный warehouse? От ответа зависят spread, slippage и зависимость от одного контрагента.
- Доступ к BO API для брокера. Демо-логин (spldemo101) к BO API возвращает 401 — это trader-уровень. Какой scope получает брокер уровня ETNA на BO API? Видны ли rate limits / SLA?
- Embed-модель. Есть ли (вне публичной swagger-доки) компонентный SDK, чтобы встраивать отдельные элементы (chart / ticket / depth-of-book) в наш UI, а не iframe целиком? Иначе вариант B («свой UI поверх API») остаётся единственным «не-теряем-UI» путём.
- Сегрегация per клиент. Можно ли создавать суб-аккаунт ETNA с собственным balance и отчётностью, не плодя trading-account-ы вручную? Как реализуется аудит-трейл за квартал?
- Депозит/withdraw крипты. Если клиенту нужно вывести крипту on-chain — есть ли отдельный wallet-сервис SL, или вывод возможен только в фиат? (В demo и в публичной swagger-доке — нет.)
- Commerce. SaaS-модель Spencer Logic под whitelabel — фикс / per-trader / rev-share? Как это меняет наш оценочный фрейм «1000 ч vs SaaS» из переговоров с ITG?
Что должен уметь криптоинтерфейс ETNA
Двенадцать фич P0 формируют обязательный must-ship-набор. Шесть фич P1 закрывают паритет. Всё за пределами (продвинутые order ladder, OCO, лендинг, стейкинг) откладываем. Полный источник: docs/research/crypto-ui-scope.md.
P0 — обязательны к запуску
Матрица отличий между платформами
| Возможность | Base Trader | Pro Trader | Mobile | Примечания |
|---|---|---|---|---|
| Ордера market и limit | ● | ● | ● | P0 на всех платформах |
| Stop / stop-limit | отложено | ● | v1.1 | Pro-аудитория требует; Base/Mobile подождут |
| Глубина рынка / стакан | ✕ | Pro v2 | ✕ | Fidelity не делает; ladder у Robinhood только на mobile |
| OCO / бракет | ✕ | Pro v2 | ✕ | Откладываем везде |
| Регулярные покупки | отложено | отложено | отложено | Легко прикрутить после стабильного ввода ордера |
| Мульти-панельный график | ✕ | ● | ✕ | Pro переиспользует существующий чартинг-виджет |
| Переключатель аккаунтов (шапка) | ● | ● | ● | На Mobile — сегмент в верхней части экрана |
| Выбор маршрутизации | ✕ | только мульти-венью | ✕ | Скрыт при одной площадке |
| 24/7 + maintenance-баннер | ● | ● | ● | Видимый, дисмиссабельный, локализованный по времени |
- Точность. 8 знаков для BTC/ETH, 6 знаков для стейблов. Храним полную, показываем округлённую.
- 24/7. Никакого UI «обычные часы / after-hours», унаследованного от акций.
- TIF по умолчанию. Market = IOC, Limit = GTC. (В акциях дефолт — Day; в крипте такого нет.)
- Комиссии. Полная цена исполнения на каждом подтверждении. Спред зашит у ритейла, явный у институционалов.
- Символика. Пары coin/USD в ордере, голый код монеты — в вотчлисте.
- Стейкинг, лендинг, yield, NFT, DeFi
- Маржа / плечо на крипте
- OCO / бракет / trailing stop / iceberg / алгоритмы
- Стакан / depth-of-market (только Pro v2)
- Ончейн-переводы (отдельный комплаенс-трек — v2)
- Выбор tax lot / harvesting UI
- Cross-margin между крипто- и stock-аккаунтами
- Мульти-язычность (на запуске только английский)
Рабочий прототип (v1.1)
Общий веб-UI-прототип с 10 интерактивными блоками и инлайн-аннотациями API Coinbase. Один HTML-файл, без сборки и без бэкенда. Откройте действие ниже в новой вкладке или прокрутите вниз и используйте встроенный просмотр.
- Переключатель аккаунтов (крипто ↔ акции)
- Вотчлист · 4 тикера
- График цены + панель интервалов
- Вкладки Positions / Open / History
- Окно ордера · превью
- Модалка подтверждения
На каждом функциональном блоке виден чип эндпоинта Coinbase (GET POST WS), кликабельный на канонический документ. Тоггл в шапке прячет их для чистого просмотра.
- Не отражает специфику Base / Pro / Mobile
- Не подключён к Coinbase
- Не продакшен-код
- Только английский · только светлая тема
Риски, альтернативы и провайдер-независимая архитектура
Coinbase Prime — кандидат, но каждый UI-блок должен ходить через общий интерфейс CryptoProvider, чтобы контракт-сёрфейс можно было переключить на Kraken, Bitstamp или мульти-венью схему через Fireblocks без переписывания фронта ETNA.
Провайдер-независимая архитектура
Три слоя, одно направление зависимости: UI ETNA обращается к стабильному адаптеру, адаптер реализует маппинг на Coinbase Prime сегодня, альтернативные адаптеры добавляются позже. UI никогда напрямую не называет провайдера.
Интерфейс CryptoProvider — код и обоснованиесправка · для инжиниринга
// Провайдер-нейтральные типы — никаких Coinbase-форм interface CryptoProvider { auth: { // возвращает короткоживущий JWT для WS · канал user issueSessionToken(portfolioId): Promise<Token>; }; accounts: { listPortfolios(): Promise<Portfolio[]>; getBalances(portfolioId): Promise<Balance[]>; getActivities(portfolioId, range): Promise<Activity[]>; }; marketData: { getCandles(productId, granularity): Promise<Candle[]>; getBestBidAsk(productId): Promise<BBO>; streamTicker(productIds, onTick): Subscription; }; orders: { previewOrder(req): Promise<Preview>; submitOrder(req, idempotencyKey): Promise<Order>; cancelOrder(portfolioId, orderId): Promise<void>; listOpen(portfolioId): Promise<Order[]>; listHistorical(portfolioId, range): Promise<Order[]>; }; transfers: { initiateWithdrawal(req, travelRuleData): Promise<Transfer>; listAddressBook(portfolioId): Promise<Address[]>; }; webhooks: { subscribe(events, url): Promise<Sub>; verifySignature(req): boolean; }; }
- auth. У разных провайдеров разные форматы токенов — JWT, HMAC-подписанный REST, FIX SenderCompID. Прячем механизм.
- accounts. У Coinbase это portfolios, у Kraken — subaccounts, у Fireblocks — vault accounts. Нормализуем в один термин.
- marketData. WS-каналы отличаются по фан-ауту, батчингу, авторизации. Адаптер сам владеет логикой reconnect и heartbeat.
- orders. Двухшаговая схема preview → submit обязательна для раскрытия комиссий. Если у провайдера нет нативного превью — адаптер строит синтетическое.
- transfers. Travel Rule-данные зависят от юрисдикции, а не от провайдера. Адаптер собирает пейлоад.
- webhooks. Адаптер валидирует HMAC-подписи и переводит события провайдера во внутреннюю шину событий ETNA.
Альтернативы — сравнительный обзор
Оценили пять кандидатов. Coinbase Prime остаётся рекомендацией; остальные существуют, чтобы архитектура не была дверью в одну сторону. Источники: страницы Kraken Institutional и Embed, Binance VIP institutional, dev-доки Fireblocks, Bitstamp-as-a-Service, Anchorage Digital.
Полная матрица: 6 провайдеров × 7 критериевсправка · развернуть таблицу
| Провайдер | Модель кастоди | Регулирование | API-поверхность | Суб-аккаунты | Комиссии / модель | Готовность к MiCA |
|---|---|---|---|---|---|---|
| Coinbase Prime Основной кандидат |
Квалифицированное кастоди (Coinbase Custody Trust, NYDFS). Сегрегация, Article 8 UCC. Страховой пул + FDIC pass-through по USD. | US · 45+ MTL, NYDFS Trust EU · MiCA через CB Lux (июнь 2025) UK · ожидается FCA CA · MSB |
REST · FIX 5 · WS JWT-авторизация · 10/15 rps |
Нативно Портфолио на клиента |
Спред + tiered maker/taker (40–0 bps maker, 60–5 bps taker по объёму за 30 дней). CaaS-прайсинг индивидуальный. | Да · Lux |
| Kraken Embed / Institutional |
Интегрированное кастоди · ISO 27001 + SOC 2 Type 1. «Bankruptcy-remote». Нет траст-компании уровня NYDFS. | EU · №1 по доле рынка, соответствует MiCA US · MSB, покрытие по штатам UK · зарегистрирован в FCA 190+ стран |
REST · FIX 4.4 · WS Subaccounts API · базовая задержка 2,5 мс |
Нативно Strategy- и client-суб-аккаунты |
Спред + tiered maker/taker. Embed-прайсинг индивидуальный с партнёром. 660+ активов. | Да · EU |
| Binance VIP / Institutional |
Кастоди через Ceffu (партнёр). Banking Triparty — опция эскроу залога в регулируемом банке. | 20+ юрисдикций, глобальная лицензия ADGM (Абу-Даби). Нет US-ритейла. После MiCA EU-покрытие неровное. | REST · WS · FIX (институциональный) 2 000+ пар |
По тиру Суб-аккаунты открываются от VIP 1+ ($300k/30 дней) |
Tiered VIP, ниже при большем объёме за 30 дней. Институционалам — индивидуально. | Ограниченно |
| Bitstamp As-a-Service (принадлежит Robinhood) |
Три тира · тир «Complete» включает KYC/AML и лицензирование на стороне Bitstamp — вариант с минимальной нагрузкой. | US + 45+ лицензий в мире EU · позиционируется под MiCA UK · FCA |
REST · WS · FIX · Open Banking API | «Exchange Plus» Сегрегированная отчётность по клиентам |
Tiered; «Complete» — end-to-end-пакет. | Да |
| Fireblocks Кастоди + маршрутизация |
MPC-self-custody · Fireblocks Trust (NYDFS, 2024) для квалифицированного кастоди. Сегрегированные или sweep-to-omnibus хранилища. | NYDFS Trust · SOC 2 · ISO 27001 Мульти-юрисдикция через банки-партнёры |
REST · WS · вебхуки Не торговая площадка — слой подключения |
Нативно Vault-аккаунты на клиента |
Комиссии за кастоди и операции · комиссии площадок — pass-through | Через партнёров |
| Anchorage Только кастоди · федеральный банк |
OCC-чартированный банк цифровых активов (2021). Самая сильная регуляторная обёртка в США. | US · федеральный чартер EU · ограниченно |
REST · только институционалам | По клиенту Сегрегированное квалифицированное кастоди |
Кастоди + финансирование · институционалам индивидуально | Нет |
MiCA-реальность 2026 — что это значит для коин-юниверса в EU
Это конкретные ограничения, которые ETNA получит в EEA «бесплатно» вместе с Coinbase Prime / CB Lux — их нельзя обойти кодом, только выбором ассетов и юридической формой работы с клиентом.
Tether отказался от MiCA-комплаенса (требование 60% резервов в EU-банках). Делистинг: Coinbase Europe (12.2024), Crypto.com (01.2025), Binance EU (03.2025). ESMA: «sell-only» до 31.03.2025, дальше — конверсии.
Импликация: для EU-клиентов ETNA не должен предлагать USDT как торговую пару. Прототип уже использует USDC — правильно.
USDC сохранил MiCA-комплаенс (Circle авторизован в EU), но для не-евро EMT, используемых как средство платежа, действует cap эмитента: 1 млн транзакций или €200 млн в день. Лимит — на эмитента, не на пользователя, но при системном превышении эмитент обязан остановить выпуск.
Импликация: если EU-объёмы вырастут — иметь резервный план на EURC (Circle, euro-deno) или Stasis EURS.
По мнению EBA (июнь 2025), переводы EMT «от имени клиента» и кастоди-операции с EMT могут квалифицироваться как платёжные услуги по PSD2. Переходный период — до 1 марта 2026. Дальше — нужна PSD2-лицензия или партнёрство с PSP.
Импликация: на сценарий «ETNA переводит USDC между клиентами» нужен лицензированный посредник — это решение к Q1 2026.
Дашборд рисков
Двенадцать существенных рисков на матрице «влияние × вероятность». Наведите на чип, чтобы увидеть владельца митигации и конкретное действие.
Владельцы митигаций — краткосправка · те же данные в подсказках heatmap
| Риск | Владелец | Конкретное действие | Статус |
|---|---|---|---|
| Вендор-лок | Architecture | Построить абстракцию CryptoProvider с первого дня. Никаких Coinbase-типов в UI и бэк-офисном слое. | Спроектировано |
| Изменения API | Engineering | Подписка на changelog Coinbase. Закладывать инженерный ресурс каждые 12–18 месяцев на апгрейды (прецеденты: FIX 4.2 → 5, legacy → CDP-ключи). | План |
| Концентрация кастоди | Compliance | Документировать плейбук ончейн-миграции по клиентам. Подложить мульти-венью через Fireblocks как страховку в v2. | План |
| Пробелы Travel Rule | Compliance | UI вывода блокируется при отсутствии Travel Rule-данных. Whitelist адресной книги обязателен в TR-юрисдикциях (EU, SG, CA). | План |
| Сбой провайдера | Engineering | Поллер статус-страницы. Баннер degraded-режима. Авто-пауза новых ордеров, если WS heartbeat падает > 30 с. Видимо для пользователя — никогда не молча. | План |
| Раскрытие волатильности | Product + Legal | Модалка первой сделки с регуляторно-выверенным текстом. Для ордеров от $5k — дополнительное подтверждение «введите сумму». | План |
| Replay при миграции MiCA | Engineering | Обработка события «все открытые ордера отменены в момент перехода». Пересоздание висящих ордеров после миграции с уведомлением пользователя. | План |
| Ошибки fat-finger | Product | Превью перед отправкой. Дополнительное подтверждение для крупного ордера. Зачитка полной цены в модалке подтверждения. | В прототипе |