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

# Wallet

> Wallet balance and payout affordability checks via /sdk/v1.

All endpoints below require:

* `X-Application-Id`
* `X-Api-Key`

## GET /sdk/v1/wallet/balance

Get the agency wallet balance summary.

### Response

```json theme={null}
{
  "success": true,
  "data": {
    "balanceValue": 1234.56,
    "spendValue": 789.01,
    "pendingValue": 50.0,
    "currency": "USD"
  }
}
```

## POST /sdk/v1/wallet/check-payout-balance

Check whether the wallet can cover a payout (including platform fee and settlement rules).

This endpoint returns a bare `{ sufficient: boolean }` object (no `success` wrapper).

### Body

Uses the same payload rules as `POST /sdk/v1/payouts/trigger`, except `payoutRecipientEmail` is optional.

If you include `platformFeePayerOverride` and, when needed, `platformFeeAgencySharePercent`, the affordability check uses that override when calculating the required wallet debit.

```json theme={null}
{
  "payoutCurrency": "USD",
  "payoutAmount": "5.00",
  "platformFeePayerOverride": "AGENCY_PAYS_ALL"
}
```

### Response

```json theme={null}
{ "sufficient": true }
```

### Common errors

* `400`: invalid payload (currency not supported, >2 decimals, missing amount, etc.)
* `401`: missing/invalid SDK headers
* `403`: origin not allowed (when allowlist is configured and `Origin` is present)

## POST /sdk/v1/wallet/check-payout-balance-bulk

Check whether the wallet can cover the total of up to 100 payouts.

This endpoint returns a bare `{ sufficient: boolean }` object (no `success` wrapper).

### Body

```json theme={null}
{
  "payouts": [
    { "payoutCurrency": "USD", "payoutAmount": "5.00" },
    {
      "payoutCurrency": "USD",
      "payoutAmount": "10.00",
      "platformFeePayerOverride": "CUSTOM_SPLIT",
      "platformFeeAgencySharePercent": 25
    }
  ]
}
```

### Response

```json theme={null}
{ "sufficient": false }
```
