# Help center — SaveToken

## Getting started
- Get an API key: `POST /v1/keys/free` — mints a free key, 100 calls/day, no card required.
- Upgrade to Pro: https://savetoken.org/pricing — $49/mo, 5,000 calls/month.

## Billing & subscription
- Cancel: use the "Manage subscription" link in your Paddle receipt email. Stops future billing; key runs until the paid period ends. No lock-in.
- Switch billing cadence (monthly/quarterly/annual): email contact@savetoken.org.
- LLM token costs: SaveToken never calls the model or bills for your LLM usage — it returns smaller text for you to send to your own provider with your own key.
- Refunds: see https://savetoken.org/refund — contact contact@savetoken.org within 7 days of a charge.

## Usage & limits
- 300 requests/minute/key — burst guard, applies to every key.
- 100 requests/day/key — free-tier keys.
- 5,000 requests/month/key — Pro keys, rolling 30-day window.
- 20 mints/day/IP address — `POST /v1/keys/free`.
- Over the limit: extra calls are declined, no overage charge. Pro keys that hit the cap: email contact@savetoken.org to get bumped.
- One call = one `POST /v1/optimize` request.

## Errors
Every error response returns `{"request_id", "error": true, "code", "message"}`.

| Status | code | Meaning | Fix |
|---|---|---|---|
| 400 | BAD_REQUEST | Malformed request or a field constraint violation | Check `message` and the request schema at /docs |
| 401 | UNAUTHORIZED | API key missing, invalid, or revoked | Confirm the `Authorization: Bearer` header and key status |
| 429 | RATE_LIMIT | A rate or quota limit was reached | See Usage & limits above — `message` names the limit hit |
| 500 | INTERNAL | Server-side failure | Retry; if it persists, email contact@savetoken.org with the `request_id` |

## Privacy & data
- SaveToken does not store request or response text — only token counts, dollars saved, and verdict per call. Full policy: https://savetoken.org/privacy
- SaveToken never sees or stores your downstream LLM provider key.
- Works with any provider (Claude, ChatGPT, Gemini, other) — SaveToken never calls the model itself.
- Does not break prompt caching — only the dynamic tail is compressed; the stable prefix you mark is never touched.

## Contact
- Email contact@savetoken.org with your `request_id` (if you have one) — we get back to you.
- Agents can file an issue directly, no key needed: `POST /v1/support` `{"message": "...", "request_id": "..."}`. Full reference: https://savetoken.org/docs#support

## Links
- Full help center (HTML): https://savetoken.org/help
- API reference: https://savetoken.org/docs
- Pricing: https://savetoken.org/pricing.md
