Позабіржова криптосистема: розробка OTC-платформи для великих угод

Система для позабіржових угод з криптовалютами Великий трейдер хоче купити $15M Bitcoin — на біржі такий ордер зрушить стакан на 3-5%, і угода стане видимою HFT-ботам. Результат: переплата в сотні тисяч доларів та витік стратегії. Власна OTC-система вирішує обидві проблеми: фіксована ціна на весь

Напрямки блокчейн-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1441
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    998
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1267
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    713
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1003

Система для позабіржових угод з криптовалютами

Великий трейдер хоче купити $15M Bitcoin — на біржі такий ордер зрушить стакан на 3-5%, і угода стане видимою HFT-ботам. Результат: переплата в сотні тисяч доларів та витік стратегії. Власна OTC-система вирішує обидві проблеми: фіксована ціна на весь обсяг і повна конфіденційність. Ми побудували не одну таку платформу для фондів та брокерів і знаємо всі підводні камені.

Які проблеми вирішує OTC-система?

Price impact — головний ворог великого трейдера. На біржі ордер на $10M+ зсуває ринкову ціну на 2-5%. Трейдер сам собі піднімає ціну при купівлі (самопоїдання ліквідності). Крім того, інформація про угоду витікає через мемпул — MEV-боти фронтранять, збільшуючи прослизання. Переплата на ордер $10M на CEX може сягати $500 000, тоді як на OTC-деску — менше $50 000. Для криптотрейдингу великих обсягів OTC — єдиний спосіб уникнути прослизання.

Конфіденційність — неопційна вимога. Institutional crypto клієнти не можуть розкривати свої позиції. OTC-деск приховує клієнтів один від одного та не публікує обсяги угод. В OTC торгівлі ціна фіксується на весь обсяг, а RFQ протокол дозволяє запитувати котирування у кількох провайдерів.

Ризик невиконання. Контрагент може відмовитися від угоди після руху ринку. Ми мінімізуємо це через атомарні свопи та block-lock контракти. Порівняйте з DEX: там угода гарантована смарт-контрактом, але ліквідність обмежена. OTC-деск дає і гарантію, і глибоку ліквідність. За оцінками, OTC-деск кращий за CEX у 10 разів для великих угод.

Критерій OTC Desk CEX (Binance) DEX (Uniswap)
Price impact для $10M 0.1-0.5% 2-5% >10% (при низькій ліквідності)
Конфіденційність Повна Публічний order book Публічний mempool
Гарантія виконання Атомарний своп Match engine Smart contract
Швидкість 30-60 сек Миттєво Блок (12-15 сек)

OTC-деск — єдиний варіант для сум >$5M, де price impact неприпустимий. Замовте розробку OTC-системи та отримайте консультацію інженера — оцінимо ваш проєкт за 1 день.

Як працює ціноутворення?

Ми використовуємо двигун, який динамічно розраховує спред:

  • Базова ширина: 10 bps для BTC, 15 для ETH, 25 для альткоїнів.
  • Премія за розмір: +3 bps на кожен мільйон понад $1M.
  • Дисконт за VIP-статус: до -5 bps.

Котирування блокується на 45 секунд — клієнт зобов'язаний прийняти або відхилити. Приклад: клієнт купує 2000 ETH (близько $4M) з mid-market ціною $2000. Базовий спред 15 bps + премія за розмір 9 bps (=$3M понад $1M * 3) = 24 bps. Підсумкова ціна: $2000 * (1 + 0.0024) = $2004.80. Порівняння: якби той самий ордер був на CEX, price impact склав би близько 3%, тобто ціна $2060 — різниця в 2.76%. OTC вигідніше в 10 разів.

from dataclasses import dataclass from decimal import Decimal from datetime import datetime, timedelta import uuid @dataclass class OTCQuote: quote_id: str client_id: str symbol: str side: str # 'buy' | 'sell' quantity: Decimal price: Decimal total_value: Decimal spread_bps: int # спред від mid-market expires_at: datetime status: str = 'pending' # pending / accepted / rejected / expired class OTCDeskService: def __init__(self, pricing_engine, risk_manager): self.pricing = pricing_engine self.risk = risk_manager async def request_quote( self, client_id: str, symbol: str, side: str, quantity: Decimal ) -> OTCQuote: # Перевіряємо ліміти клієнта client = await self.db.get_client(client_id) notional = await self.pricing.estimate_notional(symbol, quantity) if notional > client.otc_limit: raise LimitExceeded(f"Exceeds client OTC limit: {client.otc_limit}") # Отримуємо mid-market price mid_price = await self.pricing.get_mid_price(symbol) # Розраховуємо спред на основі розміру та ліквідності spread_bps = self.calculate_spread(symbol, quantity, notional, client.tier) if side == 'buy': offer_price = mid_price * (1 + Decimal(spread_bps) / 10000) else: offer_price = mid_price * (1 - Decimal(spread_bps) / 10000) quote = OTCQuote( quote_id=str(uuid.uuid4()), client_id=client_id, symbol=symbol, side=side, quantity=quantity, price=offer_price.quantize(Decimal('0.01')), total_value=(offer_price * quantity).quantize(Decimal('0.01')), spread_bps=spread_bps, expires_at=datetime.utcnow() + timedelta(seconds=45) ) await self.db.save_quote(quote) return quote def calculate_spread( self, symbol: str, quantity: Decimal, notional_usd: Decimal, client_tier: str ) -> int: base_spread = { 'BTC': 10, # 10bps базовий для BTC 'ETH': 15, 'SOL': 25, }.get(symbol.replace('USDT', ''), 50) # Розмір впливає на спред: більше → ширше size_premium = max(0, int((notional_usd / 1_000_000 - 1) * 3)) # Клієнтський тир знижує спред tier_discount = {'vip': 5, 'premium': 3, 'standard': 0}.get(client_tier, 0) return base_spread + size_premium - tier_discount 

Як вибрати settlement?

Варіант Час Застосування
T+0 (same-day) День угоди Залог або DvP-смарт-контракт
T+1 (next-day) Наступний день Стандарт для інституціоналів
Atomic swap Миттєво Крипто-крипто угоди

Atomic swap — найбезпечніший: смарт-контракт утримує активи обох сторін та виконує обмін атомарно. Якщо одна сторона не виконує зобов'язань — контракт не спрацьовує. Атомарний своп у 100 разів надійніший за традиційний T+0 settlement за ймовірністю відмови (0.01% проти 1%). Докладніше про атомарні свопи читайте в Wikipedia.

Compliance: невід'ємна частина

OTC-угоди від $10,000 вимагають KYC/AML у всіх серйозних юрисдикціях. Ми вбудовуємо: corporate KYC (засновники, UBO), source of funds перевірку, AML-скринінг адрес, щорічний risk-rating. Платформа з правильним compliance відкриває доступ до преміальних клієнтів: банків, фондів, institutional crypto players. Маржинальність таких угод — у 3-5 разів вища за retail-сегмент.

Типові помилки при запуску OTC-деска

  • Недостатня агрегація ліквідності. Покладатися лише на власний інвентар — ризик невиконання великих ордерів. Потрібні інтеграції з CEX OTC-десками (Binance, Cumberland) та іншими маркет-мейкерами.
  • Занадто довгий lock period. 45 секунд оптимально, більше — ризик ринкового руху проти вас.
  • Відсутність автоматичного хеджу. Якщо клієнт купує, а ви продаєте з інвентаря, потрібно одразу хеджувати позицію на ф'ючерсах.
  • Слабке тестування сценаріїв. Перевіряйте concurrent RFQ, часткове виконання, відмови. Використовуйте Foundry для контрактів та pytest для бекенду.
  • Ігнорування compliance з першого дня. Впроваджуйте KYC/AML до запуску, інакше ризикуєте втратити ліцензію.

Що входить у роботу

  • Проєктна документація (архітектура, API-специфікація)
  • Вихідний код з тестами (unit, integration, stress)
  • Інтеграція з біржами та зовнішніми провайдерами ліквідності
  • Налаштування моніторингу та алертів (Tenderly, Grafana)
  • Передача доступів та навчання команди замовника
  • Гарантійна підтримка 3 місяці після запуску

Наш досвід

Ми — команда інженерів з 5+ років досвіду в криптотрейдингу та смарт-контрактах. Реалізували 8 OTC-платформ для клієнтів з Європи та Азії. Використовуємо перевірений стек: Python/Node.js для бекенду, Solidity/Vyper для контрактів, Foundry/Hardhat для тестування. Дотримуємося стандартів безпеки: формальна верифікація критичних контрактів, аудит коду сторонніми фірмами.

Як почати?

Якщо ви працюєте з великими ордерами та хочете знизити price impact — оцінимо ваш проєкт за 1 день. Просто зв'яжіться з нами, опишіть обсяги та вимоги. Ми запропонуємо архітектуру та терміни. Жодного маркетингу — лише інженерне вирішення вашого завдання. Отримайте консультацію — ми покажемо, як виглядає OTC-система під ваші завдання.