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

# Rate limits

> Platform-wide throughput limits and recommended client-side behavior.

Tachyon is currently open-access: **no API keys** and **no per-integrator tiers**. Rate limits exist to keep the protocol healthy.

## Platform throughput

| Surface                                                 | Limit                                    |
| ------------------------------------------------------- | ---------------------------------------- |
| Intent creation (across all integrators)                | **100 intents per second** platform-wide |
| Read endpoints (`/intent-details`, `/get-routes`, etc.) | Generous; not a typical bottleneck       |
| Polling `/intent-details/:intentId`                     | Poll every 2–5 seconds per live intent   |

These numbers apply to testnet and mainnet unless otherwise noted.

## Behavior when a limit is hit

Intent creation requests that exceed the throughput ceiling are rejected at the HTTP layer (HTTP `429`). Retry with exponential backoff and jitter:

```ts theme={null}
async function withRetry<T>(fn: () => Promise<T>): Promise<T> {
  let attempt = 0;
  while (true) {
    try {
      return await fn();
    } catch (err) {
      if (err.status !== 429 || attempt >= 5) throw err;
      await delay(2 ** attempt * 500 + Math.random() * 200);
      attempt++;
    }
  }
}
```

## Soft limits we recommend

Even within the platform ceiling, build for these client-side caps:

| Action                                | Suggested cap                                          |
| ------------------------------------- | ------------------------------------------------------ |
| Polling per live intent               | Every 2–5 s (not tighter)                              |
| Concurrent in-flight intents per user | 5 (queue beyond that)                                  |
| Bulk payroll submissions              | Chunk at 100 intents per wave, pause 1 s between waves |

This keeps your share of the 100/s ceiling bounded so other integrators on the platform aren't starved.

## As integrator demand grows

If your use case needs more than a safe fraction of the platform ceiling, high-volume payroll, an agent swarm, a market-making TWAP strategy, reach out to the team via [github.com/tachyonpe](https://github.com/tachyonpe) so throughput can be planned ahead of time. There's no request gating today, but letting the team know helps with capacity planning.

<Card title="Errors" icon="circle-exclamation" href="/reference/errors">
  Full list of error codes, including rate-limit responses.
</Card>
