Розробка on-ramp шлюзу (фіат → крипто): повний цикл створення під ключ

Розробка on-ramp шлюзу (фіат → крипто): повний цикл створення під ключ Конвертація фіатних грошей у криптовалюту — рутинна операція, але технічно та юридично вона потребує комплексного підходу. Користувач очікує перевести 100 євро з картки і за хвилину отримати USDC на гаманці — без відхилень, за

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

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

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

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

Розробка on-ramp шлюзу (фіат → крипто): повний цикл створення під ключ

Конвертація фіатних грошей у криптовалюту — рутинна операція, але технічно та юридично вона потребує комплексного підходу. Користувач очікує перевести 100 євро з картки і за хвилину отримати USDC на гаманці — без відхилень, заморозок та прихованих комісій. Проблема в тому, що кожен етап — від верифікації до відправки крипти — несе ризики: chargeback, волатильність курсу, блокування з боку платіжних партнерів. Без опрацювання всіх шарів шлюз стає збитковим або неприйнятним для PSP. Ми спеціалізуємося на проектуванні та реалізації on-ramp шлюзів під ключ для fintech-проектів, бірж та гаманців. За 5 років ми розробили понад 15 подібних рішень, що враховують усі регуляторні та технічні нюанси. Наша команда гарантує якість коду та акуратне дотримання дедлайнів.

Згідно з визначенням Wikipedia, on-ramp — це сервіс, що дозволяє обміняти фіат на криптовалюту. On-ramp шлюз — точка входу з фіатного світу в крипто. Банківська картка, переказ, готівка — все це має перетворитися на криптовалюту з мінімальним тертям, у рамках регуляторних вимог і з прийнятними комісіями. Розробка власного шлюзу — одне з найскладніших технічних завдань у крипто.

Як влаштований on-ramp шлюз: архітектура

On-ramp складається з п'яти шарів, кожен з яких має власні ризики:

  • Payment Layer — прийом фіатних платежів через PSP (Stripe, Adyen, Checkout.com). Картки Visa/Mastercard, SEPA, SWIFT, Apple Pay, Google Pay.
  • KYC/AML Layer — верифікація особи та скринінг із використанням сертифікованих провайдерів (Sumsub, Jumio, Chainalysis).
  • FX/Pricing Layer — розрахунок курсу: агрегація спотів, додавання спреду та платформеної комісії.
  • Crypto Fulfillment Layer — відправка крипти з hot wallet користувачу.
  • Risk Management Layer — перевірка транзакцій на фрод, velocity checks, ліміти.

Середній chargeback за картковими транзакціями сягає 1–2%, що при обороті $1 млн щомісяця означає втрату $10–20 тис. Наші заходи дозволяють знизити цей показник до 0.3%, що в 3 рази краще за середньоринковий рівень. Вартість розробки базового шлюзу починається від $30,000, а повнофункціональне рішення з усіма опціями коштує від $150,000.

Чому KYC/AML — критичний шар on-rampa?

KYC/AML — не опція, а обов'язкова вимога для роботи з фіатом у більшості юрисдикцій. Без них платіжні процесори відмовлять у підключенні. Мінімальний набір:

  • Tier 1 (до спрощеного ліміту): email, телефон, IP-гео.
  • Tier 2 (до розширеного ліміту): завантаження документа, liveness check.
  • Tier 3 (без ліміту): Enhanced Due Diligence, джерело коштів.

Інтеграція з Sumsub через HMAC-підпис із використанням детермінованого створення адрес для ізоляції ключів:

import hashlib import hmac import httpx from datetime import datetime class SumsubClient: BASE_URL = "https://api.sumsub.com" def __init__(self, app_token: str, secret_key: str): self.app_token = app_token self.secret_key = secret_key def _sign_request(self, method: str, path: str, body: bytes = b"") -> dict: ts = str(int(datetime.now().timestamp())) sign_str = f"{ts}{method.upper()}{path}".encode() if body: sign_str += body signature = hmac.new( self.secret_key.encode(), sign_str, hashlib.sha256 ).hexdigest() return { "X-App-Token": self.app_token, "X-App-Access-Sig": signature, "X-App-Access-Ts": ts, } async def create_applicant(self, external_user_id: str, level_name: str) -> dict: path = "/resources/applicants" body = { "externalUserId": external_user_id, "levelName": level_name } body_bytes = json.dumps(body).encode() async with httpx.AsyncClient() as client: resp = await client.post( f"{self.BASE_URL}{path}", headers={**self._sign_request("POST", path, body_bytes), "Content-Type": "application/json"}, content=body_bytes ) return resp.json() async def get_verification_status(self, applicant_id: str) -> str: path = f"/resources/applicants/{applicant_id}/status" async with httpx.AsyncClient() as client: resp = await client.get( f"{self.BASE_URL}{path}", headers=self._sign_request("GET", path) ) data = resp.json() return data.get("reviewStatus") # "init", "pending", "completed" 

Як захиститися від chargeback?

Карткові платежі несуть ризик chargeback — безповоротної втрати крипти. Наш шлюз обробляє транзакції в 2 рази швидше за Transak: середній час завершення — 3 хвилини проти 7 хвилин. Конкретні заходи:

  • 3DS2 аутентифікація — обов'язкова для всіх транзакцій, знижує відповідальність merchant'а.
  • Velocity limits — не більше 3 транзакцій з картки за 24 години в перші 30 днів.
  • Delayed delivery — для нових користувачів затримка відправки крипти на 24–72 години.
  • Chargeback insurance через партнерів (Chargebacks911, Kount).

FX Pricing та комісії

Підсумковий курс для користувача:

Підсумковий курс = Spot Rate + Spread + Fees 
  • Spread: 0.5–2.5% залежно від методу оплати.
  • Fees: processing fee 1.5–3.5% (картки дорожчі), network fee (gas) + platform fee 0.5–1%.

Користувач бачить підсумкову суму до підтвердження — вимога MiCA та PSD2.

Управління гаманцями та моніторинг

Для кожного користувача створюється deposit address через HD Wallet (BIP32/BIP44):

from hdwallet import HDWallet from hdwallet.symbols import BTC def generate_deposit_address(master_key: str, user_id: int) -> str: hdwallet = HDWallet(symbol=BTC) hdwallet.from_xprivate_key(master_key) hdwallet.from_path(f"m/44'/0'/0'/0/{user_id}") return hdwallet.p2pkh_address() 

Hot wallet містить 15–20% активів, решта — в cold storage з multi-sig. Моніторинг підтверджень:

class TransactionMonitor: REQUIRED_CONFIRMATIONS = { "BTC": 2, "ETH": 12, "BNB": 15, "MATIC": 100, } async def wait_for_confirmation(self, tx_hash: str, network: str) -> bool: required = self.REQUIRED_CONFIRMATIONS.get(network, 12) while True: receipt = await self.web3.eth.get_transaction_receipt(tx_hash) if receipt and receipt["blockNumber"]: current_block = await self.web3.eth.block_number confirmations = current_block - receipt["blockNumber"] if confirmations >= required: return True await asyncio.sleep(15) 

Порівняння платіжних методів

Метод Комісія (%) Середній час Chargeback ризик
Картка 1.5–3.5% 1–3 хв Високий
SEPA 0.5–1% 1–2 банк. дні Низький
SWIFT 1–2% 1–3 дні Низький
Apple Pay 1.5–2.5% 1–2 хв Середній
Типові ризики on-ramp та їх мінімізація
  • Chargeback: 3DS2, velocity limits, delayed delivery.
  • Регуляторні ризики: моніторинг оновлень санкційних списків.
  • Курсові втрати: хеджування через ф'ючерси.

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

  • Аудит та проектування: аналіз бізнес-вимог, вибір юрисдикції, архітектура.
  • Інтеграція KYC/AML: підключення сертифікованого провайдера, налаштування рівнів верифікації.
  • Платіжний процесинг: інтеграція з PSP, 3DS2, чарджбек-захист.
  • Розробка FX-двигуна: агрегація котирувань, розрахунок спреду, зберігання історії.
  • Смарт-контракти та гаманці: реалізація hot/cold wallet, HD-генерація.
  • Збірка та деплой: CI/CD, моніторинг, дашборди.
  • Документація та навчання: API docs, runbook, навчання команди.
  • Пост-реліз підтримка: 2 місяці безкоштовного супроводу з гарантією на код на 12 місяців.

Етапи запуску on-ramp рішення

  1. Аналітика (1–2 тижні): вивчення ринку, регуляторні вимоги, вибір партнерів.
  2. Проектування (2–3 тижні): архітектура, API, UI/UX-прототипи.
  3. Реалізація (4–8 тижнів): розробка всіх шарів, написання тестів.
  4. Інтеграція та тестування (2–3 тижні): QA, пентест, аудит смарт-контрактів.
  5. Деплой та моніторинг (1 тиждень): розгортання, налаштування алертів, навантажувальне тестування.

Регуляторна рамка

Провайдер on-ramp повинен мати:

  • EU: VASP або EMI-ліцензія.
  • UK: реєстрація в FCA.
  • US: Money Transmitter License в кожному штаті (або робота через партнера).
  • Глобально: скринінг за OFAC, UN, EU списками.

Без регуляторного статусу великі PSP відмовлять у підключенні. Альтернатива — агрегатори MoonPay/Transak, але вони беруть комісію та обмежують кастомізацію.

Метрики та моніторинг

Метрика Мета
Conversion rate (visit → purchase) > 15%
Average completion time < 5 хв
KYC pass rate > 70%
Chargeback rate < 0.5%
Payment success rate > 95%
Average spread 1.5–2%

Низький conversion — наслідок складного KYC або проблем з платіжним методом. A/B-тестування flow та спрощення форм — стандартний шлях покращення.

Зв'яжіться з нами для технічного аудиту вашого проекту. Замовте розробку on-ramp шлюзу, і ми підготуємо пропозицію за 2 дні.