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

# Rate limits

> Per-partner rate tiers.

Each API key has its own rate tier, applied per minute. Keyed requests are metered against your tier rather than the shared per-IP limit.

Every response carries:

| Header                | Meaning                              |
| --------------------- | ------------------------------------ |
| `RateLimit-Limit`     | Your per-minute ceiling.             |
| `RateLimit-Remaining` | Requests left in the current window. |
| `RateLimit-Reset`     | Seconds until the window resets.     |

A `429` response includes `Retry-After` (seconds).

<Note>
  Each **build** call spends live aggregator (KyberSwap/Pendle) and RPC quota, so your tier is sized to your real throughput. Reads are cache-served and cheap. Need a higher tier? [Contact us](mailto:abhishek@spiralstake.xyz).
</Note>

## Tips

* Cache public strategy/price reads on your side — they change on a cadence, not per request.
* Build **just before** signing (freshness), not speculatively — it saves quota and avoids stale bundles.
