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

# Rate Limits

Tapenet's hosted public gateway is free and anonymous, and deliberately conservative:
sized for browsing, development, and light traffic. This page covers how the metering
works, what your client should do when it hits a limit, and where to go when the free
tier stops being enough. Gateways you run with Tapedrive set their own limits.

The situation is the same as Solana itself. Public RPC exists, and serious applications
pay a provider or run a node. Tapenet's free gateway is an on-ramp; real workloads bring
a paid gateway tier or their own gateway.

## How metering works

The gateway meters the two content endpoints with per-IP token buckets on both requests and bytes. When a bucket empties, requests get `429` with a `Retry-After` header instead of queueing.

| Endpoint class                                     | Buckets drawn    |
| -------------------------------------------------- | ---------------- |
| Content: `/object/{track_id}`, `/track/{track_id}` | requests + bytes |
| Catalog (`/v1` family) and status                  | unmetered        |

## Handling 429s in your client

Respect `Retry-After`, back off, and treat sustained 429s as a signal to move tiers rather than something to code around. The SDKs already behave this way: rate limiting surfaces as a typed error carrying the retry delay ([reading with the SDK](/sdks/reading)).

```typescript theme={null}
async function getWithBackoff(url: string): Promise<Response> {
  for (;;) {
    const res = await fetch(url);
    if (res.status !== 429) return res;
    const wait = Number(res.headers.get("retry-after") ?? "1");
    await new Promise((r) => setTimeout(r, wait * 1000));
  }
}
```

## When the free tier isn't enough

Three ways up, in increasing order of control:

**A paid gateway tier.** Gateway operators offer higher limits as a service. What's on offer and what it costs is up to each operator ([how gateways work](/protocol/architecture/gateways)).

**Run your own gateway.** Full control of limits, cache size, and placement. It requires staking past the network's access threshold ([gateway setup](/protocol/node-setup/gateway)). If you're used to requesting an API key for more throughput: there are no API keys here. Capacity comes from running or paying for infrastructure.

**A CDN in front.** For public content at web scale, edge caching multiplies what any gateway serves ([serving through a CDN](/tools/cdn)).
