Skip to main content
POST

Endpoint

Authentication

string
required
Bearer token with your API key. Must have Perform Operations permission.
string
required
Must be application/json

Path Parameters

string
required
The unique identifier of the distributor. Must match the distributor ID associated with the API key.

Request Body

Cash-In Operation

string
required
Must be "cash-in"
string
required
Amount to credit to the destination wallet (e.g., “5000.00”)
string
End user’s mobile phone number in international format (e.g., “+234 8123456781”). Required when cashing in to an individual wallet. Cannot be used together with merchantToShortCode.
string
Merchant’s short code number (e.g., “100000”). Required when cashing in to a merchant wallet. Cannot be used together with phoneTo.
string
Optional reference note or description for the operation (e.g., “Receipt #1234”, “Customer deposit”).
For cash-in operations, you must provide either phoneTo (individual wallet) or merchantToShortCode (merchant wallet), but not both.

Cash-Out Operation

string
required
Must be "cash-out-fulfillment"
string
required
Amount to debit from the user’s wallet (e.g., “3000.00”)
string
required
End user’s mobile phone number in international format (e.g., “+234 8123456781”)
string
required
Type of fulfillment. Currently only "cash" is supported.
string
required
Receipt or reference ID for the cash-out transaction
string
Optional reference note or description for the operation.

Response

string
Unique identifier for the created operation

Validation Rules

The API validates the following before creating an operation:
  • Must have Perform Operations permission
  • Distributor ID must match the key’s associated distributor
  • Must be a valid decimal number
  • Must be greater than 0
  • Cannot exceed API key’s max transaction amount (if set)
  • Sum of today’s operations + this operation cannot exceed key’s daily volume limit (if set)
  • For individual wallets: phoneTo must be in international format (e.g., +234 8123456781) and belong to a registered user
  • For merchant wallets: merchantToShortCode must be a valid, existing merchant short code
  • You must provide exactly one of phoneTo or merchantToShortCode for cash-in operations
  • Cash-In: Distributor must have sufficient balance
  • Cash-Out: User must have sufficient wallet balance

Maker-Checker Workflow

Operations created via API follow the maker-checker approval pattern. The operation is created in a pending state and requires approval by a checker before execution.
After creating an operation:
  1. Operation is saved with status pending
  2. A checker with appropriate permissions must approve it via the web interface
  3. Once approved, the operation is executed on the blockchain
  4. The operation status changes to completed or failed

Get Balance

Check distributor balance before creating operations

Get Operations

Query operation history and status