5. Технический стек¶
Архитектура системы¶
graph TB
subgraph Clients["🌍 Клиенты"]
MP[On/Off-Ramp<br>MoonPay, Transak]
TR[Биржи<br>Binance, Bybit]
RM[Кошельки / РФ обменники]
end
subgraph TwinBridge["🌉 Twin Bridge"]
GW[API Gateway<br>Rate Limiting, Auth]
RE[Rate Engine<br>Best Price Routing]
SM[Settlement Manager<br>Reconciliation]
CM[Compliance Module<br>SDN Screening]
MON[Monitoring<br>Alerts, Logs]
end
subgraph Partners["🏦 Обменники КР"]
TS[TokenSpot]
BR[BitRuby]
CN[Coin Nomad]
BT[Biatex]
end
MP & TR & RM -->|REST API| GW
GW --> RE
GW --> CM
RE --> SM
RE -->|WebSocket| TS & BR & CN & BT
SM -->|Settlement| TS & BR & CN & BT
MON -.->|Observe| GW & RE & SM
style GW fill:#063CC1,stroke:#3B6FE8,color:#fff
style RE fill:#063CC1,stroke:#3B6FE8,color:#fff
style SM fill:#0527A0,stroke:#3B6FE8,color:#fff
style CM fill:#0527A0,stroke:#3B6FE8,color:#fff
Core Components¶
| Компонент | Роль | Технология |
|---|---|---|
| API Gateway | Аутентификация, rate limiting, routing | Node.js / Go |
| Rate Engine | Агрегация котировок, best price | Go / Rust |
| Settlement Manager | Сверка, reconciliation | PostgreSQL + queue |
| Compliance Module | SDN screening, Travel Rule | External APIs |
| Infra Builder | Интеграция обменников с банками/PSP | Node.js + adapters |
| Monitoring | Метрики, алерты, логи | Prometheus + Grafana |
Продукт 2: Инфра-билдер для обменников¶
Проблема
Большинство из обменники КР не имеют готовой инфраструктуры — нет интеграции с банками, PSP, платёжными системами. Работают мануально через P2P.
Что мы строим для обменников¶
graph LR
TB[🌉 Twin Bridge<br>Infra Builder] --> B[🏦 Банки КР<br>Оптима, Демир, Элсом]
TB --> P[💳 PSP<br>Элсом, О!Деньги, Balance]
TB --> A[🔌 API адаптеры<br>REST, WebSocket, FIX]
B & P & A --> E[🏪 Обменник КР<br>Готовая инфраструктура]
style TB fill:#063CC1,stroke:#3B6FE8,color:#fff
style E fill:#10B981,stroke:#0D9668,color:#fff
| Услуга | Описание |
|---|---|
| Банковская интеграция | Подключение к корсчетам, acquiring, SWIFT |
| НСПК / МИР | Доступ к RUB расчётам для обслуживания РФ рынка |
| PSP интеграция | Элсом, О!Деньги, Balance, MBank |
| API разработка | REST/WebSocket API для обменника |
| KYC/AML setup | Настройка compliance процедур |
| Мониторинг | Dashboards, алерты, reconciliation |
API для провайдеров¶
Основные endpoints¶
GET /api/v1/quotes — Получить котировки
POST /api/v1/orders — Создать ордер
GET /api/v1/orders/:id — Статус ордера
POST /api/v1/orders/:id/confirm — Подтвердить
GET /api/v1/exchangers — Список обменников
GET /api/v1/currencies — Поддерживаемые валюты
Пример запроса котировки¶
{
"from_currency": "KGS",
"to_currency": "USDT",
"amount": 100000,
"direction": "on_ramp",
"provider_id": "moonpay"
}
Пример ответа¶
{
"quotes": [
{
"exchanger": "tokenspot",
"rate": 89.45,
"available_amount": 500000,
"ttl_seconds": 30,
"settlement_time": "instant"
},
{
"exchanger": "bitruby",
"rate": 89.52,
"available_amount": 300000,
"ttl_seconds": 30,
"settlement_time": "instant"
}
],
"best_rate": 89.45,
"best_exchanger": "tokenspot"
}
API для обменников¶
POST /partner/v1/quotes/stream — WebSocket котировок
POST /partner/v1/orders/accept — Принять ордер
POST /partner/v1/orders/complete — Завершить
GET /partner/v1/settlement — Сверка
Требования к инфраструктуре¶
| Метрика | Target |
|---|---|
| Uptime | 99.9% |
| Latency (quote) | < 200ms |
| Latency (order) | < 500ms |
| Throughput | 1,000 req/sec |
| Concurrent connections | 100+ |
Безопасность¶
- mTLS между Twin Bridge и партнёрами
- API Keys + HMAC для аутентификации
- Rate limiting per API key
- IP whitelist для production
- Encryption at rest (AES-256)
- Audit log — все действия логируются
- SOC 2 Type II — цель на Фазу 3