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

# Sandbox and Testing Environment

> ClickPesa does not provide a sandbox. Test against live production with small amounts and the pre-KYC limits

ClickPesa does not provide a sandbox or testing environment. All API calls, including those from the [API Explorer](/api-reference), run against the live production environment. Transactions move real funds.

## Limits before KYC approval

Until [KYC is approved](/home/onboarding#limits-before-kyc-approval), your account is limited to **TZS 100,000 total** across collections, payouts, deposits, and withdraws, and **100 API calls per day** (including [token generation](/api-reference/authorization/generate-token)). When the transaction cap is reached, payment actions pause until KYC is approved.

Card collections, TanQR/Lipa Namba, and CRDB Direct Debit cannot be enabled until KYC is approved. Complete [KYC](/home/onboarding#step-2-complete-kyc) to remove transaction and API limits and unlock those products.

## How to test

* **Use small amounts.** Before KYC, keep test collections and payouts small so you do not exhaust the TZS 100,000 shared limit. After KYC, continue with small amounts while you validate your flow — there is still no sandbox.
* **Reuse your JWT.** Tokens are valid for **1 hour**. Generating a new token on every request counts toward the daily API cap. Store the token and reuse it until it expires. See [API Integration Setup](/application/api-application-setup).
* **Prefer preview and query over initiate.** Use preview endpoints to validate details, then initiate once. Query payment or payout status instead of sending the same request again. API Explorer calls count toward the daily limit as well.
* **Leave IP whitelisting off while exploring.** Once you add a whitelisted IP, the [API Explorer stops working](/home/whitelisted-ip-address) for your account. Enable it when you are calling the API from your own servers.
* **Configure webhooks early.** Point them at a reachable HTTPS URL so you can confirm live payment and payout outcomes without polling. See [Webhooks](/home/webhooks).
