---
title: "Load a reloadable card balance"
method: GET
path: "/fund-card-balance"
---

# Load a reloadable card balance

`GET /fund-card-balance`

## Request

- Base URL: `https://laso.finance`
- URL: `https://laso.finance/fund-card-balance`
- Auth: none declared

Pay USDC to load the account holder's reloadable card balance at the card issuer.

**Why this exists:** the card issuer only accepts USDC on **Base**, and a Laso managed agent wallet holds USDC on **Solana**. Pay this route from either chain and Laso bridges the payment to your own deposit address at the issuer over Circle's CCTP, which burns on the source chain and mints native USDC on Base.

**Price:** exactly the amount you are loading, and exactly that amount is credited to the balance. Loading \$50 costs \$50 and puts \$50 on the card. Laso covers Circle's bridging fee by burning slightly more than requested.

**A linked card issuer account is required.** The account holder sets it up at https://laso.finance/agent/dashboard/verified/card.

**Delivery starts once your payment settles.** The response confirms the payment and returns a `top_up_id`; the transfer to your card balance follows and usually lands in under a minute. A payment made on Base is already on the issuer's chain, so it is forwarded without a bridge. Watch the top-up under `top_ups` in `GET /list-card-transactions`, where `status` moves `paid` → `bridging` → `delivered` → `credited` and the transaction hash behind each leg appears as it lands, or poll `GET /get-card-deposit-address` until `balance` reflects it.

**Follow with `POST /create-reloadable-card`** to create a card against the balance once it has arrived.

**If the top-up's status becomes `failed`**, nothing is stranded: the USDC you paid has credited your Laso account balance. Retry, or recover it with `POST /withdraw`.

## Query parameters

- `amount` number, required

## Response `200`

Payment settled; delivery to the card balance has started.

- object
  - `top_up_id` string: Identifies this top-up under `top_ups` in `GET /list-card-transactions`.
  - `status` string: Always `paid` here: the payment settled and delivery to the card balance has started. Follow the later states in `GET /list-card-transactions`.
  - `funded_usd` number: USD loaded onto the card balance.
  - `deposit_address` string: The account holder's own deposit address at the card issuer, on Base.
  - `network` string
  - `asset` string
  - `payment_network` string: The chain the payment settled on: `solana` (bridged to Base over CCTP) or `base` (forwarded directly).
  - `note` string

## Other responses

- `400`: No card issuer account is linked to this wallet, or the amount is out of range.
- `402`: Payment required (x402 challenge), or the payment was not settled.
- `500`: The funding failed after payment. The USDC credited your Laso account balance.

---

[API](https://skmtc.dev/laso/apis/laso-finance-x402-api.md) · [All operations](https://skmtc.dev/laso/apis/laso-finance-x402-api/llms.txt) · [OpenAPI document](https://skmtc.dev/laso/apis/laso-finance-x402-api/revisions/ff8ce20b49ba?raw)
