Card Issuance Integration for MoR Mode (Consumer Use)

• This guide provides the card issuance integration process for MoR mode (Consumer use) clients, outlining the key scenario, use case, and corresponding API workflow.

• The card issuance process will differ depending on the client's CaaS integration model (MoR or Gateway) and business model (Business use or Consumer use).

Before starting the integration, confirm your operating model: MoR (Merchant of Record) or Gateway Mode. Refer to the official documentation for guidance: Determine Your Integration Model.


Project Background

In this model, licensed digital wallets or similar businesses issue cards directly to their customers. The service provider operates as the Merchant of Record (MoR).


Use Case Example

A licensed digital wallet issues prepaid cards to their customers for online and in-store purchases.


Workflow

1. Master-Merchant Account Registration

The enterprise (master merchant) must be registered before any cardholder or card creation can take place. For detailed steps, please refer to Quick Start.


2. Deposit Fiat/Crypto to Infinity Account

All card-related fees will be deducted from the Infinity Account. Therefore, ensure your Infinity Account is funded directly, either via fiat or cryptocurrency. Note that the Infinity Account only supports USD; any crypto deposits will be converted to USD before being credited.

2.1 Deposit Fiat to Infinity Account

If funding your Infinity Account with fiat, complete the transfer via the merchant portal at https://www.interlace.money/.


2.2 Deposit Crypto to Infinity Account

If funding your Infinity Account with cryptocurrency, you must first create a wallet and obtain a receiving address. Deposited crypto (e.g., USDC or USDT) will be converted to USD before being credited to your Infinity Account.

  1. Step 1: Create a new wallet

    Use the "Create a wallet" API to create a new wallet.

  2. Step 2: Get a wallet address

    Use the "Get a wallet" API to fetch wallet details, including balance and available address.

    • Endpoint: Get a wallet
    • Note: walletId must be included in the request.
  3. Step 3 (Optional): Generate an additional address

    If no address is available, or if you need an address on a different blockchain, use the "Create a blockchain address" API to generate a new one.

  4. Step 4: Deposit crypto to Infinity Account

    After receiving the deposit webhook notification from Interlace, use the "Intra-account business transfer" API to move USDC or USDT into your Infinity Account. The system will convert the crypto to USD before the funds are credited.


3. Get Available Card BINs

Before issuing cards, you must call the "Get Card BINs" API. This API returns all available card BIN information under your Master Merchant account, including the binId field.


4. Create Cardholder

Cardholder creation is mandatory for all card issuance.

Notes:

  • binIdof the card BIN you intend to use must be included in the request body. Regardless of which binId is specified, upon successful creation, the response will return all available BIN IDs for the cardholder under that card BIN.
  • After the cardholder is created, approval from the issuing bank is required before issuing a card.
  • To stay informed about cardholder status updates, please subscribe to our webhook. This will ensure you receive real-time notifications whenever a status change occurs.
  • OTP (One-Time Password) will be sent to the cardholder for identity verification during sensitive operations such as card activation or transaction authorization.

5. Create Card

First, decide which type of card you want to issue: prepaid card or budget card.

5.1 Create a Prepaid Card

Use the "Create Prepaid Card" API to create a single prepaid card, or use the "Batch Create Prepaid Card" API to create multiple prepaid cards in bulk.

Balance Management: The balance of a prepaid card is controlled by transferring funds between the Infinity Account and the card.

Spending Control

  • In addition to balance-based spending control, prepaid cards also support velocity control to further restrict how funds can be consumed. Velocity control allows you to define spending limits at the individual card level, such as per-transaction limits or periodic limits (for example, daily or monthly caps). Regardless of the configured limits, a prepaid card can never spend more than its available balance.
  • For detailed usage scenarios and limit calculation rules, refer to the Velocity Control Usage Guide.

5.2 Create a Budget Card

To create a budget card, you must first set up a budget using the "Budget" API, and then create cards under that budget with the "Create Budget Card" API or "Batch Create Budget Card" API.

  1. Step 1: Create a Budget

  2. Step 2: Create a Budget Card

    Use the "Create Budget Card" API to create a single budget card, or use the "Batch Create Budget Card" API to create multiple budget cards in bulk.

Balance Management

Spending Control

  • A budget card itself does not hold funds. Instead, all budget cards under the same budget share the available budget balance. To control how each individual card can spend from the shared fund pool, velocity control is applied at the card level. It allows you to define spending limits such as per-transaction, periodic, or lifetime limits. When the budget balance is exhausted, spending will be restricted for all cards under the budget.
  • For detailed usage scenarios and limit calculation rules, refer to the Velocity Control Usage Guide.

Notes:

  • Virtual and physical cards must be created separately. Once issued as a virtual card, it cannot be converted into a physical card. For details on physical card issuance, see Issuing Physical Cards.
  • This step can only be performed after the cardholder creation has been approved.