Quick Start - Consumer Revolving Credit

Consumer revolving credit enables you to issue credit cards to individual consumers with revolving balances, minimum monthly payments, and interest accrual. Unlike charge cards that require full monthly payment, revolving credit allows cardholders to carry a balance month-to-month while making minimum payments.

This guide demonstrates how to set up individual cardholders with revolving credit lines, configure interest rates and fees, track purchases and payments, and automate monthly statement generation and payment collections.


Implementation Steps

Step 1: Create Individual Account Holder

Create an individual cardholder account using the KYC_EXEMPT workflow (or KYC_ADVANCED for full identity verification).

Endpoint: Create Account Holder

Request:

{
  "workflow": "KYC_EXEMPT",
  "kyc_exemption_type": "AUTHORIZED_USER",
  "tos_timestamp": "2024-03-20T12:00:00Z",
  "first_name": "Jane",
  "last_name": "Doe",
  "email": "[email protected]",
  "phone_number": "+15555551234",
  "address": {
    "address1": "123 Main Street",
    "city": "New York",
    "state": "NY",
    "postal_code": "10012",
    "country": "USA"
  }
}

Response:

{
  "token": "acd9876e-4f32-4b29-8f7a-2e1f6d3c9b8a",
  "account_token": "8a313ab8-bef8-4cb6-bbe8-52aa313bf66e",
  "created": "2024-03-20T12:00:00Z",
  "status": "ACCEPTED"
}

This automatically creates an ISSUING financial account for the cardholder, which tracks their revolving credit balance. You can find their ISSUING financial account by sending a request to List Financial Accounts and including the account_token in the response above as the parameter


{
  "data": [
    {
	//this is the financial account token
      "token": "a7b3c8d2-e4f5-6789-a0b1-c2d3e4f56789",
      "created": "2026-01-15T10:30:00.000000Z",
      "updated": "2026-03-20T14:22:30.000000Z",
      "type": "ISSUING",
      "account_token": "8a313ab8-bef8-4cb6-bbe8-52aa313bf66e",
      "status": "PENDING",
      "substatus": null,
      "user_defined_status": null,
      "is_for_benefit_of": false,
    }
  ],
  "has_more": false
}

The account will be marked in PENDING until a Credit Product Token is assigned to the Financial Account. Please see Credit Configurations to learn more about setting up a credit_product_token


Step 2: Configure Credit Limit

For this example, lets say Lithic Implementations has set you up with a credit_product_token of 2jyR0tDUZK7N7fMxmzMHJOa7bH7.

Apply the credit product to the cardholder's financial account and set their credit limit. We'll set this customer's credit limit at $2,000.

Endpoint: Update Credit Account Configuration

Request:

{
  "credit_limit": 200000,
  "credit_product_token": "2jyR0tDUZK7N7fMxmzMHJOa7bH7"
}

Response:

{
  "credit_limit": 200000,
  "available_credit": 200000,
  "financial_account_token": "a7b3c8d2-e4f5-6789-a0b1-c2d3e4f56789",
  "credit_product_token": "2jyR0tDUZK7N7fMxmzMHJOa7bH7"
}


Step 3 (Optional): Link External Bank Account

If your program is using Lithic for repayment, you can add the cardholder's external bank account for ACH payment collections.

Endpoint: Create External Bank Account

Request:

{
  "verification_method": "MICRO_DEPOSIT",
  "owner_type": "INDIVIDUAL",
  "owner": "Jane Doe",
  "type": "CHECKING",
  "routing_number": "102000076",
  "account_number": "1234567890",
  "country": "USA",
  "currency": "USD",
  "financial_account_token": "a7b3c8d2-e4f5-6789-a0b1-c2d3e4f56789",
  "address": {
    "address1": "123 Main Street",
    "city": "New York",
    "state": "NY",
    "postal_code": "10012",
    "country": "USA"
  }
}

Response:

{
  "token": "405cc774-3eca-4445-b096-dca5f915c3ff",
  "verification_state": "PENDING",
  "type": "CHECKING",
  "routing_number": "102000076",
  "last_four": "7890"
}

Note: The cardholder must verify micro-deposits before the account can be used for collections.



Step 4: Create Interest Tier Schedule

Creates a new tier within the tier schedule for a financial account, using either a pre-configured tier (tier_name) or setting the APRs yourself (tier_rates).

Note that tier_name XOR tier_rates must be set. Both cannot be set in the Request.

Endpoint:  Create Interest Tier Schedule

Request:

{
  "effective_date": "2026-03-15",
  "credit_product_token": "2jyR0tDUZK7N7fMxmzMHJOa7bH7",
  "tier_rates": {
    "purchase": {
      "rate": "0.1999",
      "cap_rate": "0.2999"
    },
    "cash_advance": {
      "rate": "0.2499",
      "cap_rate": "0.2999"
    },
    "balance_transfer": {
      "rate": "0.2999",
      "cap_rate": "0.2999"
    }
  }
}

Response:

{
  "effective_date": "2026-03-15",
  "credit_product_token": "2jyR0tDUZK7N7fMxmzMHJOa7bH7",
  "tier_rates": {
    "purchase": {
      "rate": "0.1999",
      "cap_rate": "0.2999"
    },
    "cash_advance": {
      "rate": "0.2499",
      "cap_rate": "0.2999"
    },
    "balance_transfer": {
      "rate": "0.2999",
      "cap_rate": "0.2999"
    }
  }
}

Step 5: Issue Card

Create a virtual or physical card for the cardholder.

Endpoint: Create Card

Request:

{
  "type": "VIRTUAL",
//this is the account token from step 1
  "account_token": "8a313ab8-bef8-4cb6-bbe8-52aa313bf66e",
}

Response:

{
  "token": "27a50b21-4544-4acb-a3e4-9344c4c57d0c",
  "type": "VIRTUAL",
  "state": "OPEN",
  "last_four": "4532",
}

The cardholder can now make purchases up to their $2,000 credit limit.


Step 6: Track Transactions and Balances

Monitor card activity and revolving balance through financial transactions. The below shows 2 transactions - one which has settled and one which has only been authorized.

Endpoint: List Card Transactions

Response:

{
  "data": [
    {
      "token": "3c8d9e2f-a1b2-4567-8901-2345678abcde",
      "created": "2026-03-30T14:22:15.000000Z",
      "updated": "2026-03-30T14:22:15.000000Z",
      "status": "PENDING",
      "family": "CARD",
      "category": "CARD",
      "result": "APPROVED",
      "currency": "USD",
      "settled_amount": 0,
      "pending_amount": -7500,
      "descriptor": "GROCERY STORE #1234",
      "financial_account_token": "a7b3c8d2-e4f5-6789-a0b1-c2d3e4f56789",
      "events": [
        {
          "token": "e1f2a3b4-c5d6-7890-1234-567890abcdef",
          "created": "2026-03-30T14:22:15.000000Z",
          "type": "AUTHORIZATION",
          "amount": -7500,
          "result": "APPROVED"
        }
      ]
    },
    {
      "token": "7f8e9d0c-1a2b-3456-7890-123456789abc",
      "created": "2026-03-29T10:15:30.000000Z",
      "updated": "2026-03-30T09:45:22.000000Z",
      "status": "SETTLED",
      "family": "CARD",
      "category": "CARD",
      "result": "APPROVED",
      "currency": "USD",
      "settled_amount": -12350,
      "pending_amount": 0,
      "descriptor": "AMAZON.COM PURCHASE",
      "financial_account_token": "a7b3c8d2-e4f5-6789-a0b1-c2d3e4f56789",
      "events": [
        {
          "token": "a1b2c3d4-e5f6-7890-1234-567890123456",
          "created": "2026-03-29T10:15:30.000000Z",
          "type": "AUTHORIZATION",
          "amount": -12350,
          "result": "APPROVED"
        },
        {
          "token": "b2c3d4e5-f6a7-8901-2345-678901234567",
          "created": "2026-03-30T09:45:22.000000Z",
          "type": "CLEARING",
          "amount": -12350,
          "result": "APPROVED"
        }
      ]
    }
  ],
  "has_more": false
}

Endpoint: Get Balance

Response:

{
  "data": [
    {
      "financial_account_token": "a7b3c8d2-e4f5-6789-a0b1-c2d3e4f56789",
      "financial_account_type": "ISSUING",
      "currency": "USD",
      "available_amount": -21250,
      "pending_amount": -8500,
      "total_amount": -29750,
      "updated": "2024-03-25T14:32:05Z"
    }
  ]
}

Balance Interpretation:

FieldValueMeaning
total_amount12350$123.50 in settled balance
pending_amount-7500$75.00 in pending authorizations
available_amount19850$198.50 in total credit utilized
Remaining credit$2,000 − $198.50 = $1,801.50


Step 7: Generate Monthly Statements

Please note: Step 7 demonstrates production-only functionality, as Lithic does not generate statements in sandbox.

Lithic automatically generates statements at the end of each billing cycle. Let's say the statement elapses on March 31, after both of the above transactions have settled.


Endpoint: Get Statement by Token

Response:

{
  "token": "3Bl9reA8ThO0ttIa2NW2jYzDtbl",
  "financial_account_token": "a7b3c8d2-e4f5-6789-a0b1-c2d3e4f56789",
  "statement_start_date": "2026-03-01",
  "statement_end_date": "2026-03-31",
  "next_statement_end_date": "2026-04-30",
  "payment_due_date": "2026-04-25",
  "next_payment_due_date": "2026-05-25",
  "days_in_billing_cycle": 31,
  "credit_limit": 200000,
  "available_credit": 180150,
  "starting_balance": 0,
  "ending_balance": 19850,
  "period_totals": {
    "purchases": 19850,
    "fees": 0,
    "debits": 0,
    "debit_details": null,
    "credits": 0,
    "credit_details": null,
    "interest": 0,
    "cash_advances": 0,
    "balance_transfers": 0,
    "payments": 0,
    "payment_details": null
  },
  "ytd_totals": {
    "purchases": 19850,
    "fees": 0,
    "debits": 0,
    "debit_details": null,
    "credits": 0,
    "credit_details": null,
    "interest": 0,
    "cash_advances": 0,
    "balance_transfers": 0,
    "payments": 0,
    "payment_details": null
  },
  "created": "2026-04-01T00:00:00.000000Z",
  "updated": "2026-04-01T00:00:00.000000Z",
  "credit_product_token": "2jyR0tDUZK7N7fMxmzMHJOa7bH7",
  "account_standing": {
    "period_state": "STANDARD",
    "period_number": 1,
    "consecutive_minimum_payments_made": 0,
    "consecutive_minimum_payments_missed": 0,
    "consecutive_full_payments_made": 0,
    "days_past_due": 0,
    "has_grace": true,
    "financial_account_state": {
      "status": "OPEN",
      "substatus": null
    }
  },
  "amount_due": {
    "amount": 4500,
    "past_due": 0
  },
  "payoff_details": {
    "minimum_payment_months": "1",
    "minimum_payment_total": "19850",
    "payoff_period_length_months": 1,
    "payoff_period_monthly_payment_amount": 19850,
    "payoff_period_payment_total": 19850
  },
  "interest_details": {
    "prime_rate": "0.0675",
    "interest_calculation_method": "DAILY",
    "effective_apr": {
      "purchases": "0.1999",
      "cash_advances": "0.2499",
      "balance_transfers": "0.1999"
    },
    "interest_for_period": {
      "purchases": "0",
      "cash_advances": "0",
      "balance_transfers": "0"
    },
    "daily_balance_amounts": {
      "purchases": "19850",
      "cash_advances": "0",
      "balance_transfers": "0"
    },
    "minimum_interest_charged": null,
    "actual_interest_charged": 0
  },
  "statement_type": "PERIOD_END"
}
  • amount_due represents the minimum payment owed. This is based on your Credit Product Configuration. This example is showing a flat minimum payment of $45.00
  • No interest has been charged yet, as no balance has revolved from a previous period

Learn more about all the fields that make up statements in Credit Statements


What’s Next

Subscribe to Balance Update and Statement Creation webhooks