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

# Pricing

> Prices per model, what is billed, and how credits work.

Requests are paid from prepaid credits. There is no subscription and no minimum spend.

## Prices

| Model | Model ID | Input / 1M tokens | Cached input / 1M tokens | Output / 1M tokens |
| - | - | -: | -: | -: |
| Qwen3.8 27B | `qwen/qwen3.8-27b` | \$0.425 | \$0.085 | \$2.55 |

* Reasoning tokens are billed as output. They are counted in `usage.completion_tokens`.
* Cached input is the part of the prompt served from the prompt cache. The response reports it in `usage.prompt_tokens_details.cached_tokens`. Caching is automatic, and writing to the cache is free — see [Prompt caching](/docs/data-handling#prompt-caching).
* There are no other usage charges.

### Price changes

A price increase takes effect at least 30 days after notice, or longer where the law requires, and applies only to future usage. Unused purchased credits can be refunded before the increase — see [Terms of Service, section 8](/legal/terms-of-service#8-pricing-and-payment).

### OpenRouter pricing

For requests through OpenRouter or another router, the router sets the price, billing and any cache discount — see [Terms of Service, section 1](/legal/terms-of-service#1-who-we-are-and-when-these-terms-apply).

## What is billed

Input, cached input and the output generated for the request. The candidate answers and intermediate steps of swarm inference are not billed.

| How the request ended | Charged |
| - | - |
| Completed | Input, cached input and output |
| Refused before it started: any error except `502` and `504` | Nothing |
| Stopped after it started: the client disconnected, it failed with `502` or `504`, or a stream ended with an `upstream_error` event | Input, and the output generated before it stopped |
| Stopped, and its usage cannot be determined | Nothing |

* To cancel a request, close the connection. Generation can continue briefly after that, and the output is charged.
* A retry is a new request and is charged separately. There is no idempotency key.

## Credits

### Buy credits

On the [platform](https://platform.fortytwo.network), open **Credits** and press **Buy credits**.

| | |
| - | - |
| Amount | $10 to $10,000 per purchase, in USD |
| Payment | Card, through Stripe. Crypto is not accepted |
| **Service fee** | A percentage plus a fixed amount, added on top of the credits and fixed when the purchase starts. The balance receives the full amount selected. The fee is not usage and does not count toward spend limits |
| Before payment | The form shows **Usage credits**, **Service fee**, **Estimated tax** and **Total due** |
| Receipt | Emailed by Stripe to your primary email. Also in **Top-up history** → **View** |
| Expiry | Purchased credits do not expire |

Card details go directly to Stripe — see [Privacy Policy, section 5](/legal/privacy-policy#5-other-personal-data-we-collect). Your card issuer can add its own fees.

### Auto-reload

**Auto-reload** buys credits when the balance falls to a threshold. It is off by default.

1. On **Credits**, turn on **Enable auto-reload**.
2. Set **Auto-reload threshold** and **Top-up amount**, and select a saved card.

To stop it, turn off **Enable auto-reload**. Charges already made stand. Saving a card does not turn on Auto-reload. Each reload charges the card the top-up amount plus the **Service fee** and any tax. If a charge fails or the bank asks for confirmation, Auto-reload turns off and an email is sent. Removing the selected card also turns it off.

### Low balance alerts

Low balance alerts are off by default. On **Credits**, under **Balance notifications**, turn on **Low balance alerts** and set **Low balance threshold** (\$1 or more). One email goes to the verified primary email when the balance falls below the threshold, or at once if it is already below. The alert re-arms when the balance is back at or above it.

### When the balance runs out

With no usable credits, a request fails with `429 insufficient_quota`. Buying credits clears it. If credits are on hold after a bank dispute, the error is `402 payment_hold` — see [Errors](/docs/errors#codes). Key and account spend limits are on [Get access](/docs/access#spend-limits).

### Grant and promotional credits

| | Purchased credits | Grant and promotional credits |
| - | - | - |
| Order of use | After grant and promotional credits | First |
| Expiry | None | As stated when granted |
| Refund on account closure | Yes, less outstanding charges | No |
| Counts toward a tier | Yes | No |

## Refunds and disputes

* **Wrong or duplicate charge.** Contact [support](/docs/support) within 60 days of the charge, with the transaction or request ID. This does not limit statutory rights. Refunds go to the original payment method — see [Terms of Service, section 8](/legal/terms-of-service#8-pricing-and-payment).
* **Bank dispute.** The credits bought with the disputed payment are put on hold, and the card cannot be used for new payments or **Auto-reload**. The rest of the balance stays available. If the hold leaves no usable credits, requests stop until credits are bought with another card. Repeated disputes can lead to suspension — see [Terms of Service, section 8](/legal/terms-of-service#8-pricing-and-payment).
* **Right of withdrawal.** Consumers in the EEA and the UK can withdraw within 14 days — see [Terms of Service, section 9](/legal/terms-of-service#9-consumer-cancellation-and-remedies).

## Track spend

**Usage** shows spend by key and model. **Logs** shows the cost of each request. Charges are calculated to six decimal places of a dollar and rounded once. Both keep 12 months of history — see [Get access](/docs/access#track-usage).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.