Crypto Card Development: Real-Time Conversion and Issuance

We design and develop full-cycle blockchain solutions: from smart contract architecture to launching DeFi protocols, NFT marketplaces and crypto exchanges. Security audits, tokenomics, integration with existing infrastructure.
Showing 1 of 1All 1305 services
Crypto Card Development: Real-Time Conversion and Issuance
Complex
~1-2 weeks
Frequently Asked Questions

Blockchain Development Services

Blockchain Development Stages

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1354
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1248
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    951
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1186
  • image_logo-advance_0.webp
    B2B Advance company logo design
    643
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    925

How Does Real-Time Crypto-to-Fiat Conversion on Cards Work?

A user holds USDC, wants to pay with a card at a regular store. At the moment of the card transaction: USDC is deducted from the crypto balance, converted to USD/EUR, and the card processing proceeds as a standard fiat payment. To the terminal, it's a normal Visa/Mastercard transaction. This isn't theory—it's the working architecture behind products like Crypto.com Card, Binance Card, and Coinbase Card.

This architecture combines crypto-to-fiat conversion, JIT funding, and BIN sponsorship to deliver a working crypto card. For a successful crypto card launch with crypto-to-fiat conversion, you need reliable BIN sponsorship and real-time JIT funding.

We are a team of blockchain engineers with over 8 years of experience in crypto and payment solutions. We have delivered more than 15 projects integrating cards for digital assets. Our certified engineers guarantee 99.9% uptime with a proven architecture. We design the system turnkey: from BIN sponsor selection to launching virtual and physical cards. Reach out to discuss your project—we'll assess it and propose timelines starting from 6 months. Project costs typically range from $250k to $500k, and our optimized liquidity routing can save you up to 20% on transaction costs. For a $10M annual volume, that's $2M in savings.

Building such a system from scratch involves solving several independent engineering challenges: card issuance, real-time conversion, BIN sponsorship and licensing, compliance. Each is a separate work track.

What Deliverables Can You Expect?

  • Architectural design tailored to your volumes and regions.
  • Selection and integration of a BIN sponsor (Marqeta, Galileo, or others).
  • Implementation of JIT (Just-In-Time funding) logic—authorization webhook under 2 seconds.
  • Connection of liquidity providers (CEX, OTC, embedded liquidity) for digital asset-to-fiat conversion.
  • KYC/AML setup (Sumsub, Chainalysis) and tax-reporting module.
  • Issuance of virtual and physical cards, integration with Apple Pay/Google Pay.
  • Full API documentation, CI/CD pipelines, admin dashboard, 24/7 support during launch, and 6 months of post-launch maintenance.
  • Training for your operations team and access to source code repositories.

Our expertise in crypto-to-fiat conversion, JIT funding, and BIN sponsorship ensures seamless card issuance. This ensures efficient crypto-to-fiat conversion with real-time JIT funding for card issuance.

What Are the Architectural Components?

BIN Sponsorship and Card Issuance

BIN (Bank Identification Number)—the first 6–8 digits of a card identifying the issuer. Without a banking license, you work through a BIN sponsor: a licensed issuing bank that issues cards under its BIN but with your logic. You are the program manager.

Major BIN sponsors and card issuing platforms:

Provider Networks Regions API
Marqeta Visa, Mastercard US, EU, UK REST + Webhooks
Galileo Visa US, LATAM REST
Stripe Issuing Visa, Mastercard US, EU REST
Moorwand Mastercard EU/EEA REST
Railsbank (Railsr) Visa, Mastercard EU, UK REST

Marqeta is the most common in crypto-card projects (Coinbase Card uses Marqeta). Its JIT funding is 2x more reliable than alternative providers. Just-In-Time (JIT) funding is key: Marqeta calls your webhook at authorization, and you approve or decline the transaction with real-time conversion.

Just-In-Time Funding: Real-Time Logic

JIT is the heart of the architecture. Flow:

Card terminal → Visa/MC network → Marqeta → your JIT webhook (< 2 sec) →
[you convert digital assets → fiat] → approve/decline response → Marqeta → terminal

JIT webhook response time: strictly under 2 seconds. That's the hardware timeout of card networks. Miss it and the transaction is automatically declined. According to Marqeta documentation, average API latency is ~200 ms, leaving headroom for the conversion chain. Marqeta's JIT response is 5x faster than traditional batch processing.

// JIT webhook handler
import { FastifyRequest, FastifyReply } from 'fastify';
import { MarqetaJITPayload } from './types';

export async function handleJITFunding(
  req: FastifyRequest<{ Body: MarqetaJITPayload }>,
  reply: FastifyReply,
) {
  const startTime = Date.now();
  const { transaction, card_token } = req.body;
  
  try {
    // 1. Identify user by card_token
    const user = await userService.findByCardToken(card_token);
    if (!user) return reply.send({ result: 'DECLINED', memo: 'USER_NOT_FOUND' });
    
    // 2. Get fiat amount
    const { currency_code, amount } = transaction;
    
    // 3. Calculate crypto amount to deduct
    const cryptoAmount = await pricingService.fiatToCrypto({
      fiatAmount: amount,
      fiatCurrency: currency_code,
      cryptoCurrency: user.primaryAsset, // USDC, BTC, ETH
    });
    
    // 4. Check balance
    const balance = await walletService.getBalance(user.id, user.primaryAsset);
    if (balance < cryptoAmount.amountWithFee) {
      return reply.send({ result: 'DECLINED', memo: 'INSUFFICIENT_FUNDS' });
    }
    
    // 5. Reserve digital assets (hold, not immediate deduction)
    const holdId = await walletService.createHold({
      userId: user.id,
      asset: user.primaryAsset,
      amount: cryptoAmount.amountWithFee,
      expiresAt: new Date(Date.now() + 30 * 60 * 1000), // 30 min
      transactionRef: transaction.token,
    });
    
    // Check we're within timeout
    if (Date.now() - startTime > 1500) {
      await walletService.releaseHold(holdId);
      return reply.send({ result: 'DECLINED', memo: 'TIMEOUT' });
    }
    
    return reply.send({
      result: 'APPROVED',
      funding: { amount, currency_code },
    });
    
  } catch (error) {
    logger.error({ error, transaction }, 'JIT funding error');
    return reply.send({ result: 'DECLINED', memo: 'INTERNAL_ERROR' });
  }
}

The Hold Mechanism

Card authorization and actual debit (clearing) are different events. They can be up to 5 days apart (especially for offline transactions). Holds reserve the crypto balance; real conversion happens at clearing. This prevents overspending from multiple authorizations.

Liquidity Providers and FX

For automatic digital asset-to-fiat conversion:

  • CEX via API: Binance, Coinbase Prime, Kraken. Suitable for medium volumes. Risk: API latency, exchange may be unavailable. Need failover to a second provider.
  • OTC/Prime Brokers: Galaxy Digital, FalconX, Cumberland. For large volumes ($100k+) they offer better rates, work via API or RFQ.
  • Embedded liquidity: Integration with Fireblocks Settlement Network or B2C2. Programmatic access, fixed spreads, enterprise SLA.

Average savings using multi-provider routing can be up to 20% compared to a single provider.

Example LiquidityRouter Implementation
interface LiquidityProvider {
  getQuote(params: QuoteParams): Promise<Quote>;
  executeConversion(quoteId: string): Promise<ConversionResult>;
  getBalance(currency: string): Promise<Decimal>;
}

class LiquidityRouter implements LiquidityProvider {
  private providers: LiquidityProvider[];
  
  async getQuote(params: QuoteParams): Promise<Quote> {
    // Request quotes from all providers in parallel
    const quotes = await Promise.allSettled(
      this.providers.map(p => p.getQuote(params))
    );
    
    // Select best quote (by rate considering fee)
    const validQuotes = quotes
      .filter(q => q.status === 'fulfilled')
      .map(q => (q as PromiseFulfilledResult<Quote>).value);
    
    return validQuotes.sort((a, b) => b.netRate - a.netRate)[0];
  }
}

AML and Tax Considerations

KYC and Transaction Monitoring

Mandatory KYC: identity verification (passport/ID), proof of address, OFAC screening. Providers: Sumsub, Jumio, Onfido. Verification levels affect limits: basic—$500/day, enhanced—$10,000/day.

Transaction monitoring: AML requirements include monitoring suspicious patterns, structuring detection, unusual merchant categories. We use Chainalysis, Elliptic for crypto side; ComplyAdvantage for fiat.

Licensing: In EU—EMI license or partnership with a licensed EMI. In US—Money Transmitter License in each state. Obtaining a license: 6–18 months. Alternative: operate under the BIN sponsor's license.

Conversion of crypto at card payment is a taxable event in the US, UK, most of EU. The system generates tax-lot records: asset, acquisition date, cost basis, spend date, amount, and gain/loss. Providing tax reports (e.g., 1099 in the US) is mandatory for licensed operations.

Physical and Virtual Cards

Virtual cards are issued instantly via Marqeta API, used for Apple Pay/Google Pay—priority for a fast MVP.

Physical cards require a card personalisation bureau (Matica, Entrust). Production time: 5–14 days. Delivery tracking integration.

Freeze/unfreeze—user must be able to instantly freeze a card via the app. Marqeta API: cards/{token}/transitions with state SUSPENDED.

Launch Steps in 5 Phases

  1. Select BIN sponsor and KYC provider – 4–8 weeks.
  2. Develop core wallet and JIT funding – 6–8 weeks.
  3. Integrate liquidity providers – 2–3 weeks.
  4. Build card management and compliance – 6–8 weeks.
  5. Test and launch – 3–4 weeks.

Development Timeline

Phase Content Duration
Setup & licensing BIN sponsor selection, legal structure, KYC provider 4–8 weeks
Core wallet Crypto wallet, balances, holds 3–4 weeks
JIT funding Webhook, pricing engine, hold mechanism 3–4 weeks
Liquidity FX integration, conversion at clearing 2–3 weeks
Card management Virtual cards, Marqeta integration 3–4 weeks
Compliance AML monitoring, tax reporting 3–4 weeks
Physical cards Production, delivery 2–3 weeks
Testing & launch End-to-end, UAT, soft launch 3–4 weeks

Realistic timeline from zero to a working product with virtual cards: 6–9 months. The main blockers—legal/compliance onboarding with the BIN sponsor and KYC provider, not development.

Request a project assessment—get a consultation on architecture and licensing. Contact us for a preliminary evaluation.

We develop crypto wallets turnkey — from custodial solutions for fintech to smart contract accounts on EIP-4337. 5+ years in blockchain development, 40+ projects implemented. Let's examine which architecture to choose for your task and why MPC or Account Abstraction solve the private key problem that MetaMask and classic HD wallets could not close.

Why are classic wallets dangerous for business?

A seed phrase in a browser extension is the only way to restore access. For retail users, this is a barrier to entry (lost phrase = lost money). For corporate treasuries, it is incompatible with compliance (KYC/AML, role model, multisignature). Any single key leak compromises all funds. These risks are built into the architecture, not poor UX.

We eliminate them at the protocol level: MPC wallets (key never fully assembled), smart contract wallets (authorization logic in code), hardware HSM for institutional storage. Details below.

What is the real difference between custodial and non-custodial?

Custodial — the provider stores the private key. User authenticates via email/password/OAuth. Recovery is trivial, KYC/AML built-in. For centralized financial applications, often the only regulatory acceptable option. Risk: single point of failure (e.g., Bitfinex hack — $72M, FTX — $600M+ client funds).

Non-custodial — keys are with the user. Provider has no access to funds. Storage responsibility falls on the user. For 99% of people, this model is unworkable without additional protection — hence MPC.

MPC wallets: the key that doesn't exist

Multi-Party Computation (MPC) is a cryptographic protocol that allows multiple parties to jointly sign a transaction without revealing their partial secrets. The private key never exists in its assembled form.

Standard scheme: 2-of-3 MPC between user (share on device), provider server, and backup cloud storage. Transaction is signed by any two of three parties. Lost phone — recovery via server + cloud. Server compromised — attacker holds only one share, signing impossible.

TSS (Threshold Signature Scheme) is a concrete implementation of MPC for ECDSA/EdDSA. Algorithms: GG18, GG20, CGGMP21 (the latter is faster and has better security proofs). Libraries: tss-lib (Go, from Binance), multi-party-sig (Go, from Coinbase), ZenGo-X/multi-party-ecdsa (Rust).

MPC requires no on-chain changes — to the blockchain, the signature looks like a normal single-key signature. This saves gas and keeps the key management scheme confidential (not published in chain) — unlike multisig.

Account Abstraction (EIP-4337): smart contract as wallet

EIP-4337 completely changes the model: instead of EOA (Externally Owned Account), a smart contract Account is used. Authorization logic is in contract code, not in protocol cryptography. This opens up arbitrary signing logic, social recovery, session keys, sponsored transactions, and batch operations.

How the EIP-4337 stack works:

User → UserOperation → Bundler → EntryPoint contract → Account contract
                                          ↑
                                    Paymaster (optional, pays gas)

UserOperation — a new type of object (not an L1 transaction). Bundler collects UserOps from an alternative mempool, packs them into one transaction, and sends to EntryPoint. EntryPoint calls validateUserOp on the Account contract — Account decides if the signature is valid.

Practical capabilities:

Social recovery. The contract stores a list of guardians (other addresses or a service). Lost key — guardians vote for replacement. Argent has used this scheme since 2020.

Session keys. A temporary key with limited rights: interaction only with a specific contract, until a certain date, up to a certain amount. For GameFi and dApps — user does not sign every micro-transaction.

Paymaster. A third-party contract pays gas for the user. Onboarding pattern: user does not hold ETH, gas is sponsored by dApp or taken from ERC-20 tokens.

Implementations: Safe{Core} Protocol, Biconomy SDK (Stackup), ZeroDev (Kernel), Alchemy (Rundler bundler). EntryPoint v0.6/v0.7 is deployed and active on Ethereum mainnet, Polygon, Arbitrum, Optimism. We guarantee compatibility with the latest contract versions.

What is a Hardware Security Module for corporate wallets?

For treasuries and institutional storage: HSM (Hardware Security Module). The key is generated and never leaves the secure chip. Signing happens inside the HSM. Hardware attestation is supported. Solutions used: AWS CloudHSM, Azure Dedicated HSM, Thales Luna, YubiHSM 2 (for small volumes). Integration via PKCS#11 or cloud-specific API.

A combination of HSM + MPC is optimal for institutional use: key shares are stored in HSMs on different servers/jurisdictions, signing via TSS. This ensures compliance with regulatory requirements (e.g., for crypto custodians).

Integration with dApps: WalletConnect and standards

Any wallet must be able to interact with dApps. Standard: WalletConnect v2 (Sign API): QR code or deep link, peer-to-peer encrypted channel via relay server. For browser extensions: EIP-1193 (Ethereum Provider API).

On the frontend, we use wagmi + viem — one interface for MetaMask, WalletConnect, Coinbase Wallet, injected providers. For Account Abstraction: EIP-5792 (wallet capabilities) and EIP-7677 (paymaster service).

Development process

  1. Threat model — who is the user (B2C, B2B, institutional), what operations, what is the acceptable risk model. Architecture depends on this.
  2. Selection and design of key storage scheme — MPC, HSM, multisig, or a combination.
  3. Development of Account contract (if EIP-4337) or integration of MPC library.
  4. Backend — MPC coordination, session management, paymaster service (if needed).
  5. Mobile/browser application — UI with WalletConnect integration, biometrics, QR.
  6. Integration with dApps — EIP-1193, WalletConnect v2.
  7. Audit of contracts and cryptographic implementations — mandatory step. MPC libraries have known vulnerabilities (GG18 susceptible to attack with malicious participant without abort protocol). We use libraries with up-to-date security reviews (CGGMP21). Experience passing audits with Certik, Hacken, Trail of Bits — we have certificates.

What is included in the work (deliverables)

  • Source code of smart contracts (Solidity/Rust) with documentation
  • Backend MPC coordination service (Go or Rust) with API
  • Mobile application (iOS/Android) or browser extension
  • Integration with WalletConnect, Ledger/Trezor (if required)
  • Preparation for security audit (vulnerability report)
  • Administrator and user documentation
  • Access to repository, CI/CD, monitoring (Tenderly, Etherscan API)
  • Training of your team (2-3 sessions)
  • Post-launch support — 1 month

Timeline and cost

Solution type Timeline (working weeks)
Custodial with basic UI 4–8
Non-custodial with MPC integration 8–16
EIP-4337 Account with paymaster 6–12
Institutional (HSM + MPC + compliance) from 16

Cost is calculated individually for your project. We will estimate within one day — contact us by email or Telegram. We provide a guarantee on code and timeline.

Typical mistakes in crypto wallet development (and how to avoid them)

  • Using outdated MPC libraries — GG18 without abort protocol. Choose CGGMP21 or tss-lib with up-to-date audit reports.
  • Tight coupling to a single blockchain — not abstracting for L2/sidechains. Use viem/wagmi for cross-chain.
  • Ignoring MEV attacks — when using multisig without timelocks. Add tx simulation (Tenderly) and sandwiching protection.
  • Lack of fallback recovery mechanism — for Account Abstraction, not setting up social recovery. Include from the first release.

We eliminate these pitfalls at the design stage — for each project, we create a threat model and security checklist.

Need a reliable wallet with no compromises? Get a consultation from our architect — we will analyze your task and propose an architecture with a precise estimate. Leave a request — we will respond within a day.