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

# Balance

Your RunComfy account has **one balance**. The same funds pay for Serverless deployments, Model API requests, and Trainer jobs, and every product checks it before starting work. This endpoint reports what is left.

***

## Endpoint

**Base URL**: `https://api.runcomfy.net/prod`

| Endpoint      | Method | Purpose                             |
| ------------- | ------ | ----------------------------------- |
| `/v2/balance` | `GET`  | Get the account's remaining balance |

The balance lives on the core API host rather than being mirrored on `model-api` and `trainer-api`, because there is only one wallet to report. Authenticate with the same Bearer token used everywhere else — see **[Authentication](/serverless/authentication)**.

***

## Get the balance

```
GET /v2/balance
```

### Request example

```bash theme={null}
curl --request GET \
  --url "https://api.runcomfy.net/prod/v2/balance" \
  --header "Authorization: Bearer <token>"
```

### Response example

```json theme={null}
{
  "balance_microdollars": 4830000,
  "balance_usd": 4.83,
  "currency": "USD"
}
```

* `balance_microdollars` (integer): Remaining balance in **millionths of a US dollar**. This is the exact stored value — use it for arithmetic and threshold checks.
* `balance_usd` (number): The same figure in dollars, rounded to cents for display.
* `currency` (string): Always `USD`.

<Note>
  RunComfy stores money as microdollars: **1 USD = 1,000,000 microdollars**. Comparing against `balance_usd` loses sub-cent precision, so gate automation on `balance_microdollars`.
</Note>

***

## What the balance covers

The reported figure is your spendable balance across all products. It excludes retired legacy playground packs, promotional credit that is restricted to specific tools, and any pack that has expired — so it matches what the platform will actually let you spend.

A zero balance is a normal response, not an error. It means work will be refused until you top up in your [Profile](https://www.runcomfy.com/profile).

***

## Minimum balances

Products refuse to start work below a floor, so a positive balance is not by itself enough to guarantee a job starts:

| Product                         | Minimum to start                |
| ------------------------------- | ------------------------------- |
| Serverless API (ComfyUI / LoRA) | \$1.00 (`1000000` microdollars) |
| Trainer API                     | \$0.50 (`500000` microdollars)  |

Running out **mid-run** also has consequences: a Serverless deployment that exhausts the balance is disabled and torn down, and a training job stops with a `FAILED` status. Polling this endpoint before and during long jobs is the cheapest way to avoid both.

***

## Checking cost alongside balance

Balance tells you what is left; it does not tell you what a run cost. For that, ask the request itself:

```bash theme={null}
curl --request GET \
  --url "https://model-api.runcomfy.net/v1/requests/{request_id}/result?include_cost=true" \
  --header "Authorization: Bearer <token>"
```

See **[Retrieve Request Results](/model-apis/async-queue-endpoints#retrieve-request-results)**. For how each product prices work, see [Model API billing](/model-apis/about-billing), [Serverless billing](/serverless/about-billing), and [Trainer billing](/trainer-apis/about-billing).

***

## From an AI assistant

The MCP server exposes this as the `get_balance` tool, so an assistant can answer "how much credit do I have left?" directly. See **[Tool Reference](/mcp/tool-reference#account)**.
