Skip to main content
Every endpoint page in this section is generated from the Zerocash OpenAPI specification and ships with an interactive playground — fill in your token and run a live request from the page.

Base URL

Sandbox and production share this host. Which environment you hit depends on the credentials behind your bearer token. See Environments.

Authentication

All endpoints except Generate Bearer Token expect a bearer token:
The token endpoint itself authenticates differently — it takes your secret in an api-key header and your public key in the body. Full walkthrough in Authentication.

Endpoint groups

Authentication

Mint bearer tokens and read your account profile and configured webhook URLs.

Reference Data

Countries, banks, branches, mobile money providers, operator lookup, account resolution, service uptime, and FX rates.

Charges

Collect payments by mobile money, bank transfer, card, and OPay — plus OTP validation and refunds.

Payouts

Disburse funds to mobile money and bank destinations, and manage saved external accounts.

Transactions

List transactions and look one up by transactionId or your own externalReference.

Webhooks

Inspect delivery attempts, resend a webhook, and simulate events in the sandbox.

Conventions

A unique ID you supply when creating a charge or payout. It is your reconciliation key, it protects you from duplicate transactions on retry, and it can be used in place of transactionId when fetching a transaction.
currency is an ISO 4217 code (KES, UGX, NGN, XOF). country is an ISO 3166-1 alpha-2 code (KE, NG). Amounts are expressed in the major unit of the currency.
E.164 format without the leading plus — for example 254712345678, not +254712345678.
A 200 on a charge or payout means accepted for processing. The final outcome arrives by webhook or by polling the transaction. Only a successful status means funds moved.
Some charges pause for customer action. otp means collect a code and submit it to Validate OTP; redirect means send the customer to the returned redirectUrl; card charges may additionally require pin or address_verification via Authorise Charge.

Errors

Zerocash uses standard HTTP status codes. 4xx and 5xx responses carry a JSON body with an errorCode and a human-readable message.

API error codes

HTTP-level failures: authentication, validation, and rate limiting.

Transaction error codes

Why an individual charge or payout failed, and what to do about each case.