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

# Credits, rate limits, and AI operation costs

> Understand how ManticScore credits work, what each AI operation costs, how daily resets work on the free tier, and how to check your current usage.

ManticScore uses a credit system to meter AI-powered operations. Each time you run a research job, start a Forge session, or send a chat message, a small number of credits is deducted from your balance.

## Credit costs

| Operation              | Credits |
| ---------------------- | ------- |
| Market research        | 3       |
| Feature deep research  | 3       |
| Forge (agentic coding) | 2       |
| Build graph            | 1       |
| Chat message           | 1       |
| Retrieval judge        | 1       |

These weights are documented here as the canonical source. Clients should treat the table above as static — the previous `credits.weights` field on `GET /v1/usage` has been removed in favor of a fixed shape that matches the iOS `UsageDTO`.

## Tier allowances

Each tier sets caps on questions, text-to-speech minutes, and credits per monthly period.

| Tier         | Questions | TTS minutes | Credits |
| ------------ | --------- | ----------- | ------- |
| Free         | 50        | 5           | 20      |
| Explorer     | 500       | 60          | 200     |
| Plus         | 1500      | 180         | 300     |
| Pro          | 2500      | 300         | 400     |
| Early Access | 100000    | 10000       | 100000  |

Periods roll over at the first of each calendar month UTC. The exact rollover timestamp is returned as `period.resets_at` on `GET /v1/usage`.

<Note>
  An explicit non-zero `credits_total` on the user's profile (for example, an early-access lifetime grant) overrides the tier's `credits` cap. Question and TTS caps always come from the tier table.
</Note>

## Checking your usage

Your current credit usage is included in your profile and bootstrap responses, and is also available as a dedicated `GET /v1/usage` endpoint that returns the current period, tier with caps, used counters, and remaining allowance in one shot. See [Billing and usage](/api-reference/billing) for the full response schema.

<Tabs>
  <Tab title="Usage endpoint">
    ```bash theme={null}
    GET /v1/usage
    Authorization: Bearer <token>
    ```

    ```json theme={null}
    {
      "period": {
        "key": "2026-05",
        "resets_at": "2026-06-01T00:00:00+00:00"
      },
      "tier": {
        "id": "free",
        "product_id": null,
        "caps": {"questions": 50, "tts_minutes": 5.0, "credits": 20}
      },
      "used": {"questions": 0, "tts_seconds": 0.0, "credits": 3},
      "remaining": {"questions": 50, "tts_minutes": 5.0, "credits": 17}
    }
    ```
  </Tab>

  <Tab title="Profile endpoint">
    ```bash theme={null}
    GET /profile
    Authorization: Bearer <token>
    ```

    ```json theme={null}
    {
      "credits_used": 3,
      "credits_total": 20,
      ...
    }
    ```
  </Tab>

  <Tab title="Bootstrap endpoint">
    ```bash theme={null}
    GET /auth/bootstrap
    Authorization: Bearer <token>
    ```

    ```json theme={null}
    {
      "subscription": {
        "plan": "free",
        "credits_used": 3,
        "credits_total": 20
      },
      ...
    }
    ```
  </Tab>
</Tabs>

When `used.credits` equals `tier.caps.credits` (or `credits_used` equals `credits_total` on the profile), the next AI operation that requires credits returns `429 Too Many Requests`. Free-tier accounts recover at the start of the next monthly period.

<Info>
  The `questions` and `tts_seconds` counters on `GET /v1/usage` currently return `0` until the usage aggregator is wired. The caps and remaining math are still authoritative — clients can rely on the shape today and pick up real counts when the aggregator ships.
</Info>

## Rate limits

Credits and rate limits are separate mechanisms. Rate limits cap how many requests you can send per minute, regardless of your credit balance.

| Endpoint         | Limit       |
| ---------------- | ----------- |
| Research         | 10 / minute |
| Feature research | 5 / minute  |
| Chat             | 20 / minute |
| Forge            | 10 / minute |

When a rate limit is hit, the response includes a `Retry-After` header indicating when you can try again.

```
HTTP 429 Too Many Requests
Retry-After: 30
```

<Note>
  Rate-limited research requests with a valid session token may be captured to a retry queue rather than dropped entirely. Each account can have up to 5 pending queued requests.
</Note>

## Research quality stats

You can view aggregate quality scores across all completed research to understand how well the AI is performing on your ideas.

```bash theme={null}
GET /projects/quality-stats
Authorization: Bearer <token>
```

```json theme={null}
{
  "total_research": 10,
  "avg_quality_score": 72.5,
  "min_quality_score": 45.0,
  "max_quality_score": 95.0,
  "monthly": [
    {"month": "2026-04-01T00:00:00Z", "count": 3, "avg_score": 70.0}
  ]
}
```

Quality scores range from 0 to 100 and reflect factors like competitor coverage, feature depth, signal quality, and interpretation specificity.
