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

# Fund Your Project

> Add USDC to your project wallet via on-chain deposit or virtual bank account.

# Fund Your Project

Before your agent can make payments, the project needs a funded USDC balance. There are two ways to add funds: deposit USDC directly on-chain (recommended) or send fiat via a virtual bank account.

## Method 1: On-Chain USDC Deposit

The fastest way to fund your project. Send USDC on the Base network directly to your project's wallet address.

### Get Your Deposit Address

Retrieve your project's deposit address via the API or from the project dashboard at [app.unwall.xyz](https://app.unwall.xyz).

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.unwall.xyz/v1/stablecoin/address \
    -H "Authorization: Bearer aw_live_xxxxxxxxxxxx"
  ```

  ```python Python theme={null}
  import requests

  headers = {"Authorization": "Bearer aw_live_xxxxxxxxxxxx"}
  response = requests.get("https://api.unwall.xyz/v1/stablecoin/address", headers=headers)
  print(response.json())
  ```

  ```typescript TypeScript theme={null}
  const response = await fetch("https://api.unwall.xyz/v1/stablecoin/address", {
    headers: { Authorization: "Bearer aw_live_xxxxxxxxxxxx" },
  });
  const address = await response.json();
  console.log(address);
  ```
</CodeGroup>

```json Response theme={null}
{
  "chain": "base",
  "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f2bD28",
  "currency": "usdc"
}
```

### Send USDC

Send USDC to the returned address on the **Base** network. You can send from any wallet, exchange, or bridge that supports Base.

<Steps>
  <Step title="Copy the deposit address">
    Copy the `address` from the API response or the project dashboard.
  </Step>

  <Step title="Send USDC on Base">
    From your wallet or exchange, send USDC to the address. Make sure you select the **Base** network.
  </Step>

  <Step title="Wait for confirmation">
    Deposits are confirmed via Bridge.xyz webhook, usually within a few minutes. Your project balance updates automatically.
  </Step>
</Steps>

<Warning>
  Only send **USDC on the Base network** to this address. Sending other tokens or using the wrong network may result in lost funds.
</Warning>

## Method 2: Virtual Bank Account (Fiat On-Ramp)

If you prefer to fund with USD, you can create a virtual bank account that automatically converts incoming deposits to USDC.

<Steps>
  <Step title="Create a virtual bank account">
    From the project dashboard, navigate to **Funding** and create a virtual bank account. Bridge.xyz provisions a US bank account linked to your project.
  </Step>

  <Step title="Send USD via ACH or wire">
    Send USD to the virtual bank account from your bank. Both ACH transfers and wire transfers are supported.
  </Step>

  <Step title="Auto-conversion to USDC">
    Bridge.xyz automatically converts the incoming USD to USDC and credits your project wallet on Base chain.
  </Step>
</Steps>

<Note>
  ACH deposits typically take 1-3 business days to settle. Wire transfers are usually same-day. Your project balance updates once Bridge.xyz confirms the conversion.
</Note>

## Checking Your Balance

After funding, verify your balance:

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.unwall.xyz/v1/balance \
    -H "Authorization: Bearer aw_live_xxxxxxxxxxxx"
  ```

  ```python Python theme={null}
  import requests

  headers = {"Authorization": "Bearer aw_live_xxxxxxxxxxxx"}
  response = requests.get("https://api.unwall.xyz/v1/balance", headers=headers)
  print(response.json())
  ```

  ```typescript TypeScript theme={null}
  const response = await fetch("https://api.unwall.xyz/v1/balance", {
    headers: { Authorization: "Bearer aw_live_xxxxxxxxxxxx" },
  });
  const balance = await response.json();
  console.log(balance);
  ```
</CodeGroup>

```json Response theme={null}
{
  "project_id": "proj_abc123",
  "currency": "usdc",
  "available": 5000000,
  "pending": 0,
  "total_funded": 5000000,
  "total_spent": 0,
  "wallet_address": "0x742d35Cc6634C0532925a3b844Bc9e7595f2bD28"
}
```

<Note>
  All amounts are in micro-USDC (1 USDC = 1,000,000). So `5000000` = 5.00 USDC.
</Note>

## Processing Times

| Method                      | Typical Time                          |
| --------------------------- | ------------------------------------- |
| On-chain USDC deposit       | Minutes (after on-chain confirmation) |
| Virtual bank account (ACH)  | 1-3 business days                     |
| Virtual bank account (Wire) | Same day                              |

## Next Steps

<CardGroup cols={2}>
  <Card title="Send a Payment" icon="paper-plane" href="/guides/send-payment">
    Use your funded balance to make payments via x402, USDC, or ACH.
  </Card>

  <Card title="x402 Protocol" icon="bolt" href="/guides/x402-payments">
    Pay for API calls automatically with your USDC balance.
  </Card>
</CardGroup>
