Fund a Card Automatically via Blockchain

Digital-asset funding is the zero-integration path: deposit addresses are provisioned when a card is issued, and any supported digital asset sent to one of those addresses is detected, converted, and reflected in the card's balance automatically — no registration call, no trace notification, nothing for your integration to do at deposit time. This guide covers how to retrieve and share deposit addresses, how to monitor the deposit lifecycle, and what to expect at each stage.

Prerequisites

  • A card has been issued (virtual or physical) — POST /cards/virtual/{cardholderId} or POST /cards/assign/{cardholderId}. Deposit addresses are provisioned at this moment.
  • Physical cards: the card does not need to be activated (issuerCardStatus = 1) to receive digital-asset deposits. Funding via crypto is independent of the card's operational status.

Step 1: Retrieve the card's deposit addresses

Deposit addresses are returned immediately in the issuance response and on any subsequent card retrieval:

GET /cards/{cardId}

The cryptoAddresses field contains the array of deposit addresses:

"cryptoAddresses": [
  { "chain": "evm",     "address": "0x742d35Cc6634C0532925a3b8D4C9B7e..." },
  { "chain": "bitcoin", "address": "bc1qxy2kgdygjrsqtzq2n0yrf249..." },
  { "chain": "solana",  "address": "7EqQdEULxntMjTnxHhq1p9RwP..." }
]

Understanding the address set

EntryChains coveredAddress format
evmEthereum, Arbitrum, Polygon (MATIC), Base, BNB Smart Chain, and all other EVM-compatible networks42-char hex (0x...) — a single address accepts deposits across all EVM chains
bitcoinBitcoinBech32 (bc1...)
solanaSolanaBase58
📘

A deposit to the evm address on any EVM-compatible network — Ethereum mainnet, Arbitrum, Base, Polygon, BNB Smart Chain, and more — will be detected and processed. The cardholder doesn't need a different address for each EVM chain; one address covers them all.

Additional chains (TRON, AVAX, Cosmos ecosystem, etc.) can be requisitioned per Program via Account Management and will appear as additional entries in cryptoAddresses when configured. See Funding & Deposits.

A forthcoming endpoint will expose the full list of supported assets and indicative off-ramp prices per Program — see Funding & Deposits.


Step 2: Share the deposit address with the cardholder

Present the appropriate deposit address(es) in your application. Best practices for this UX:

  • Display the address as both text and a QR code — wallets universally support QR scanning
  • Display the chain name prominently alongside the address, especially for the EVM address where it's easy for a cardholder to confuse which EVM network they're sending from
  • For the EVM address, consider displaying a list of covered networks (Ethereum, Arbitrum, Base, etc.) so the cardholder understands a single address covers multiple chains
  • Display the minimum deposit amount if applicable for your Program
🚧

Wrong-chain deposits are non-recoverable in most cases. If a cardholder sends a Bitcoin-format asset to the Solana address (or similar), recovery may not be possible. Make chain selection explicit and prominent in your UI.


Step 3: Monitor the deposit

Poll GET /cards/{cardId}/balance at intervals after sharing the address. A deposit moves through two stages before funds are spendable:

flowchart LR
    A["On-chain transaction broadcast"] --> B{"≥ 10 block\nconfirmations?"}
    B -- "No" --> C["No balance change yet —\ncontinue monitoring"]
    C --> B
    B -- "Yes" --> D["ledgerBalance increases\ndeposit status: PENDING"]
    D --> E{"Finality reached\nAND off-ramp\ncomplete?"}
    E -- "No" --> F["availableBalance unchanged —\ncontinue monitoring"]
    F --> E
    E -- "Yes" --> G["availableBalance increases\ndeposit status: COMPLETE\nFunds spendable"]

What each balance field means at each stage

StageledgerBalanceavailableBalanceWhat it means
Pre-depositUnchangedUnchangedTransaction not yet detected or < 10 confirmations
PendingIncreasedUnchanged≥10 confirmations — deposit is confirmed, off-ramp in progress
CompleteIncreasedIncreasedFinality reached, off-ramp to base currency complete — funds spendable

Recommended polling intervals

Asset typeTypical time to PendingTypical time to Complete
Stablecoins (USDC, USDT, etc.)Seconds to minutes (fast chains)Near-instant after Pending on most chains
Major assets (ETH, BTC, SOL, etc.)Minutes (BTC: up to ~60 min for 10 confirmations)Minutes after Pending on most chains
Exotic / high-volatility assetsVaries by chain congestionPotentially longer — depends on liquidity depth

Poll every 30 seconds for the first 10 minutes after the cardholder confirms they've sent a deposit, then every 2–5 minutes until the balance updates. For BTC specifically, budget for up to 60–90 minutes before ledgerBalance updates (Bitcoin's ~10-minute block time × 10 confirmations).

📘

FX conversion at the point of off-ramp. The availableBalance increase reflects the asset converted into the card's base fiat currency via Axys's liquidity partners. The effective conversion rate is the mid-market rate at the moment of off-ramp, with a dynamic spread applied (near-zero for stablecoins and majors; wider for exotics). Gas and network fees are embedded in the conversion rate — no separate fee line item appears. See Embedded FX & Cross-Border Fees.


Checking current deposit address coverage

Until the forthcoming assets-and-pricing endpoint is available, use GET /cards/{cardId} to confirm which deposit addresses are provisioned for a specific card. If a chain you need isn't listed, contact your Axys account team or raise a support ticket to request it be added to your Program's configuration — see Raising & Managing Support Tickets.

🚧

Deposits to cards that aren't Active. While crypto deposit addresses are provisioned at card issuance and accept deposits independently of issuerCardStatus, an unusual platform configuration or card state could prevent automatic allocation. In rare cases, unallocated deposits may enter a suspense account pending manual resolution — the same compliance obligations apply as for unallocated bank-rail deposits. Only share deposit addresses for cards you intend to be active and receiving. See Funding & Deposits: Suspense accounts and unallocated deposits.


What's next