Разработка системы расчетов OTC-сделок (settlement)
Settlement — финальный этап сделки: передача активов от продавца к покупателю и денег от покупателя к продавцу. На публичных биржах это автоматизировано и мгновенно. В OTC это отдельная система с кредитным риском, нескими шагами подтверждения и разными моделями расчётов.
Модели settlement
T+0 (Same-day): расчёт в день сделки. Стандарт для крипто-OTC. Покупатель переводит USDC, продавец переводит BTC в тот же день.
T+1, T+2: расчёт на следующий или через день рабочий день. Используется для сделок с традиционными валютами или когда нужно время на compliance проверки.
Net settlement: несколько сделок между двумя контрагентами за день нетируются в одну итоговую выплату. Снижает транзакционные издержки. Пример: 5 покупок и 3 продажи BTC — итоговый перевод только чистой разницы.
Gross settlement: каждая сделка рассчитывается отдельно. Выше операционные издержки, но меньше settlement risk.
DVP (Delivery vs Payment)
Главный риск OTC: одна сторона доставит актив, вторая — нет (Herstatt risk). DVP устраняет этот риск: обмен происходит атомарно.
On-chain DVP через escrow смарт-контракт:
contract OTCSettlement {
function initiateTrade(
address buyer, address seller,
address paymentToken, uint256 paymentAmount,
address assetToken, uint256 assetAmount
) external {
// Покупатель депонирует USDC
// Продавец депонирует WBTC
// При наличии обоих депозитов — атомарный обмен
}
}
Multi-signature confirmation: для крупных сделок требуется подтверждение от нескольких уполномоченных лиц с каждой стороны перед высвобождением средств.
Escrow с arбитражем: при спорах — третья сторона (арбитр) может разрешить конфликт и высвободить средства. Арбитр определён в контракте, имеет ограниченные права (только release, не steal).
Settlement workflow
1. Trade Confirmation
Обе стороны получают и подписывают trade confirmation
2. Pre-Settlement Check
AML/compliance проверка
Верификация что стороны имеют нужные балансы
3. Instruction Matching
Settlement instructions обеих сторон сравниваются
(адреса кошельков, сети, суммы)
4. Asset Transfer
Покупатель: USDC → escrow или напрямую продавцу
Продавец: BTC → покупателю
5. Confirmation
Обе передачи подтверждены on-chain
Settlement record создаётся
6. Reconciliation
Внутренние книги обновляются
Failed settlement handling
Расчёты могут не состояться: покупатель не прислал средства, сеть congested, неверные реквизиты. Система должна:
- Отслеживать статус каждого settlement шага с timeout
- При timeout — эскалация к операторам
- Автоматически отменять сделку при невозможности settlement
- Нотификации всем сторонам о статусе
Reconciliation: ежедневная сверка внутренних записей с on-chain данными и банковскими выписками. Расхождения требуют немедленного разбора.
Settlement система — операционно критичный компонент OTC-платформы, где ошибки стоят реальных денег и репутации.







