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

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