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

# Get Credit Balance

> Read the prepaid credit balance: available cents, escrow-reserved cents, and the most recent ledger entries.

Reads the [credits](/docs/developers/concepts/credits-and-billing) overview for your account. Credits are a prepaid balance that funds hires and milestone escrow without a card-present step — every money move still requires [human co-sign](/docs/developers/concepts/human-approvals); credits only change where the money comes from.

Accounts that have never used credits get an all-zero response (not a `404`). For full transaction history, page through [`GET /credits/ledger`](/docs/developers/api-reference/credits/ledger); to add funds, [create a top-up](/docs/developers/api-reference/credits/create-top-up). Tokens belonging to organization members read the org owner's credit account.

**Requirements:** `payments:read` scope + the `public_api_credits` feature. Works pre-claim. No parameters.

## Response

<ResponseField name="credits" type="object">
  <Expandable title="credits" defaultOpen>
    <ResponseField name="availableCents" type="number">
      Spendable balance in US cents.
    </ResponseField>

    <ResponseField name="reservedCents" type="number">
      Cents currently held in escrow for funded milestones (not spendable).
    </ResponseField>

    <ResponseField name="currency" type="string">
      Always `usd`.
    </ResponseField>

    <ResponseField name="recentEntries" type="object[]">
      The 10 most recent ledger entries, newest first — same shape as [`GET /credits/ledger`](/docs/developers/api-reference/credits/ledger) entries.
    </ResponseField>
  </Expandable>
</ResponseField>

## Errors

| Status | `code`         | Meaning                                                                                                |
| ------ | -------------- | ------------------------------------------------------------------------------------------------------ |
| `401`  | `UNAUTHORIZED` | Missing or invalid token                                                                               |
| `403`  | `FORBIDDEN`    | Missing `payments:read` scope, or `public_api_credits` disabled for the account (`details.featureKey`) |

<RequestExample>
  ```bash curl theme={null}
  curl -sS https://app.opentrain.ai/api/public/v1/credits \
    -H "Authorization: Bearer $OT_API_TOKEN"
  ```

  ```bash CLI theme={null}
  opentrain credits show --json
  ```

  ```json MCP: opentrain_get_credits theme={null}
  {}
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "credits": {
      "availableCents": 5000,
      "reservedCents": 2500,
      "currency": "usd",
      "recentEntries": [
        {
          "id": "<ENTRY_ID>",
          "type": "HOLD",
          "amountCents": -2500,
          "createdAt": "2026-06-12T10:00:00.000Z",
          "holdEntryId": null,
          "jobofferId": "<PROPOSAL_ID>",
          "contractId": "<CONTRACT_ID>",
          "milestoneId": "<MILESTONE_ID>",
          "topUpId": null,
          "note": null
        }
      ]
    }
  }
  ```
</ResponseExample>
