# Pagination & rate limits

Read result pages and react to the real service limits.

## Page through payments and events

List endpoints use page and per_page. Default per_page is 25; maximum is 100. Results are newest first. Use meta.has_more to decide whether to request the next page. Do not assume an empty page is a missing resource error.

Payment filters are status, reference, created_after and created_before. Event filters are type, payment_id, created_after and created_before. The payments list does not currently implement provider or currency filters. Use ISO 8601 dates/times and URL-encode query values.

```json
{
  "success": true,
  "data": [],
  "meta": {
    "page": 1,
    "per_page": 25,
    "total": 0,
    "has_more": false
  }
}
```

## Rate-limit headers

Default server API allowance: 100 requests per key per minute. Payment/checkout creation has an additional 60-per-minute allowance. Address-level protections also apply. Deployment configuration can change defaults; response headers are authoritative.

Read X-RateLimit-Limit and X-RateLimit-Remaining. A 429 response includes Retry-After; do not immediately loop or rotate keys to evade the limit. Slow down concurrency and use bounded backoff with jitter.

## Currency units

Amounts are integers, never decimal major-unit prices. Use the exponent below instead of multiplying every currency by 100. The selected provider must separately support the currency; this platform list is not a promise of provider availability.

| Code | Currency | Exponent | Example: 500 major units |
| --- | --- | --- | --- |
| NGN | Nigerian Naira | 2 | 50000 |
| USD | US Dollar | 2 | 50000 |
| GHS | Ghanaian Cedi | 2 | 50000 |
| KES | Kenyan Shilling | 2 | 50000 |
| ZAR | South African Rand | 2 | 50000 |
| EUR | Euro | 2 | 50000 |
| GBP | British Pound | 2 | 50000 |
| CAD | Canadian Dollar | 2 | 50000 |
| AUD | Australian Dollar | 2 | 50000 |
| SGD | Singapore Dollar | 2 | 50000 |
| JPY | Japanese Yen | 0 | 500 |
| UGX | Ugandan Shilling | 0 | 500 |
| TZS | Tanzanian Shilling | 0 | 500 |
