> ## 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.

# Fund the Card

> Fund a card with collateral. Deposit on-chain for Rain-Managed programs, or fund your Rain account for Partner-Managed programs.

Rain cards are credit cards backed by collateral, so funding a card means adding
collateral that backs the account. How you add it depends on your management
model.

## The credit-only model

A cardholder's spending power equals the collateral backing their account. There
is no stored prepaid balance: you deposit collateral to set a credit limit, and
charges draw against that limit as the cardholder spends. Deposit more collateral
to raise the limit.

How you hold that collateral depends on your management model. In Rain-Managed
programs, each user has their own smart contract. In Partner-Managed programs,
you hold collateral at the account level. See
[Flow of funds](/docs/first-steps) for the difference.

## Fund a Rain-Managed program

In a Rain-Managed program, you deposit collateral into each user's smart
contract:

<Steps>
  <Step title="Get the user's contract address">
    Call [Get smart contract information](/reference/contracts/get-smart-contract-information-for-a-user)
    to retrieve the deposit address, chain, and accepted tokens.

    ```ts theme={null}
    const contracts = await client.users.retrieveContracts(userId);
    const contract = contracts[0];

    console.log(`Deposit to: ${contract.depositAddress}`);
    console.log(`Chain ID: ${contract.chainId}`);
    ```
  </Step>

  <Step title="Deposit supported tokens on-chain">
    Send supported tokens, for example USDC, to the deposit address on the
    specified chain.
  </Step>

  <Step title="Confirm the credit limit">
    The credit limit updates automatically within minutes. Check it with
    [Get a user's credit balances](/reference/balances/get-a-userss-credit-balances).
  </Step>
</Steps>

For admin access and collateral withdrawals, see
[Rain-Managed programs](/docs/rain-managed-programs).

## Fund a Partner-Managed program

In a Partner-Managed program, you hold collateral in your Rain account rather
than per user. Add collateral from the dashboard with **Add tokens**, funding by
wallet or Safe. Rain deploys a collateral contract per chain that serves as your
reserve balance. As cardholders spend, charges post to your account, and you pay
them off by ACH or crypto.

For payment options and balance management, see
[Partner-Managed programs](/docs/partner-managed-programs).

## Supported chains and tokens

Rain accepts USDC and USDT as collateral across supported chains, including
Polygon, Base, Arbitrum, Optimism, Avalanche, Celo, BNB Smart Chain, ZKsync,
Solana, Plasma, Monad, and Stellar. Token availability varies by chain. For the
full matrix, chain IDs, and token contract addresses, see
[Supported chains and tokens](/docs/supported-chains-and-tokens).

<Info>
  In the sandbox, mint `rUSD` test tokens to simulate collateral. See
  [Mint test tokens for collateral](/docs/sandbox-mint-test-tokens-for-collateral).
</Info>

## What's next

<Columns cols={2}>
  <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.
  </Card>
</Columns>
