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

# Fund a wallet

> Get test stablecoin and gas into a wallet: from the faucet, from a counterparty, or by receiving on-chain.

A fresh wallet holds nothing: no stablecoin to move and no ETH to pay gas
with. The fastest fix is the built-in faucet; wallets can also simply receive
funds like any on-chain address.

## Option 1: The faucet

One call sends test stablecoin **and** tops up Sepolia ETH for gas:

```bash theme={null}
curl -s "$BASE/fund" \
  -H "Authorization: Bearer $KEY" \
  -H "content-type: application/json" \
  -d "{\"walletId\":\"$WALLET\"}"
```

```json theme={null}
{
  "ok": true,
  "data": {
    "transaction": {
      "id": "cktxn0001…",
      "type": "FUND",
      "status": "CONFIRMED",
      "amount": "1000.00",
      "token": "AROUSD",
      "txHash": "0x3d9e…",
      "settlementTxHash": "0x77aa…",
      "walletId": "ckwlt0001…",
      "createdAt": "2026-08-13T09:35:00.000Z",
      "updatedAt": "2026-08-13T09:35:41.000Z"
    }
  }
}
```

Details worth knowing:

* **`amount` is optional.** Omit it for the deployment's default faucet
  amount, or pass a decimal string like `"250"` to request a specific amount.
* **Two legs, one call.** The ETH top-up and the stablecoin transfer are
  separate operator transactions; the stablecoin leg's hash appears in
  `settlementTxHash`.
* **Rolling 24-hour cap.** Faucet volume is capped per account over a rolling
  day. Exceeding it returns `400`; the cap resets as old requests age out.
* **Works for external wallets too**: the faucet is a plain on-chain send, so
  watch-only addresses can receive it.

<Warning>
  If the faucet returns `502 faucet_failed`, the sandbox **operator** wallet is
  out of stablecoin or ETH; that's an operational issue on the platform side,
  not something your integration can fix. See
  [Troubleshooting](/support/troubleshooting).
</Warning>

## Option 2: Receive from anyone

Every wallet is a real Sepolia address. Share it and receive stablecoin,
cAROUSD, or ETH from any counterparty:

* **Dashboard**: the Receive screen shows the address, a QR code, a copy
  button, and a downloadable address card.
* **API**: fetch the address from `GET /wallets/{id}`, or produce a shareable
  [.nota address card](/concepts/nota-files) with `GET /wallets/{id}/nota`.

<Tip>
  Fiat on-ramps (bank transfer, card, Ramp, MoonPay, Transak) appear in the
  dashboard as **coming soon**; in the sandbox, the faucet plays their role.
</Tip>

## Verify the result

```bash theme={null}
curl -s "$BASE/balances?walletId=$WALLET" -H "Authorization: Bearer $KEY"
```

You should see `normal.amount` increased and a healthy `eth.amount` for gas.
From here, [mint cAROUSD](/guides/mint-carousd) to step onto the confidential
rail.
