# CurrencyCore FAQ

> Answers about getting started, API keys, plans, currency and history coverage, rate limits, MCP, the AI endpoint, migration, and key security.

Canonical: https://currency-core.com/docs/guides/faq/
Updated: 2026-11-11
Published: 2026-11-11

---
## Start

### What is CurrencyCore?

CurrencyCore is an API for currency conversion, exchange-rate snapshots,
historical series, purchasing-power-parity data, and FX analytics. It also runs a
hosted MCP server and an AI endpoint that answer currency questions from the same
data. Start with [Getting started](/docs/getting-started/) or the
[API reference](/docs/api/).

### How do I make my first request?

Create an account, create an organization, create an API key, and send it in the
`Authorization` header. The first call can be as small as:

```bash
curl "https://api.currency-core.com/v1/convert?from=USD&to=EUR&amount=100" \
  -H "Authorization: Bearer cc_test_your_key"
```

See [Getting started](/docs/getting-started/) for JavaScript, Python, Go, Java,
and PHP examples.

### Do I need a credit card to start?

No. The Free plan includes 1,000 requests per month, 100 AI credits, 3 seats, and
the last 30 days of history. No card is required. See
[Pricing](/pricing/) and [Rate limits](/docs/rate-limits/).

## Keys

### How do I authenticate a request?

Send `Authorization: Bearer <key>` or `x-api-key: <key>`. There is no
query-string authentication. Keys in URLs end up in logs and browser history.
See [Authentication](/docs/authentication/).

### What is the difference between a live key and a test key?

Live keys use the `cc_live_` prefix, require a paid plan, and use the
organization's live quota and rate limit. Test keys use `cc_test_`, work on every
plan, return the same reference data, count against the same monthly quota, and
are always capped at 60 requests per minute. See
[Authentication](/docs/authentication/).

### How do I rotate or revoke a key?

Create a replacement key in the dashboard, deploy it, verify traffic, then revoke
the old key. You can also disable a key without deleting it. See
[Authentication](/docs/authentication/) for the current key controls.

## Plans

### What are the Free plan limits?

Free includes **1,000 API requests per month**, **60 requests per minute**, **100
AI credits per month**, **3 seats**, and the **last 30 days** of history. Only
successful 2xx requests count toward the monthly quota. See
[Rate limits](/docs/rate-limits/).

### Which plan do I need for analytics?

The analytics endpoints require **Growth** or higher. That covers
`/v1/history/analysis`, `/v1/volatility`, `/v1/correlation`, `/v1/drawdown`,
`/v1/safe-haven`, `/v1/mean-reversion`, and `/v1/ppp/analysis`. See
[History analysis](/docs/history-analysis-endpoint/) and [Pricing](/pricing/).

### What is the entry paid plan?

Starter is **$9/mo** and includes **50,000 requests per month**, full history,
live keys, 10 seats, and a 120 requests per minute limit. Public pricing was
checked on 2026-11-10. See [Pricing](/pricing/) and
[Rate limits](/docs/rate-limits/).

## Data

### How many currencies does CurrencyCore support?

CurrencyCore quotes **160 fiat currencies**. `GET /v1/currencies` returns **165
entries**: the 160 fiat codes plus `XAU`, `XAG`, `XPT`, `XPD`, and `XDR` as
reference entries. The rate feed is fiat only. See
[Currencies](/docs/currencies/).

### How far back does history go?

Coverage depends on the pair. GBP/USD and USD/INR include annual parity data from
**1949**, daily major pairs start in **1971**, and EUR pairs start in **1999**.
Free is limited to the last 30 days; Starter and above get full history. See
[History](/docs/history-endpoint/) and
[History coverage](/docs/guides/history-coverage/).

### How often do rates update?

CurrencyCore uses central-bank reference rates, polled **hourly**, with daily
fixings underneath. It is not a real-time or 60-second executable quote feed.
Requests use UTC calendar dates. See [Rates](/docs/rates-endpoint/).

### Do you support precious metals or cryptocurrency?

No quoted metals or crypto. `XAU`, `XAG`, `XPT`, and `XPD` appear in
`/v1/currencies` as reference entries, but the rate feed is fiat only. If your
product needs metals or crypto, keep a dedicated provider. See
[Currencies](/docs/currencies/).

## Limits

### What counts toward the monthly quota?

Only HTTP **2xx** responses count toward the monthly API quota. Client errors
(`400`, `401`, `402`, `403`, `404`, `413`, `422`) and server errors (`5xx`) do
not. The per-minute limit is different: it counts every request, including
errors and retries. See [Rate limits](/docs/rate-limits/).

### What happens when I hit a rate limit?

The API returns `429 rate_limited`. A per-minute limit includes a `Retry-After`
header. A monthly quota `429` does not reset until the next billing period. See
[Errors](/docs/errors/) and [Rate limits](/docs/rate-limits/).

## MCP

### What is the MCP server?

CurrencyCore runs a hosted Model Context Protocol server at
`https://mcp.currency-core.com/mcp`. It exposes currency, history, PPP, and
analytics tools to MCP clients such as Claude, Cursor, VS Code, and ChatGPT. See
[MCP server](/docs/mcp/) and [MCP tools](/docs/mcp-tools/).

### How does MCP authentication work?

MCP uses OAuth, not an API key pasted into a config file. You add the server URL,
sign in through the browser, and choose an organization. The connection is bound
to that organization and revalidated on each request. See
[MCP OAuth and access](/docs/mcp-oauth/) and
[MCP troubleshooting](/docs/mcp-troubleshooting/).

## AI

### What is the AI endpoint and how is it billed?

`GET /v1/ai?q=...` accepts a natural-language currency question and returns a
structured answer with the data behind it. Native answers cost **1 AI credit**,
not an API request. The Free plan includes 100 AI credits per month. See
[AI endpoint](/docs/ai-endpoint/) and [AI credits](/docs/ai-credits/).

## Migration

### How do I migrate from another currency API?

Inventory your calls, replace query-string auth with a bearer header, diff your
stored currency codes against `/v1/currencies`, and map the response envelope.
Use the [provider-neutral migration guide](/docs/guides/migration/), then the
specific guide for [Fixer](/docs/guides/migrate-fixer/),
[CurrencyLayer](/docs/guides/migrate-currencylayer/), or
[ExchangeRate-API](/docs/guides/migrate-exchangerate-api/).

## Security

### How should I handle API keys, and where do I report a security issue?

Keep keys in a secret manager, send them only in headers over HTTPS, and never
put them in query strings, client-side code, or logs. Revoke a key immediately if
it is exposed, then create a replacement. Report a suspected vulnerability to
[support@currency-core.com](mailto:support@currency-core.com) with "security" in
the subject. See [Authentication](/docs/authentication/) and
[Support](/docs/guides/support/).

## Related

- [OpenAPI specification](/docs/openapi/)
- [Authentication](/docs/authentication/)
- [Errors](/docs/errors/)
- [Rate limits](/docs/rate-limits/)
- [All integration guides](/docs/guides/)
- [API reference](/docs/api/)
- [Support](/docs/guides/support/)
