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

# Fund User

> Credit USDZ points to a widget user's point balance.

## Description

Credit publisher points to a widget user's point balance. Amount is in **currency minor units**. For USDZ, `100` equals `$1.00` worth of points.

This endpoint is idempotent on `idempotency_key`.

## Configuration

### Header Parameters

<ParamField required header="apikey" type="string">
  Your ZBD project API key (production scope).
</ParamField>

<ParamField initialValue="application/json" header="Content-Type" type="string">
  Content Type
</ParamField>

### Body Parameters

<ParamField required body="user_id" type="string">
  The ZBD user ID returned by Create User.
</ParamField>

<ParamField required body="amount" type="integer">
  Amount in currency minor units. For USDZ: `100` = $1.00, `1000` = $10.00.
</ParamField>

<ParamField required body="currency" type="string">
  Point currency code. Use `USDZ` unless your project has a different configured point currency.
</ParamField>

<ParamField required body="idempotency_key" type="string">
  Unique key to prevent duplicate transfers. Use a UUID.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://api.zbdpay.com/api/v1/widget/users/fund \
    -H "apikey: YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "user_id": "4ac4fd8a-cc2c-4d03-af09-a76f4e89d652",
      "amount": 1000,
      "currency": "USDZ",
      "idempotency_key": "90f9371e-c48a-4bc9-9075-ef7a4c6816ec"
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "message": "Point transfer completed successfully.",
    "data": {
      "transfer_id": "f4ba94c1-1234-5678-abcd-ef0123456789",
      "status": "COMPLETED"
    },
    "error": null
  }
  ```
</ResponseExample>
