# FAQs

{% tabs %}
{% tab title="BEGINNER" %}

<details>

<summary>BaaS (Banking-as-a-Service)</summary>

A digital product where banks expose their financial services, e.g., via APIs, H2H, etc., so third-party developers can build applications on top of them.

</details>

<details>

<summary>API Banking</summary>

The secure, authorized sharing of financial data, services, and functionalities (payments, transfers, account management, ID verification, etc.) through programmatic interfaces instead of traditional bank portals. It acts as a digital bridge, allowing external software to directly access banking functions without needing the bank's own app.

</details>

<details>

<summary>MSB – Money Services Business</summary>

A regulatory classification (common in Canada, U.S., and other jurisdictions) for non-bank financial institutions that provide services such as money transmission, currency exchange, check cashing, or stored value issuance. Equivalent licensing categories may exist under different names in other countries.

</details>

<details>

<summary>MRP – Money Remittance Provider</summary>

An entity licensed by CBK to facilitate domestic and/or cross-border fund transfers on behalf of customers. In other jurisdictions, this category is called MTO (Money Transfer Operator) or falls under a broader payments/remittance license.

</details>

<details>

<summary>PSP – Payment Service Provider</summary>

A licensed institution that enables businesses to accept and process payments (cards, bank transfers, wallets, etc.) without needing to become financial institutions themselves.

</details>

<details>

<summary>DCP – Digital Credit Provider</summary>

A regulated lender that offers credit through digital channels (e.g., mobile or online platforms).

</details>

<details>

<summary>LONO — Letter of No Objection</summary>

A formal document issued by a regulator (usually CBK) confirming that it has no objection to a proposed activity, partnership, product launch, or integration.

</details>

<details>

<summary>Whitelisting</summary>

The process of allowing only approved accounts or endpoints to access a service or API for security/compliance purposes.

</details>

<details>

<summary>POP (Purpose of Payment)</summary>

A document, receipt, or digital confirmation justifying the legitimacy of a transaction.

</details>

<details>

<summary>Callback URL</summary>

A URL provided by the BaaS partner to receive asynchronous notifications from our APIs when an event occurs (e.g., transaction result notification).

</details>

<details>

<summary>PesaLink</summary>

A Kenyan interbank transfer service that allows instant money transfers between accounts in different banks.

</details>

<details>

<summary>PesaLink Sponsorship</summary>

A model that allows us to provide unlicensed BaaS customers with access to PesaLink services at subsidized transaction costs.

</details>

<details>

<summary>Rail</summary>

A payment network or infrastructure that facilitates the movement of money between accounts, banks, or systems.

</details>

<details>

<summary>Embedded Finance</summary>

Integrating financial services (payments, lending, insurance, etc) directly into other platforms or apps.

</details>

<details>

<summary>API Signing</summary>

A security mechanism where API requests are digitally signed to verify authenticity and integrity.

</details>

<details>

<summary>Base URL</summary>

The root URL for accessing an API’s endpoints in either sandbox or production environments.

</details>

<details>

<summary>Remittance</summary>

Transfer of money from one party to another, often across borders.

</details>

<details>

<summary>Who is BaaS meant for?</summary>

Payment service providers, fintechs, finance startups, really anyone who wants to hold and move money.

</details>

<details>

<summary>What do I need to be a Choice Bank customer?</summary>

Please contact our branch operations team; they'll get you started. See their contacts [here](https://kgegjwnjseu.sg.larksuite.com/file/VSvfb1BssoIF6gxjpNBlAPIBgkb).

</details>

<details>

<summary>What do we need to use BaaS?</summary>

Any client-facing digital product meant to hold and/or move money or any suchlike use-case would a suitable candidate for for BaaS. See our contacts [here](https://kgegjwnjseu.sg.larksuite.com/file/WD4Xb77JUo9wOBxwvQ2lZNUdgdc).

</details>

<details>

<summary>What is the process of opting into BaaS?</summary>

Use-case alignment > Technical kick-off > Sandbox testing > Go-live

</details>

<details>

<summary>Where can I study your APIs?</summary>

See our [GitBook](https://choice-bank.gitbook.io/) documentation.

</details>

<details>

<summary>What kind of services/functionalities does BaaS consist of?</summary>

We offer BaaS under three main [models](https://kgegjwnjseu.sg.larksuite.com/file/X8okbuc7no91eyxL1Ifl96SJgAc): Virtual Account, Sub-account, and IMT - the first two allow you to onboard you customers with VAs further allowing you to pass on the same to your own customers, and IMT focusing on international transfers-out. Your particular use-case and licenses will best determine which one suits your use-case.

</details>

<details>

<summary>Which payment channels/methods do you support?</summary>

See full list [here](https://kgegjwnjseu.sg.larksuite.com/file/NoyRbP89NoDR0LxwvnFlS7xmgVf).

</details>

<details>

<summary>Do you offer 24/7 support?</summary>

No, as a bank we operate only during working hours (8am to 4:30pm EAT), but off-hours support is available in cases of serious downtimes.

</details>

<details>

<summary>Must I onboard my business using its official registered name?</summary>

Yes, this is mandatory for merchants coming on as business customers and SME onboardings via API.&#x20;

</details>

<details>

<summary>Is proof of license application acceptable?</summary>

Yes, certain features/exemptions are available if you can provide evidence of an active application process for the requisite license.

</details>

<details>

<summary>For BaaS, how long can I expect integration and testing to take?</summary>

This depends on your tech team’s availability and the sophistication of your use-case, but based on past integrations, the whole sandbox stage typically takes 1–2 months.

</details>

<details>

<summary>Can we get a free BaaS trial?*</summary>

It's not standard practice, but yes, this can be negotiated for up to one month, subject to deliberation with your account manager.&#x20;

</details>

<details>

<summary>What is Choice Bank's bank code?</summary>

46 (for SWIFT: 82)

</details>

<details>

<summary>Do you have a collection of your APIs?</summary>

Yes, this is available and will be provided once you're signed up.

</details>

<details>

<summary>Can we open accounts ourselves?</summary>

The procedure for all account types is: lodge a request for account creation (standard or API onboarding), which we then act on once all requisite details/documents are submitted and validated.

</details>

<details>

<summary>Can approval flows be customized?</summary>

Yes. Approval flows can be configured based on the transaction amount and the desired sequence of approvers, allowing flexibility to match operational requirements.

</details>

<details>

<summary>What approval modes are supported for Internet Banking and how do they work?</summary>

The system supports five approval modes:

* **No Approval Required** — transactions are processed automatically upon submission with no review.
* **Sequential & Amount-based** — approvals are required only when a transaction exceeds a defined amount, and each approver must act in a fixed sequence.
* **Non-sequential & Amount-based** — approvals are required above a threshold, but approvers can act in any order simultaneously.
* **Sequential & Non-amount-based** — all transactions require approval in a fixed sequence regardless of amount.
* **Non-sequential & Non-amount-based** — all transactions require approval, but approvers can act in any order simultaneously, regardless of amount.

</details>

<details>

<summary>What happens if a transaction is rejected during approval?</summary>

If a transaction is rejected, it is halted and will not be processed unless it is resubmitted or modified according to the configured workflow.

</details>
{% endtab %}

{% tab title="SANDBOX" %}

<details>

<summary>What do we need to get into sandbox?</summary>

API sandbox keys: \``sender`\` and \``senderKey`\`, which should be kept private at all times. Please contact your account manager for access.

</details>

<details>

<summary>Which features should I test first?</summary>

This depends on your particular use-case, but the standard starting point is to onboard yourself as an SME client, which marks access to our APIs.

</details>

<details>

<summary>How do I authenticate into APIs?</summary>

We have a robust authentication algorithm using **plain SHA-256** encryption and your private key (i.e., `senderKey`) to allow secure access to our API banking features.

</details>

<details>

<summary>What type of accounts do you offer under BaaS?</summary>

Two main types: personal and business.

* Persona&#x6C;**:** **Wallets** and **current** accounts
* Busines&#x73;**:** **Merchant** and **SME** accounts

All business customers, including non-BaaS ones, have merchant accounts. Except for merchant accounts, all other account types are onboarded via API.

</details>

<details>

<summary>What's the difference between a wallet and a current account?</summary>

Wallets: Maximum daily transaction volume: KES 20,000, Maximum holding capacity: KES 300,000, require national ID and selfie. Current accounts have no transaction limits (though standard channel [limits](https://kgegjwnjseu.sg.larksuite.com/file/NoyRbP89NoDR0LxwvnFlS7xmgVf) apply) and require KRA PIN certificate in addition to the ID and selfie.

</details>

<details>

<summary>What's the difference between an SME and a merchant account?</summary>

SME accounts can only be created via API; merchant accounts can be created via standard onboarding procedures.

</details>

<details>

<summary>What sort of features do you offer via API?</summary>

APIs allow you to: onboard accounts, make transfers, validate recipients via Hakikisha, monitor statuses at all stages, close accounts, pull transactions by account number, activate dormant accounts, update signatory info (phone, email), amend KYC, edit account names, push STK prompts to Mpesa holders, execute FX transfers, pay for utilities (airtime, KPLC, water), and much more.&#x20;

</details>

<details>

<summary>Are there any differences between sandbox and production?</summary>

Sandbox differs lightly in terms of which third-party PSP has granted us access to their test environments. Example: \
Mpesa UAT - available \
PesaLink/RTGS/SWIFT/Airtel Money UAT - unavailable, integrations ongoing

</details>

<details>

<summary>Will your APIs accept dummy documentation just for testing purposes?</summary>

Yes, when testing, you don't need to pass real documentation.

</details>

<details>

<summary>Do you offer callback notifications?</summary>

Yes. See the procedure for setup and templates for all callback notifications [here](https://choice-bank.gitbook.io/choice-bank/notifications/callback-configuration#setup-your-webhook).

</details>

<details>

<summary>Do you support dynamic accounts?</summary>

No, accounts are static; they cannot be closed at a predefined time or change account numbers.

</details>

<details>

<summary>Can we freeze/reverse transfers?</summary>

Yes. We offer a [reversal](https://choice-bank.gitbook.io/choice-bank/transfer/new-features#apply-for-transaction-reversal) API, and our operations team can act on problematic accounts/transfers.

</details>

<details>

<summary>How long do transfers take to process and complete?</summary>

Depends on the payment method used. See full TATs [here](https://kgegjwnjseu.sg.larksuite.com/file/NoyRbP89NoDR0LxwvnFlS7xmgVf).

</details>

<details>

<summary>Which FX account-currencies and conversion-pairs do you support?</summary>

Accounts : KES, TZS, UGX, USD, EUR, GBP, and CNY \
Pairs: USD/KES, EUR/KES, GBP/KES, KES/TZS, KES/UGX, KES/RWF, GBP/USD, EUR/GBP, and EUR/USD

</details>

<details>

<summary>How often do your FX rates refresh?*</summary>

Every 6 hours.

</details>

<details>

<summary>How do I do an FX transfer?</summary>

\- Merchants: via [Internet Banking](https://business.choicedigitalbank.com/login) portal or our dedicated OTC FX team.\
\- BaaS customers can also use our [FX](https://choice-bank.gitbook.io/choice-bank/transfer/foreign-exchange) API.

</details>

<details>

<summary>Do we need to use real money for transfers test?</summary>

Yes.

</details>

<details>

<summary>How do I deposit money into my sandbox account for transfer tests?</summary>

Use our sandbox Mpesa [Paybill](https://choice-bank.gitbook.io/choice-bank/deposit/deposit-from-m-pesa#paybill-deposit) 4101847, with the account number being the test account you want to deposit into.

</details>

<details>

<summary>How long do I have to validate OTP?</summary>

20 or 30 minutes depending on the API. If the validation window passes before confirmation, the onboarding/transfer will fail.

</details>

<details>

<summary>Why are onboardings going to manual review?</summary>

Sandbox onboardings go to manual review by design. In production, if docs/details are correct, most onboardings pass automatically; worst-case KYC-flagged cases: 24 hours.

</details>

<details>

<summary>How long will it take to return an account number once onboarding is complete?</summary>

Typical case: 1 - 2 minutes for personal account onboardings. Worst-case (almost always SME onboardings): 24 hours for KYC-flagged or personal account onboardings.

</details>

<details>

<summary>What applications/know-how do I need in order to test Choice Bank's APIs?</summary>

\- API client (Postman, curl) \
\- Understanding HTTP requests (methods, headers, parameters, JSON responses) \
\- Authentication (API keys, tokens, signatures) \
\- Parsing status codes and error messages

</details>

<details>

<summary>How many business accounts can I have?</summary>

\- Merchant and parent-SME: max 10 KES accounts + 1 of each foreign currency \
\- Virtual/sub-accounts: max 50 (can be increased with justification)&#x20;

</details>

<details>

<summary>Can you increase the number of accounts I can have?</summary>

\- Merchant accounts: No, this is fixed\
\- Parent-SMEs and VAs/sub-accounts: Yes, with justification

</details>

<details>

<summary>How long after validating OTP do I have to complete an onboarding?</summary>

3 working days.

</details>

<details>

<summary>How many times can I use one phone#/ID# for onboardings?</summary>

\- Personal accounts: only once per phone/ID \
\- SME accounts: unlimited uses of the same phone number

</details>

<details>

<summary>What do I do if I haven't received an OTP?</summary>

Resend using `/common/sendOtp` API or the dedicated [resend](https://choice-bank.gitbook.io/choice-bank/otp/confirm-otp#universal-resend-otp) API.

</details>

<details>

<summary>What do I do if subsequent attempts to send an OTP fail?</summary>

Try the alternative delivery option (SMS or email). If this fails, contact BaaS [support](mailto:baas-support@choice-bank.co) immediately.

</details>

<details>

<summary>What is the sequence of endpoints for onboardings?</summary>

See flows for [current](https://choice-bank.gitbook.io/choice-bank/account/current-account#steps) accounts, [wallets](https://choice-bank.gitbook.io/choice-bank/account/wallet-account#steps), and [SME](https://choice-bank.gitbook.io/choice-bank/account/sme-account#steps) accounts.

</details>

<details>

<summary>I'm getting a transaction/API error - what does it mean?</summary>

For transaction errors, see the full list [here](https://kgegjwnjseu.sg.larksuite.com/wiki/AEi6w0bSCixlVlkl6rFlHMQJgRd); for API response codes with descriptions, see [here](https://kgegjwnjseu.sg.larksuite.com/wiki/Ts2twWMTNirFv3kpSlnl9YFxgYg).

</details>

<details>

<summary>What do I need to get whitelisted?</summary>

Please contact the BaaS [team](mailto:baas-support@choice-bank.co) team via work lines or support email with API whitelist request + use-case justification.

</details>

<details>

<summary>What can I and can't I test on sandbox?</summary>

Most APIs are available. Exceptions: Transfers to/via Airtel Money wallets, PesaLink, RTGS, and SWIFT.

</details>

<details>

<summary>To which banks can I do a PesaLink transfer?</summary>

Once live, you can do bank-to-bank transfers to all PesaLink-supported [banks](https://pesalink.co.ke/our-partners).

</details>

<details>

<summary>Which KYC will I need to submit for the various account types?</summary>

\- **Wallets**: national ID + selfie photo\
\- **Current accounts**: ID + selfie photo + KRA PIN certificate \
-See hyperlinked KYC requirements for [merchant](https://kgegjwnjseu.sg.larksuite.com/file/DcIGbAVQAognhRx1RKElxLIUg7b) and [SME](https://choice-bank.gitbook.io/choice-bank/account/sme-account#documents) accounts.

</details>

<details>

<summary>Do you send payout-receipts/notifications to end-users?**</summary>

For API-driven payouts, we don't send out SMS notifications to the payee by default - we offer you the **option** to pass the recipient's number as `payeemobilefornotification` parameter. See a detailed list of SMS notifications + templates here.

</details>

<details>

<summary>What's the minimum/maximum amount I can send?</summary>

This depends on the digital product used (i.e., whether IB or via API). Minimum amount for internal transfers done via API is KES 0.01; on IB, as is with M-pesa payouts, it's KES 10; for STK pushes it's KES 1. For maximum amounts, please refer to wallet limits and payment method limits document [here](https://kgegjwnjseu.sg.larksuite.com/file/NoyRbP89NoDR0LxwvnFlS7xmgVf).

</details>

<details>

<summary>Why are we getting a "500" error response when sending a request payload?</summary>

This indicates a typographical error in the `base-url/endpoint` string you're calling. Please confirm this is correct then retry.

</details>

<details>

<summary>Do you have algorithms to help automate signing?</summary>

Yes, see [here](https://n05mxbyps1.feishu.cn/docx/doxcn1hNwn1s7aZ7ZQOaYkJzi1W) a Java implementation for generating a signature based on our authentication [procedure](https://choice-bank.gitbook.io/choice-bank/getting-started/authentication#sign-the-request).

</details>

<details>

<summary>Can you give us test accounts for all payment channels?</summary>

We provide **payee** test accounts for mobile money and internal transfer tests. Payer accounts must be your onboarded accounts.

</details>

<details>

<summary>I sent in wrong onboarding details - can I amend them?</summary>

Yes, via our Submit/Pullback [API](https://choice-bank.gitbook.io/choice-bank/account/sme-account/onboarding#submit-pull-back-onboarding-request). You can also, via API, change or add a new [phone](https://choice-bank.gitbook.io/choice-bank/account/account-management#phone-number-change-v2) number or [email](https://choice-bank.gitbook.io/choice-bank/account/account-management#add-email) address to an account after the fact.

</details>

<details>

<summary>Can we close a personal account to free up phone numbers?</summary>

We offer an API that enables you [close](https://choice-bank.gitbook.io/choice-bank/account/current-account/closing-individual-account) personal accounts, and another that enables you to cancel business onboardings. **Note**: phone number remains tied and cannot be reused for new personal onboardings.

</details>

<details>

<summary>Do you have one API that handles all payment channels in one call?</summary>

Our [General Transfer](https://choice-bank.gitbook.io/choice-bank/transfer/general-transfer/api-reference#request-for-transfer) API handles most use cases, though not all. Separate APIs exist for different payment channels to tailor functionality per rail and allow easier future improvements.

</details>

<details>

<summary>Can funds held earn interest?</summary>

Yes. With our new savings product, funds under your BaaS channel can earn daily, weekly, or fixed-term interest - please contact your account manager to arrange for a savings plan.&#x20;

</details>

<details>

<summary>Who receives the interest earned?</summary>

Interest can be retained entirely by the partner or shared with end-users, depending on the agreed setup.

</details>

<details>

<summary>Are interest rates fixed and regulated?</summary>

Rates for instant-access funds are reviewed quarterly. Fixed-term rates are determined separately. Interest-bearing products are governed by Central Bank of Kenya regulations.

</details>

<details>

<summary>How is interest calculated when shared with users?</summary>

Users earn interest based on their individual wallet balances, while the partner’s return is calculated on the total pooled balance.

**4. What are the current interest rates?**\
Rates vary by balance tier:

| Balance Tier | Rate (PA) |
| ------------ | --------- |
| 100K – 5M    | 3%        |
| 5M – 25M     | 3.5%      |
| 25M – 50M    | 4%        |
| 50M+         | 4.5%      |

</details>

<details>

<summary>How long do CNY transfers take?</summary>

Processing time varies depending on transaction amount, regulatory checks and correspondent bank processing, but it typically ranges from less 5 minutes to worst-case 4 hours. See availability and TATs for CNY transfers [here](https://kgegjwnjseu.sg.larksuite.com/file/FKx3bRqg5oWpoQxmkPAlBnMHgrc).&#x20;

</details>

<details>

<summary>What is required to initiate a CNY transfer?</summary>

You must provide the beneficiary’s full bank details, purpose of payment, and any supporting documentation required for compliance review.

</details>
{% endtab %}

{% tab title="PRODUCTION" %}

<details>

<summary>Why is the BaaS dashboard not reflecting all my transaction data?</summary>

The dashboard is designed to display a quick summary of transactional activity for all accounts under your BaaS channel in the last 24 hours, not all-time.

</details>

<details>

<summary>Why do you require PoP documentation for pay-ins?</summary>

Purpose-of-Payment documentation is mandatory for transfers of KES 1,000,000 (or USD 10,000 equivalent) and above. This is a standard compliance/AML measure for large volumes.

</details>

<details>

<summary>What are Levels I, II, and III in Internet Banking?</summary>

Tiers of access privileges for an Internet Banking (merchant account) user/admin\
\- Level I: Most privileged \
\- Level III: Least privileged

</details>

<details>

<summary>Can you whitelist our IP?</summary>

No, we no longer whitelist IP addresses. Whitelisting applies to actual account numbers or BaaS channels.

</details>

<details>

<summary>How many account administrators can I add to my SME accounts?*</summary>

There is no limit.

</details>

<details>

<summary>Can you send OTPs to international phone numbers?*</summary>

Yes.

</details>

<details>

<summary>Which licenses do we need for the virtual account BaaS model?</summary>

A DCP license will do, or any other license that allows your organization to hold customer funds.

</details>

<details>

<summary>Why are we getting "system error/busy" on IB/BaaS portal?</summary>

Temporary bandwidth lag caused by many users making simultaneous calls to a resource. If it persists for more than 2 minutes, contact BaaS [support](mailto:baas-support@choice-bank.co) immediately.

</details>

<details>

<summary>Are the parameters of the string data type case-sensitive?</summary>

Yes.

</details>

<details>

<summary>Can we switch our BaaS model after going live?</summary>

Yes, after contractual discussions with your account manager.

</details>

<details>

<summary>Can we use one callback URL for both sandbox and production?</summary>

Technically yes, but strongly discouraged. Both environments use the same format for notifications, which can lead to confusion and erroneous transactions.

</details>

<details>

<summary>Are there any special API formatting conventions we should know?</summary>

Yes. Mobile numbers will accept only the nine-digit number, i.e., without the 254 or 0 prefix. Also when flattening payloads, arrays should be denoted with square brackets (e.g., `array[0].field`), and empty parameters must still be included as `param={}`. All other details/conventions have been documented in our [documentation](https://choice-bank.gitbook.io/).

</details>

<details>

<summary>Who do we contact to begin the account opening process?</summary>

Please contact our branch operations team; they'll get you started; see their contacts [here](https://kgegjwnjseu.sg.larksuite.com/file/VSvfb1BssoIF6gxjpNBlAPIBgkb).

</details>

<details>

<summary>Will an external recipient be notified of an incoming, API-initiated payout?**</summary>

Only if you pass the recipient's number as `payeemobilefornotification` param. See a detailed list of SMS notifications + templates here.

</details>

<details>

<summary>Which APIs require prior whitelisting?*</summary>

Merchant Bulk Transfer, Internal Transfers without OTP, Internal Transactions by Batch, and Callback 0020.

</details>

<details>

<summary>Can our accounts receive deposits via Paybill?</summary>

Yes. Every live Choice Bank account can receive deposits using Mpesa [Paybill](https://choice-bank.gitbook.io/choice-bank/deposit/deposit-from-m-pesa#paybill-deposit) 444174.

</details>

<details>

<summary>Which account status indicates successful opening?</summary>

Status 3 or 7.

</details>

<details>

<summary>How can we track transactional activity of our onboarded/child accounts?</summary>

Check the Transactions pane in your BaaS dashboard.

</details>

<details>

<summary>Which callbacks should we track for pay-ins and payouts?</summary>

For merchant accounts, callbacks 0022 and 0004. For other API-onboarded accounts, track callbacks 0002 and 0003. See full list [here](https://choice-bank.gitbook.io/choice-bank/notifications/callback-configuration#notifications).

</details>

<details>

<summary>We received duplicate callbacks - how can we fix this?</summary>

Please confirm first via `notificationType` parameter that they're indeed duplicates - if they indeed are, please get in touch with the BaaS [team](mailto:baas-support@choice-bank.co) to remediate this.

</details>

<details>

<summary>We initiated a payout to an M-pesa wallet and received a reference ID, but the client hasn’t received the funds - how do we trace it?</summary>

If a reference ID was returned, the funds were debited successfully. Please contact M-pesa Business [support](mailto:m-pesabusiness@safaricom.co.ke) for reconciliation.

</details>

<details>

<summary>Can we change our callback URL/private key ourselves?</summary>

Yes, via BaaS dashboard: Settings > Channel Information.

</details>

<details>

<summary>Do SME accounts onboarded via API need to use registered name?</summary>

Yes. For compliance, SME accounts must use the official registered name as it is in the incorporation/business certificate.

</details>

<details>

<summary>Will we need special containers or SDK in our integration?</summary>

Yes, only if onboarding current accounts or upgrading from wallets. From January 19, 2026, [Smile ID](https://choice-bank.gitbook.io/choice-bank/account/current-account#documents)'s document verification SDK is required for these flows.

</details>

<details>

<summary>Can you share your IP(s) so we can whitelist them?</summary>

Yes.

</details>

<details>

<summary>Any rate limits for requests on your APIs?</summary>

Except for `/common/sendOtp` API (60 seconds per call), there are no rate limits.

</details>

<details>

<summary>What do we need to opt into the PesaLink sponsorship?*</summary>

Please contact your account manager or BaaS support for guidance on requirements and eligibility.

</details>

<details>

<summary>Can we customise the SMS notifications?  </summary>

Yes. Customisation per customer is possible, but it requires backend configuration to scope the changes specifically to your BaaS channel. Customisation by account type, however, isn’t supported, as our SMS service operates at the digital-product API layer and doesn’t interface directly with underlying account-type distinctions.&#x20;

</details>
{% endtab %}
{% endtabs %}
