> ## Documentation Index
> Fetch the complete documentation index at: https://docs.privy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Spend from vault balances

> Enable Earn-backed card spending with the Privy React and React Native SDKs

Approved card programs can spend from [Earn](https://docs.privy.io/wallets/actions/earn/overview.md) vault balances. Bridge redeems vault shares just-in-time for purchases.

## Enable vault spending

Contact your account manager to enable an approved earn vault for the card program. Deploying an earn vault alone does not enable card spending.

## Use the existing card integration

Continue with the [React](https://docs.privy.io/financial-flows/cards/pre-built-components/react-integration.md) or [React Native](https://docs.privy.io/financial-flows/cards/pre-built-components/react-native-integration.md) card integration. Your app does not need additional vault props or a separate signup flow.

During card signup, the prebuilt UI shows the vault disclosures and prompts the wallet to approve spending from the vault. In production, continue passing the `spendApproval` configuration from your account manager.

> [!NOTE]
>
> Signup does not deposit funds. Fund the wallet's vault position separately with the [Earn deposit
> flow](https://docs.privy.io/wallets/actions/earn/deposit.md).

If the user closes signup before completing the spend approval, call `signUp` again with the same wallet, chain, asset, and environment to retry. Reload `CardSummaryView` afterward to refresh the balance.

## Display the spendable balance

`CardSummaryView` displays the available card balance automatically. For vault-backed cards, this balance shows the spendable amount in the vault rather than a combined wallet and vault total.

Card purchases pull only from the vault balance and do not fall back to the wallet's regular stablecoin balance. The prebuilt card UI does not currently include a toggle to switch funding sources.

For a custom balance UI, use `balance_formatted` from the card response. A `null` value means the balance could not be read, not zero.
