---
title: "Read wallet balances"
method: GET
path: "/api/v1/wallet"
---

# Read wallet balances

`GET /api/v1/wallet`

## Request

- Base URL: `https://prowl.chat`
- URL: `https://prowl.chat/api/v1/wallet`
- Auth: HTTP bearer

Returns the two pools a call is paid from: plan credit, which burns at the end of the billing period and is spent first, and top-up credit, which never expires. Figures are rounded to whole cents at this boundary.

## Headers

- `authorization` string, nullable

## Cookies

- `prowl_session` string, nullable

## Response `200`

Successful Response

- WalletBalances: The two pools a caller spends from, rounded to whole cents at this boundary. Sub-cent precision is deliberate *inside* the store (SSH-305) and deliberately absent here — `web/server.py::_rounded_wallet_fields` rounds on the way out so a display value never carries a float tail.
  - `subscription_balance_usd` number, required: Plan credit for the current period. Burns at period end, spent first.
  - `extra_balance_usd` number, required: Top-up credit. Never expires, spent after the subscription pool.
  - `total_available_usd` number, required: What the next call can draw on: the two pools added together.
  - `updated_at` string, nullable: ISO-8601 timestamp of the last balance change, or null if never moved.

## Other responses

- `401`: Missing, malformed or expired credential.
- `422`: Validation Error

---

[API](https://skmtc.dev/prowl/apis/prowl-rest-api-v1.md) · [All operations](https://skmtc.dev/prowl/apis/prowl-rest-api-v1/llms.txt) · [OpenAPI document](https://skmtc.dev/prowl/apis/prowl-rest-api-v1/revisions/897e8b30c330?raw)
