Changelog / Releases

Environment: Live

App features, API updates, SDK releases, and documentation improvements, with publication dates and links to related documentation.

# Changelog / Releases

App features, API updates, SDK releases, and documentation improvements.

## Airtime and Data Sales APIs

**Date:** 19 Oct 2026 | **Area:** API

**Tags:** New Feature, API Update

Sell airtime and mobile data bundles on MTN, Telecel, and AT from your Moolre wallet, look up available bundles, and check the outcome of every sale.

### What changed

- Added **Airtime** (POST /open/sales/airtime) to send airtime on MTN, Telecel, or AT, with a minimum amount of GHS 1.00.
- Added **Data** (POST /open/sales/data) to send a network-specific data bundle. The bundle price determines the charge, so no amount is sent.
- Added **Bundles** (POST /open/sales/bundles) to list bundle IDs, prices, quantities, validity, and categories, with an optional network filter.
- Added **Sales Status** (POST /open/sales/status) to check an Airtime or Data sale by original external reference, transaction ID, or returned sale reference.
- Added the **Sales** guide under Documentation > Common Workflows, covering service setup, special payment pricing, pending sale handling, bundle selection, and sale outcomes.
- Documented Sales application codes (ASL, ASB, and ASS) in Errors and status codes, and included the new endpoints in generated AI documentation and the Postman collection.

### Before you begin

Create a **Sell on Our Platform Service** in the [Moolre App](https://app.moolre.com/) before using the Airtime or Data APIs. Special payment pricing is available for businesses selling airtime and data; contact Moolre Support to request it.

**Pending is not delivered:** ASL11 means a sale is in progress. Confirm the outcome with Sales Status before retrying, and never resubmit a pending sale with a new external reference.

### Related documentation

- [Sales guide](https://docs.moolre.com/guides/sales)
- [Airtime](https://docs.moolre.com/api/sales/airtime)
- [Data](https://docs.moolre.com/api/sales/data)
- [Bundles](https://docs.moolre.com/api/sales/bundles)
- [Sales Status](https://docs.moolre.com/api/sales/status)

[Link to this entry](https://docs.moolre.com/changelog#airtime-and-data-sales-apis)

---

## New use cases: airtime and data top-ups, rewards and incentives

**Date:** 19 Oct 2026 | **Area:** Documentation

**Tags:** Improvement

Two new end-to-end use cases show how to build with the Sales APIs, and the existing use case pages have a refreshed, more consistent layout.

### What changed

- Added **Airtime and data top-ups**: customers pay with Mobile Money Collection, the payment webhook triggers an Airtime or Data sale, and Sales Status confirms delivery. Includes Node.js and Python examples and a production checklist.
- Added **Rewards and incentives**: pay survey, referral, and loyalty rewards as airtime or data from a pre-funded wallet, with campaign budgets, one reward per person, and abuse prevention guidance.
- Both use cases cover every Sales Status outcome and explain how to avoid sending a sale twice after a timeout or ASL06.
- Refreshed the existing use case pages with consistent headings, clearer step cards and status badges, better mobile layouts, and On this page links that no longer hide section titles under the header.
- Included the new use cases in navigation, search, and generated AI documentation.

### Related documentation

- [Airtime and data top-ups](https://docs.moolre.com/use-cases/airtime-and-data-top-ups)
- [Rewards and incentives](https://docs.moolre.com/use-cases/rewards-and-incentives)
- [Sales guide](https://docs.moolre.com/guides/sales)

[Link to this entry](https://docs.moolre.com/changelog#sales-use-cases)

---

## Create wallets in the Moolre portal

**Date:** 13 Oct 2026 | **Area:** Documentation

**Tags:** Improvement

For compliance reasons, Create Account has been removed from the public API reference. Create your wallets in the Moolre portal instead.

### What changed

- Removed Create Account from API Reference navigation, search, and generated API listings and Postman requests.
- Create wallets at [app.moolre.com](https://app.moolre.com/). Existing documentation links now show this guidance instead of the request form.
- Updated wallet setup guidance. Account settings, status, and transaction APIs remain documented; this documentation update does not announce a backend API shutdown.

### Related documentation

- [Account wallets guide](https://docs.moolre.com/guides/account-wallets)

[Link to this entry](https://docs.moolre.com/changelog#wallet-creation-portal-guidance)

---

## IP Whitelisting for Disbursements guide

**Date:** 12 Oct 2026 | **Area:** Documentation

**Tags:** Improvement

A new step-by-step guide explains how to authorize your servers to initiate disbursements through a specific API Service.

### What changed

- Added IP Whitelisting for Disbursements as the first guide under Documentation > Build and Operate.
- Documented the six-step flow: access API Services, select a service, open Security, choose Whitelist IP for Disbursement, add public server IP addresses, and save.
- Included expandable screenshots showing the security settings and IP address form, plus On this page navigation.
- Clarified service-specific configuration, multiple server IP addresses, IP address changes, secure API credentials, and the distinction from Moolre callback source IPs.
- Formatted Important Notes as a bulleted list and Troubleshooting as four numbered checks, with links to related authentication and callback documentation.
- Included the guide in generated AI documentation, search, and navigation.

### Related documentation

- [IP Whitelisting for Disbursements](https://docs.moolre.com/guides/ip-whitelisting-for-disbursements)
- [Authentication and API keys](https://docs.moolre.com/authentication)

[Link to this entry](https://docs.moolre.com/changelog#disbursement-ip-whitelisting-guide)

---

## Payment webhook failure guidance and callback source IPs

**Date:** 7 Oct 2026 | **Area:** Documentation

**Tags:** API Update, Improvement

The Payment Webhook reference now documents failed payment callbacks alongside successful payments, with callback source IPs and section navigation in one place.

### What changed

- Added the failed payment callback example with status 0, code P02, and data.txstatus 2, while retaining the successful P01 example.
- Documented the failure reason, nullable transactionid, zero-valued amount and value strings, and correlation using externalref.
- Clarified how to handle failed attempts without marking payments as paid, and how to validate callbacks and handle duplicate notifications.
- Moved callback source IPv4 and IPv6 addresses from Authentication to one ungrouped allowlist on Payment Webhook, with copy buttons and an Authentication link to the new location. Allowlist all the listed addresses.
- Added On this page navigation for the overview, callback handling, fields, both examples, and callback source IPs.
- Updated generated AI documentation and Postman guidance. Callback examples use YOUR_CALLBACK_SECRET rather than a real secret.

### Related documentation

- [Payment Webhook](https://docs.moolre.com/api/payments/webhook)
- [Callback source IPs](https://docs.moolre.com/api/payments/webhook#callback-source-ips)

[Link to this entry](https://docs.moolre.com/changelog#payment-webhook-failed-callbacks)

---

## Bank account and Payment ID transaction documentation

**Date:** 6 Oct 2026 | **Area:** Documentation

**Tags:** New Feature, API Update

New reference pages explain how to list bank accounts and retrieve transactions for bank accounts and Payment IDs.

### What changed

- Added List Bank Accounts with a type 3 request to /open/transact/status.
- Added List Bank Account Transactions and List Payment ID Transactions with type 2 requests, externalref, and accountnumber.
- Documented X-API-USER and X-API-PUBKEY authentication, response examples, and transaction arrays.
- Included the new reference pages in the generated Markdown and Postman collection.

### Related documentation

- [List Bank Accounts](https://docs.moolre.com/api/payments/bank-accounts)
- [List Bank Account Transactions](https://docs.moolre.com/api/payments/bank-accounts/transactions)
- [List Payment ID Transactions](https://docs.moolre.com/api/payments/payment-id/transactions)

[Link to this entry](https://docs.moolre.com/changelog#bank-account-payment-id-reference)

---

## SMS delivery network guidance

**Date:** 6 Oct 2026 | **Area:** Documentation

**Tags:** API Update

The SMS reference now explains the optional delivery network, the TELECEL default, and the fallback for unapproved MTN requests.

### What changed

- Documented the optional network parameter for both Send SMS (POST) and Send SMS (GET) in Live mode.
- TELECEL is the default delivery network. Approved MTN requests use MTN; requests without MTN approval fall back to TELECEL.
- Hidden the network parameter in Sandbox mode and omitted it from sandbox requests and examples.
- Clarified that network selects the SMS delivery network, not the recipient’s mobile network.

### Related documentation

- [Send SMS (POST)](https://docs.moolre.com/api/sms/send)
- [Send SMS (GET)](https://docs.moolre.com/api/sms/send-get)

[Link to this entry](https://docs.moolre.com/changelog#sms-delivery-network-guidance)

---

## Wallet-Specific ID Verification

**Date:** 1 Oct 2026 | **Area:** App

**Tags:** New Feature, Improvement

Verify each wallet individually, reuse verified documents for wallets belonging to the same business, and share verification links with wallet owners.

### Overview

Moolre has updated its ID verification process to operate at the **wallet level** rather than the user-account level. Every newly created wallet now requires its own ID verification.

Shareable ID verification links allow users who create wallets on behalf of other individuals or businesses to send verification requests directly to the wallet owners.

For businesses creating multiple wallets, existing verified ID and KYC documents can be reused for new wallets, provided the new wallet belongs to the **same business**.

### Key updates

- **Wallet-specific verification** — ID verification is associated with individual wallets. Verification is required when a new wallet is created.
- **Reuse existing verification documents** — Existing verified ID and KYC documents can be reused for additional wallets belonging to the same business, where the existing verification information is applicable. Businesses do not need to repeat the full verification process in those cases.
- **Shareable verification links** — Generate a link and send it to the wallet owner to complete verification remotely. This supports software providers, businesses, and organizations creating wallets for clients or customers.
- **Seven-day validity** — Verification links are valid for **7 days**. The wallet owner must complete verification before the link expires.

### How to complete ID verification

Wallet verification can be accessed from two locations within the Moolre platform:

- **Profile → Documents** — Open the Documents page from the profile dropdown to access and complete the required ID verification.
- **Wallet Admin → Wallet Verification** — Open Wallet Verification in the admin panel of the wallet requiring verification. Initiate verification directly or generate a link to share with the wallet owner.

### How it works: a new wallet

1. Create a new wallet on Moolre.
2. Open **Documents** from the profile dropdown, or **Wallet Verification** in the admin panel of the specific wallet.
3. Check the wallet's verification status.
4. Reuse existing verified documents if they are available and applicable to the same business.
5. If new verification is required, initiate the ID verification process.
6. Complete verification directly, or generate and share a verification link with the wallet owner.

### How it works: remote verification

1. Open **Wallet Verification** for the specific wallet.
2. Generate the ID verification link.
3. Share the link with the wallet owner.
4. The wallet owner opens the link and completes verification.
5. The verification status is updated once the process is completed.

**Remember:** verification links expire after **7 days**.

### Example use case

A software provider creates Moolre wallets on behalf of several businesses. For a business that already has verified ID and KYC documents, those documents can be reused for additional wallets belonging to that same business.

If the wallet owner needs new verification, the provider generates a verification link and sends it to the owner. The owner completes verification remotely without needing to be physically present with the provider.

### Benefits

- **Wallet-level verification** — Each wallet has its own verification status.
- **Reduced repetition** — Reuse existing verified documents for additional wallets belonging to the same business.
- **Remote verification** — Wallet owners can complete verification from anywhere using a shared link.
- **Simpler onboarding for software providers** — Create wallets for clients without requiring owners to be physically present.
- **Flexible access** — Start verification from the profile Documents page or the wallet-specific Wallet Verification section.

### Availability

| Item | Details |
| --- | --- |
| Feature | Wallet-Specific ID Verification |
| Verification Provider | Veriff |
| Verification Level | Wallet |
| Verification Link Validity | 7 days |
| Existing KYC Documents | Can be reused for new wallets belonging to the same business |
| Remote Verification | Supported |
| Verification Access | Profile → Documents or Wallet Admin → Wallet Verification |
| App | [app.moolre.com](https://app.moolre.com) |

### Important notes

- Each wallet must have an appropriate verification status before it can be fully utilized.
- Existing ID and KYC documents can only be reused where the new wallet belongs to the same business.
- Verification links expire after **7 days**.
- Users creating wallets on behalf of others can share the verification link with the actual wallet owner to complete verification remotely.

### Related documentation

- [Account wallets](https://docs.moolre.com/guides/account-wallets)
- [Authentication](https://docs.moolre.com/authentication)

[Link to this entry](https://docs.moolre.com/changelog#wallet-specific-id-verification)

---

## Wallet-Specific API Key Generation

**Date:** 1 Oct 2026 | **Area:** App

**Tags:** New Feature, API Update

Connect each wallet to its own API Service and generate wallet-specific credentials so integrations operate on the intended wallet.

### Overview

Moolre has updated API key management to operate at the **wallet level**. API keys are associated with specific wallets rather than being generally available across a user account.

To use Moolre APIs with a wallet, first create an **API Service** for that wallet and generate the credentials associated with the service.

This provides greater control over which wallets connect to external applications and helps ensure API transactions are processed against the intended wallet.

### Key updates

- **Wallet-specific API keys** — A key generated for one wallet cannot access or process transactions for another wallet. Each wallet used with Moolre APIs needs its own API Service and credentials.
- **An API Service for each wallet** — Create a service for the specific wallet before integrating. The service connects the wallet to the application or system using Moolre APIs.
- **Independent integrations** — If you manage multiple wallets, create an API Service for each wallet. Each integration operates independently and is linked to its respective wallet.

For example: Wallet A → API Service A → API Key A; Wallet B → API Service B → API Key B; Wallet C → API Service C → API Key C.

### How it works

1. **Create an API Service:** create a service and link it to the specific wallet.
2. **Generate API credentials:** generate the API key and other required credentials for that service.
3. **Integrate:** use the credentials generated for that wallet when integrating Moolre APIs into your application.
4. **Repeat for other wallets:** create a separate API Service for each additional wallet and generate its corresponding credentials.

### Example use case

A business has three Moolre wallets: **Main Wallet**, **Operations Wallet**, and **Collections Wallet**. It wants to integrate Moolre APIs with all three.

Instead of using one API key across the account, the business creates a separate API Service for each wallet:

| Wallet | API Service | API Credentials |
| --- | --- | --- |
| Main Wallet | Main Wallet API Service | Credentials for Main Wallet |
| Operations Wallet | Operations API Service | Credentials for Operations Wallet |
| Collections Wallet | Collections API Service | Credentials for Collections Wallet |

Each API integration is directly connected to the wallet it is intended to operate on.

### Benefits

- **Wallet-level control** — API access is directly associated with a specific wallet.
- **Improved security** — Credentials for one wallet cannot be used as the API credentials for another wallet.
- **Better separation** — Businesses managing multiple wallets can maintain independent integrations.
- **Clearer transaction management** — Associate API activity with the wallet connected to the API Service.
- **Flexible integrations** — Connect different wallets to different applications or systems.

### Availability

| Item | Details |
| --- | --- |
| Feature | Wallet-Specific API Key Generation |
| API Access Level | Wallet |
| API Service | Required for each wallet |
| API Credentials | Generated per wallet |
| Multiple Wallets | Each wallet requires its own API Service |
| App | [app.moolre.com](https://app.moolre.com) |

### Important notes

- Create an API Service for each wallet that will use Moolre APIs.
- Use credentials generated for a wallet only for that wallet's integration.
- Creating an API Service for one wallet does not automatically enable API access for other wallets.
- To integrate another wallet, create a separate API Service for that wallet.
- **Keep API credentials secure.** Do not expose them in publicly accessible applications or repositories.

### Related documentation

- [Authentication](https://docs.moolre.com/authentication)
- [Account wallets](https://docs.moolre.com/guides/account-wallets)

[Link to this entry](https://docs.moolre.com/changelog#wallet-specific-api-key-generation)

---

## SDK documentation refinements

**Date:** 17 Aug 2026 | **Area:** Documentation

**Tags:** Improvement

SDK pages have clearer integration guidance, consistent headers, and links to the relevant packages and repositories.

### What changed

- Expanded React Native setup guidance and native-device testing information.
- Clarified the PHP SDK’s hosted-checkout flow and server-side verification guidance.
- Aligned SDK page typography, feature summaries, and package/repository links.
- Added community-package visibility on the Plugins page.

### Package versions

This entry covers documentation improvements, not a new SDK package release.

### Related documentation

- [Plugins](https://docs.moolre.com/plugins)
- [React Native](https://docs.moolre.com/plugins/react-native)
- [Moolre PHP SDK](https://docs.moolre.com/plugins/php)

[Link to this entry](https://docs.moolre.com/changelog#sdk-documentation-refinements)

Back to the Moolre AI documentation index