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

# INSUFFICIENT_BALANCE

> HTTP 409 — Insufficient balance

**HTTP status:** 409 · **Title:** "Insufficient balance"

## When it fires

The actor lacks the balance the operation needs — the exact meaning depends on the endpoint:

* **`POST /v1/trades`** — the smart account's USDC balance is below the requested `amount` (the rest of this page).
* **`POST /v1/redemptions`** — the smart account holds **zero** of the outcome token you are trying to claim, so there is nothing to redeem (e.g. the tokens were already moved or redeemed). For redemptions, ignore the USDC-funding advice below — check the account actually holds the outcome token via `GET /v1/portfolio/positions`.

## Why it happens

* You haven't funded the account yet.
* A previous trade consumed more than expected (gas + slippage) and left a sub-threshold balance.
* The auto-funding pipeline is backed up — common during very high-throughput windows.
* Org account: trade is being charged to the user but the org policy expected the org to pay (or vice versa). Check `feePayerType`.

## How to fix

* Check the current balance via `GET /v1/portfolio` — `usdcBalance` field.
* For users: fund via the webapp's onramp flow (or transfer USDC into the smart account directly).
* For orgs: the org admin tops up the org wallet.
* For staging/sandbox: use the testnet faucet flow.

## Related codes

* [`SMART_ACCOUNT_NOT_PROVISIONED`](/developer-docs/api-errors/SMART_ACCOUNT_NOT_PROVISIONED), [`SPENDING_LIMIT_EXCEEDED`](/developer-docs/api-errors/SPENDING_LIMIT_EXCEEDED)
