For the complete documentation index, see llms.txt. This page is also available as Markdown.

Sarafa API

Get All Wallets

get

Retrieve the main account number and a list of all wallets with their balances.

Authorizations
api-keystringRequired
Responses
200

Successful retrieval of wallets

application/json
statusstringOptional

Response status (e.g., 'success', 'error', 'ok')

Example: success
get/wallets
GET /v2/wallets HTTP/1.1
Host: api.sarafa.live
api-key: YOUR_API_KEY
Accept: */*
{
  "status": "success",
  "data": {
    "account_number": "ACC-123456789",
    "wallets": [
      {
        "currency": "USD",
        "balance": 1250
      }
    ]
  }
}

Get Specific Wallet

get

Retrieve balance and details for a specific currency wallet.

Authorizations
api-keystringRequired
Path parameters
currencystring · enumRequired

Supported currencies.

Possible values:
Responses
200

Successful retrieval of wallet

application/json
statusstringOptional

Response status (e.g., 'success', 'error', 'ok')

Example: success
get/wallet/{currency}
GET /v2/wallet/{currency} HTTP/1.1
Host: api.sarafa.live
api-key: YOUR_API_KEY
Accept: */*
{
  "status": "success",
  "data": {
    "currency": "USD",
    "balance": 1250
  }
}

View Transaction

get

Retrieve detailed information about a specific transaction.

Authorizations
api-keystringRequired
Path parameters
tx_idstringRequired

The unique transaction ID.

Responses
200

Transaction details found

application/json
statusstringOptional

Response status (e.g., 'success', 'error', 'ok')

Example: success
get/transaction/{tx_id}
GET /v2/transaction/{tx_id} HTTP/1.1
Host: api.sarafa.live
api-key: YOUR_API_KEY
Accept: */*
{
  "status": "success",
  "data": {
    "tx_id": "text",
    "amount": 1,
    "currency": "USD",
    "initiated_at": "2026-01-01T00:00:00.000Z",
    "completed_at": "2026-01-01T00:00:00.000Z",
    "status": "completed",
    "total_amount": 1,
    "total_fees": 1,
    "transaction_type": "transfer",
    "product": "text",
    "description": "text",
    "customer_meta": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  }
}

Get Exchange Rates

get

Retrieve the current list of exchange rate pairs.

Authorizations
api-keystringRequired
Responses
200

List of rates

application/json
statusstringOptional

Response status (e.g., 'success', 'error', 'ok')

Example: success
get/rates
GET /v2/rates HTTP/1.1
Host: api.sarafa.live
api-key: YOUR_API_KEY
Accept: */*
200

List of rates

{
  "status": "success",
  "data": [
    {
      "pair": "USD/SSP",
      "rate": 1500
    }
  ]
}

Initiate Charge

post

Initiate a charge request.

Authorizations
api-keystringRequired
Body
amountnumber · doubleRequiredExample: 100.5
currencystring · enumRequired

Supported currencies.

Possible values:
account_numberstringRequired

Payer's account number

referencestringRequired

External reference ID

callback_urlstring · uriRequired
Responses
200

Charge initiated successfully

application/json
statusstringOptional

Response status (e.g., 'success', 'error', 'ok')

Example: success
post/charge
POST /v2/charge HTTP/1.1
Host: api.sarafa.live
api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 113

{
  "amount": 100.5,
  "currency": "USD",
  "account_number": "text",
  "reference": "text",
  "callback_url": "https://example.com"
}
{
  "status": "success",
  "data": {
    "tx_id": "text",
    "callback_url": "text",
    "checkout_url": "text"
  }
}

Initiate Transfer

post

Transfer funds to a mobile money or Sarafa account.

Authorizations
api-keystringRequired
Body
amountnumber · doubleRequired
currencystring · enumRequired

Supported currencies.

Possible values:
destinationstring · enumRequired

Type of destination for the transfer.

Possible values:
account_numberstringRequired

Recipient account number

referencestringRequired
callback_urlstring · uriRequired
Responses
200

Transfer initiated successfully

application/json
statusstringOptional

Response status (e.g., 'success', 'error', 'ok')

Example: success
post/transfer
POST /v2/transfer HTTP/1.1
Host: api.sarafa.live
api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 132

{
  "amount": 1,
  "currency": "USD",
  "destination": "mobile",
  "account_number": "text",
  "reference": "text",
  "callback_url": "https://example.com"
}
{
  "status": "success",
  "data": {
    "tx_id": "text"
  }
}

Health Check

get

Check the operational status of the API.

Authorizations
api-keystringRequired
Responses
200

API is healthy

application/json
statusstringOptional

Response status (e.g., 'success', 'error', 'ok')

Example: success
get/
GET /v2/ HTTP/1.1
Host: api.sarafa.live
api-key: YOUR_API_KEY
Accept: */*
200

API is healthy

{
  "status": "success"
}

Last updated