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

# Conventions

> Pagination, timestamps, currencies, and identifiers.

## Pagination

List endpoints share the same query parameters and response wrapper:

| Parameter   | Default     | Notes                                      |
| ----------- | ----------- | ------------------------------------------ |
| `limit`     | 20          | 1–100                                      |
| `offset`    | 0           |                                            |
| `sortBy`    | `createdAt` | Also `totalAmount`, `status` (order lists) |
| `sortOrder` | `desc`      | `asc` or `desc`                            |

```json theme={null}
{
  "orders": ["..."],
  "pagination": { "total": 142, "limit": 20, "offset": 0, "hasMore": true }
}
```

Iterate by advancing `offset` until `hasMore` is `false`.

## Timestamps

All timestamps are **epoch milliseconds** (UTC) — `createdAt`, `completedAt`, `expiresAt`, webhook `createdAt`, and the `t=` value in webhook signatures.

## Currencies and amounts

* Currency codes are uppercase: fiat `USD`, `EUR`, `GBP`, `AUD`, `CAD`, `INR`; crypto `BTC`, `LTC`, `USDC`, `USDT`, `XRP`, `XLM`.
* Tier limits, spend caps, deposits, and `markupTotal` are in **USD**.
* A checkout's `totalAmount` is in its `paymentCurrency`.
* B2B item `unitPrice` is expressed in the item's `costCurrency` — not necessarily the checkout's `paymentCurrency`.
* Crypto invoice amounts are **strings** (for example `"0.00016589"`) to avoid float precision loss.

## Order item semantics

* `amount` is the **denomination** the recipient receives (a 50 USD card → `amount: 50`), constrained by the SKU's `min`, `max`, and `changeStep`.
* `quantity` is how many units of that denomination — each unit gets its own fulfillment entry.
* `requiredFields` supplies per-item data some products need (for example a player id for a game top-up). The product's catalog entry defines which fields to collect.

## Identifiers

| Prefix     | Resource                               |
| ---------- | -------------------------------------- |
| `wg_live_` | API keys                               |
| `chkb_`    | Checkouts created via the B2B API      |
| `chkr_`    | Checkouts created via the Retailer API |
| `depb_`    | Deposits created via the B2B API       |
| `whe_`     | Webhook endpoints                      |
| `whd_`     | Webhook deliveries                     |
| `whsec_`   | Webhook signing secrets                |

Checkouts and deposits created on the consumer website use the untagged `chk_` / `dep_` prefixes, and records created before surface tagging was introduced keep them too — endpoints accept every variant, so treat all ids as opaque strings and do not parse structure out of them.

## Country codes

`customerCountry` uses ISO 3166-1 alpha-2 (`DE`, `US`, ...). It describes the **end-customer**, is never inferred from your server's IP, and activates per-product blocked-country rules when present.
