Розробка системи управління крипто-карткою

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Розробка системи управління крипто-карткою
Середній
~1-2 тижні
Часті запитання

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

Етапи блокчейн-розробки

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

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

Розроблення системи управління крипто-картою

Крипто-карта — це мість між on-chain активами та традиційною платіжною інфраструктурою. Користувач тримає USDC, платить у звичайному магазині — система конвертує та списує у фоні. Побудувати це складніше ніж здається: тут перетинаються card issuing, real-time конвертація, compliance та блокчейн-інфраструктура. Розберемо, з чого це складається.

Card Issuing: з кім працювати

Самостійно отримати BIN спонсора та емітувати карти — довго та дорого (Visa/Mastercard партнерство, $500k+ депозити, 12–18 місяців). Реалістичний шлях — працювати через card issuing платформи:

Marqeta — лідер рринку, програмовані карти через Just-in-Time (JIT) Funding. Ключова фіча: при кожній авторизації Marqeta робить webhook на ваш сервер, ви вирішуєте — затвердити або відкинути та миттєво профінансувати транзакцію. Ідеально для крипто-карт.

Lithic (бувший Privacy) — аналог Marqeta, часто переважніший для стартапів через простіший onboarding.

Moorwand / Railsr (Європа) — для європейських карт з IBAN.

Monavate / Paymentology — альтернативи з більш гнучкими умовами для крипто-native компаній.

Всі ці провайдери дають REST API для видачі карт, управління лімітами, отримання транзакцій.

Архітектура системи

JIT Funding: ядро крипто-карти

Just-in-Time Funding — коли баланс на карті завжди нульовий, гроші з'являються тільки в момент авторизації. Для крипто-карти це означає: користувач авторизує покупку → card processor викликає ваш webhook → ви конвертуєте крипто в фіат → підтверджуєте транзакцію — все за 1–2 секунди.

interface AuthorizationWebhook {
  type: "authorization";
  token: string;
  card_token: string;
  amount: number; // у центах
  currency: string; // ISO 4217
  merchant: {
    descriptor: string;
    mcc: string;
    country: string;
  };
  created: string;
}

async function handleAuthorization(
  webhook: AuthorizationWebhook
): Promise<AuthorizationResponse> {
  // 1. Знайти користувача та його крипто-баланс
  const user = await getUserByCardToken(webhook.card_token);
  const requiredUsd = webhook.amount / 100;
  
  // 2. Перевірити доступний баланс в USDC
  const usdcBalance = await getUsdcBalance(user.walletAddress);
  if (usdcBalance < requiredUsd * 1.01) { // +1% буфер на slippage
    return { decision: "DECLINE", reason: "INSUFFICIENT_FUNDS" };
  }
  
  // 3. Зарезервувати кошти (soft lock)
  const reservation = await reserveFunds(user.id, requiredUsd, webhook.token);
  
  // 4. Підтвердити авторизацію
  return {
    decision: "APPROVE",
    amount: webhook.amount,
    reservation_id: reservation.id,
  };
}

Webhook повинен відповісти за 1–2 секунди. Таймаут означає автоматичне відхилення транзакції. Це жорстка вимога, яка визначає всю архітектуру: жодних синхронних блокчейн операцій у цьому шляху.

Settlement та реальне списання

Після авторизації йде settlement — фактичне переміщення коштів. Може відбутися хвилини або години після авторизації. Тут виконується реальна конвертація крипти.

async function settleTransaction(settlementData: SettlementEvent): Promise<void> {
  const reservation = await getReservation(settlementData.authorization_token);
  
  // Для USDC — просто перевести на фіатний рахунок через USDC → USD off-ramp
  // (Circle, Stripe Crypto, Bridge.xyz)
  const offRampResult = await circleOffRamp({
    amount: reservation.usdAmount,
    destinationBankAccount: OPERATIONAL_ACCOUNT,
  });
  
  // Оновити баланс користувача
  await deductUserBalance(reservation.userId, reservation.usdcAmount);
  
  // Відправити push сповіщення
  await sendTransactionNotification(reservation.userId, {
    amount: reservation.usdAmount,
    merchant: settlementData.merchant.descriptor,
    txId: offRampResult.id,
  });
}

Конвертація: USDC vs волатильні активи

USDC/USDT — найпростіший випадок. 1 USDC ≈ 1 USD, конвертація тривіальна. Більшість крипто-карт першого покоління працюють тільки зі стейблкоїнами.

ETH/BTC та інші — потрібен real-time price feed та управління ціновим ризиком. Варіанти:

  • Конвертувати в USDC при поповненні — користувач явно міняє ETH → USDC, далі все як вище. Найпростіший підхід.
  • Конвертувати в момент транзакції — вище ризик slippage та цінового gap між авторизацією та settlement. Вимагає hedging стратегії.
  • Віртуальний баланс + періодичний settlement — агрегувати транзакції, конвертувати батчами. Знижує transaction costs, але ускладнює accounting.

Compliance та KYC

Крипто-карта з реальним використанням — це фінансовий продукт, що регулюється як мінімум як електронні гроші. Обов'язкові компоненти:

KYC/AML — провайдери: Sumsub, Persona, Onfido. Інтеграція через REST API + webhook на eventos верифікації. Мінімальний tier: документ + selfie. Для вищих лімітів — Enhanced Due Diligence (EDD).

Transaction monitoring — аналіз on-chain історії адрес користувачів. Chainalysis API або Elliptic для перевірки: не поступають лі кошти зі sanкційних адрес, міксерів, darknet ринків.

Лімити за умовчанням — поки KYC не пройдено: наприклад, 150 EUR/мес (під PSD2 exemption). Після верифікації — стандартні лімити. Це вимога card schemes, не ваша придумка.

Технічний стек

Компонент Варіанти Рекомендація
Card issuing Marqeta, Lithic Marqeta для JIT Funding
Backend Node.js/TypeScript, Go Go для latency-sensitive webhook handler
База даних PostgreSQL + Redis для reservation locks
Блокчейн Viem, ethers.js Viem для EVM
Off-ramp Circle, Bridge.xyz Circle USDC → USD
KYC Sumsub, Persona Sumsub — найкращий охват країн
Сповіщення Firebase, Appcenter Firebase для push

Webhook handler для авторизації повинен працювати як окремий високодоступний сервіс з SLA 99.9%+, мінімальною кількістю залежностей та локальним кешем для швидких перевірок балансу.

Графік

MVP (USDC карта, один регіон, базовий KYC): 3–5 місяців. Повнофункціональний продукт з мультивалютою, multi-chain, продвинутим compliance — 8–14 місяців. Значна частина часу — не код, а юридична структура, партнерські договори з card issuer та банком-емітентом.