> ## Documentation Index
> Fetch the complete documentation index at: https://rain-sandbox-trial.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# How Card Issuing Works

> Build a card program with Rain in three phases: plan and set up, build, then run your program.

Building a card program with Rain happens in three phases. First you plan and
set up your program, then you build it by onboarding cardholders and issuing
cards, and finally you run it by managing live transactions, risk, and disputes.

Use this page as your roadmap. Each card links to the guide for that step.

## Phase 1: Plan and set up your program

Before you write any integration code, decide which kind of program you are
running and get access to the Dashboard and the API. Set your webhook URL early
so you receive events from your very first API call.

<Columns cols={3}>
  <Card title="Understand the flow of funds" icon="sitemap" href="/docs/first-steps">
    Two setup choices, your program type and your management model, decide
    who holds collateral and who authorizes and settles.
  </Card>

  <Card title="Set up access" icon="key" href="/docs/set-up-access">
    Accept your Dashboard invite and copy your API key and secret from the
    Config page to authenticate your requests.
  </Card>

  <Card title="Connect webhooks" icon="bell" href="/docs/connect-webhooks">
    Set your webhook URL early. The full event catalog and signature
    verification live in Phase 3, under Manage transactions.
  </Card>
</Columns>

## Phase 2: Build your program

With access in place, onboard a cardholder, issue their card, fund it, and make
the card details available for spending. Use the sandbox to simulate this flow
before you go live.

<Columns cols={3}>
  <Card title="Onboard a cardholder" icon="user-check" href="/docs/onboard-a-cardholder">
    Submit a KYC or KYB application, then confirm approval by polling the status
    endpoint or listening for a webhook. See application states for every status
    and transition.
  </Card>

  <Card title="Issue a card" icon="credit-card" href="/docs/issuing-cards">
    Create a virtual or physical card, set spending limits, ship and activate
    physical cards, and add cards to Apple Wallet or Google Wallet.
  </Card>

  <Card title="Fund the card" icon="coins" href="/docs/managing-collateral">
    Add collateral so the cardholder's credit limit reflects their available
    funds. Funding differs for Rain-Managed and Partner-Managed programs.
  </Card>

  <Card title="Access card details" icon="lock" href="/docs/viewing-encrypted-card-details">
    Decrypt a virtual card's PAN and CVC on the client so the cardholder can
    start spending.
  </Card>

  <Card title="Test with simulations" icon="flask" href="/docs/simulating-transactions/overview">
    Simulate card transactions and collateral funding in the sandbox before you
    go live.
  </Card>
</Columns>

## Phase 3: Run your program

Once cards are live, monitor transactions through their lifecycle, enforce your
fraud and risk controls, and handle disputes and refunds.

<Columns cols={3}>
  <Card title="Manage transactions" icon="arrows-spin" href="/docs/transaction-lifecycle">
    Follow transactions from authorization to settlement, handle webhook events,
    and reconcile activity with the reporting data.
  </Card>

  <Card title="Manage fraud and risk" icon="shield" href="/docs/authorization-declines-risk-rules">
    Apply spending limits, block merchant categories, and forward 3-D Secure
    challenges to your cardholders.
  </Card>

  <Card title="Handle disputes and refunds" icon="scale-balanced" href="/docs/transaction-issues-disputes">
    File a dispute within the network deadline, track its status through
    webhooks, and submit supporting evidence.
  </Card>
</Columns>
