---
updatedAt: 2026-03-03T22:34:09.000Z
agentTools:
  projectIndex: https://developers.akahu.nz/llms.txt
---

# Rate Limits

High API request volumes may be rate-limited by Akahu

Akahu's APIs enforce a combination of global rate limiting and endpoint-specific rate limits.

If your request is rate limited, Akahu will respond with an HTTP status code of `429` "Too Many Requests". If your app receives a response from Akahu with a `429` status code, the request should be retried after a short delay. We recommend using an **exponential backoff** retry strategy.

Here is an example delay calculation for an exponential backoff strategy. This example also includes random jitter to avoid the [thundering herd](https://en.wikipedia.org/wiki/Thundering_herd_problem) problem.

```typescript
/**
 * This is the initial/base delay (ms) for the exponential backoff strategy.
 *
 * A base of 100ms will generate following sequence of delays (before random
 * jitter is applied):
 *
 * 100ms, 200ms, 400ms, 800ms, 1600ms, 3200ms, 6400ms etc...
 */
const RETRY_BACKOFF_BASE = 100;

/**
 * Calculate the next delay (milliseconds) of an exponential backoff strategy.
 *
 * Applies a random jitter to each delay to avoid the "thundering herd" problem
 * caused by multiple clients retrying concurrently.
 */
function getRetryDelayMs(retryCount: number) {
  // Random jitter factor between 0.75 and 1.25;
  const jitter = 0.75 + Math.random() / 2;
  // Exponential backoff with jitter applied.
  return (RETRY_BACKOFF_BASE * 2 ** retryCount) * jitter;
}
```

# Endpoint specific limits

Currently the only endpoint which has specific rate limits in addition to global rate limiting is `POST /v1/payments`. Rate limiting for this endpoint is applied on a **per-user basis**, meaning that your app cannot exceed the specified rate of requests for any individual user.

Currently the rate limit for initiating payments is 200 requests/user/minute.

> ℹ️
>
> **Note:** Akahu reserves the right to update our rate limiting policy without notice.