Представьте: пользователь продаёт USDT, но банк задерживает перевод на 2 часа, и за это время курс падает на 3%. Off-ramp шлюз с хеджированием исключает этот риск: мы фиксируем курс за 10–30 секунд после подтверждения транзакции. Это не просто API для вывода криптовалюты в фиат — это связка смарт-контрактов сжигания, AML-скрининга, хеджирования и банковской интеграции. Мы разрабатываем такие системы под ключ: от выбора юрисдикции до production-мониторинга. Наш опыт — 20+ успешных внедрений для финтех-проектов. Market order на CEX в 100 раз быстрее лимитного ордера при хеджировании: задержка в 5 секунд при волатильности 2% уже приносит проскальзывание.
Почему off-ramp сложнее, чем on-ramp?
В on-ramp основной риск — chargeback: пользователь отменяет платёж после получения крипто. В off-ramp этой проблемы нет, но появляются другие сложности.
| Аспект | On-ramp | Off-ramp |
|---|---|---|
| Риск | Chargeback | AML, FX, банковский комплаенс |
| Скорость | Мгновенно | 10–30 мин до банка |
| Банковские отношения | Проще | Сложный подбор партнёра |
| Хеджирование | Не нужно | Обязательно |
Compliance-риски
Банки осторожны с криптокомпаниями. Многие отказывают в обслуживании VASP. Нужны партнёрские банки с опытом работы с криптобизнесом.
AML-сложность
Система обязана проверить происхождение криптовалюты. Монеты с mixer'ов (Tornado Cash и аналоги) или санкционных адресов блокируются. AML-скрининг — обязательный компонент.
FX-риск
Между получением крипто и отправкой фиата курс может измениться. Система должна немедленно хеджировать позицию.
Как хеджировать курсовые риски?
Между подтверждением транзакции в блокчейне и исполнением банковского перевода проходит от нескольких минут до нескольких часов. За это время курс BTC может измениться на 1–3%. Мы используем немедленный хедж через market order на CEX сразу после получения достаточного числа подтверждений:
async def hedge_position(self, crypto_amount: Decimal, asset: str, order_id: str): """Немедленно продаём полученную крипто на бирже""" exchange = self.get_best_exchange_for_hedging(asset) # Market order для немедленного исполнения sell_order = await exchange.create_market_sell_order( symbol=f"{asset}/USDT", amount=float(crypto_amount) ) fill_price = sell_order["average"] usdt_received = sell_order["cost"] await self.order_repo.update_hedge( order_id=order_id, hedge_price=fill_price, usdt_received=usdt_received ) return usdt_received Альтернатива market order — aggressive limit order с автоматическим переходом в market order через 30 секунд при неисполнении. Это снижает проскальзывание на 0.1–0.3%.
Сравнение методов хеджирования
| Метод | Время исполнения | Проскальзывание | Комиссия |
|---|---|---|---|
| Market order | <1 с | 0.1–0.5% | 0.1% |
| Aggressive limit | 0–30 с | 0–0.3% | 0.05% |
| OTC | 1–5 мин | 0% | 0.2–0.5% |
Архитектура off-ramp шлюза
- Crypto Receiving Module — мониторинг входящих транзакций на deposit адресах. Ожидание необходимого количества подтверждений перед началом обработки.
- Blockchain Analytics Module — скрининг входящих монет:
class CryptoScreener: def __init__(self, chainalysis_client: ChainalysisClient): self.client = chainalysis_client async def screen_transaction(self, tx_hash: str, amount: float) -> ScreeningResult: result = await self.client.check_transaction(tx_hash) if result.risk_score >= 8: return ScreeningResult.REJECT elif result.risk_score >= 5: return ScreeningResult.MANUAL_REVIEW else: return ScreeningResult.APPROVE if any(cat in result.categories for cat in ["mixer", "sanctions", "darknet"]): return ScreeningResult.REJECT - Hedging Module — немедленная продажа полученной крипто на CEX для фиксации курса.
- Fiat Settlement Module — отправка банковского перевода.
Какие банковские методы доступны?
| Метод | Время зачисления | Регион | Комиссия |
|---|---|---|---|
| SEPA | до 1 рабочего дня | Европа | 0.5–2 € |
| Faster Payments | до 2 минут | UK | 0–0.5 £ |
| ACH | 1–3 дня | США | 0.5–1 $ |
| SWIFT | 2–5 дней | Международные | 5–20 $ |
Интеграция с этими методами — через SEPA, Faster Payments, ACH или SWIFT. Мы используем Banking-as-a-Service провайдеров (Modulr, ClearBank, Railsr) или прямое подключение через SWIFT MT103/ISO 20022:
class SEPATransferService: async def initiate_transfer(self, payout: Payout) -> str: payload = { "amount": str(payout.fiat_amount), "currency": payout.currency, "creditor_name": payout.recipient_name, "creditor_iban": payout.iban, "creditor_bic": payout.bic, "reference": payout.reference, "end_to_end_id": str(payout.id) } resp = await self.banking_client.post("/payments/sepa", json=payload) if resp.status_code == 201: return resp.json()["transaction_id"] else: raise PaymentError(f"SEPA transfer failed: {resp.text}") Закажите консультацию по интеграции с вашим банком — мы подберём оптимального провайдера.
Процесс обработки заявки
- Пользователь создаёт заявку на вывод: указывает сумму/актив и реквизиты.
- Система генерирует уникальный deposit address и показывает курс (действителен 15 минут).
- Пользователь отправляет крипто.
- Система обнаруживает входящую транзакцию (мемпул мониторинг).
- Скрининг крипто через Chainalysis/Elliptic.
- После N подтверждений — хедж на бирже.
- Отправка банковского перевода.
- Уведомление пользователя с transaction reference.
Весь процесс от получения крипто до отправки банковского перевода — 10–30 минут. Зачисление на счёт пользователя — в зависимости от метода.
Лимиты и комплаенс
Off-ramp система обязана вести Travel Rule записи для транзакций > $1000/€1000 (FATF Recommendation 16). Для каждого перевода — идентификация отправителя и получателя с передачей данных через IVMS101 стандарт при использовании совместимых VASP. Travel Rule — требование FATF к VASP передавать информацию об отправителе и получателе при переводах > $1000. Нарушение грозит блокировкой банковского партнёра.
| Порог | Требование |
|---|---|
| < €1,000 | Базовая KYC (имя, email) |
| €1,000 – €10,000 | Полная KYC (документ + selfie) |
| > €10,000 | EDD (Enhanced Due Diligence) |
| > €10,000 в день | Автоматический SAR-репорт в FIU |
Что входит в разработку off-ramp шлюза
- Документация: архитектурная схема, спецификация API, описание бизнес-логики.
- Смарт-контракты: контракт сжигания токенов, управление deposit адресами.
- Бэкенд: сервис скрининга, хеджирования, банковской интеграции, админ-панель.
- Интеграция с CEX: автоматическая продажа крипто, сверка балансов.
- Комплаенс: настройка Travel Rule, интеграция Chainalysis/Elliptic, генерация SAR-отчётов.
- Тестирование: unit-тесты, integration-тесты, pen-test смарт-контрактов.
- Деплой и поддержка: развертывание в облаке (AWS/GCP), мониторинг (Tenderly, Grafana), SLA 24/7.
Мониторинг системы
Критические алерты: неотправленный перевод > 2 часов после хеджа, транзакция застряла в блокчейне > 2 часов (low gas fee), ошибка банковского API. Каждый шаг пайплайна пишет статус в PostgreSQL с timestamp — это позволяет отслеживать SLA и находить bottlenecks.
Мы проектируем off-ramp шлюзы под ключ: от выбора юрисдикции до запуска в production. Свяжитесь с нами — оценим сложность, предложим архитектуру и назовём сроки. Закажите консультацию для вашего проекта. Получите техническое предложение с точными сроками и стоимостью.







