How to create your own USSD code

Obtaining the USSD code from an issuing partner is one part of the creation process. Here are a few steps to help you create your own USSD code

How to create your own USSD code

USSD is a critical component of Africa’s financial technology landscape. It powers a vast majority of transactions across the continent. As such, it is also an important tool for businesses looking to reach customers on the continent.

Although transactions are the primary use-case of USSD, it can be used to do a lot more as is evidenced by these applications of USSD we considered. Beyond being a tool for commerce, USSD is also a communication tool that allows people to transmit information without the internet.

As a business, you should be looking to build a USSD touchpoint if you:

  • Care about inclusion and accessibility: As of 2021, more Africans used feature phones than smartphones. Any product that excludes feature phones automatically excludes a majority on the continent. Therefore, if you’re looking to build an inclusive product, it’s a necessity to build on USSD.
  • Offer essential services: Essential services like healthcare, food, policing, etc, are considered so because they are crucial to the fabric of any society. That means any downtime or break in communication can be critical. USSD remains the most reliable way to complete transactions in Africa as it doesn’t rely on internet access. If you’re building a product that supports or facilitates an essential service, building USSD as a communication or transactional channel is critical.
  • Are looking to scale across Africa: Africa is a very diverse continent in many ways. However, the one near-constant factor across most African countries is the use of USSD in completing transactions. More than 90% of transactions in Africa flow through USSD. So, if you’re looking to scale across the continent with any offering, building on USSD must be top-of-mind.

Who Issues USSD Codes?

All USSD transactions flow through Mobile Network Operators (MNOs). This is because USSD transactions run on infrastructure powered by MNOs. The implication of this is that you can’t create a USSD code by yourself.

There are two kinds of organisations that issue USSD codes:

  • Mobile Network Operators: these are regular network operators like MTN, Vodafone, Safaricom, Airtel, etc.
  • Third-party USSD gateways: these are companies that have obtained licenses from MNOs to provide USSD services. Examples include Hubtel, Africa’s Talking, Clickatell, Praekelt, etc.

Types of USSD Codes

Most USSD providers will typically offer all of the following three kinds of USSD codes:

  • Dedicated codes: This kind of USSD code is usually owned by one user who is able to add multiple subcodes under it. Since it is a dedicated code, it is usually the most expensive option for any organisation looking to build on USSD.
  • Semi-dedicated codes: This kind of code is dedicated to one account but shared by other accounts. It is typically less expensive than a dedicated code but more expensive than a shared code.
  • Shared codes: If you’re on a budget, shared codes are a great option for you. They are especially good for small businesses that are looking to reach customers in a small region. This kind of code is shared across multiple users and allows each user to add limited subcodes.

Creating your USSD code

Because of the way USSD works, obtaining the code from any of the issuing parties is only one part of the creation process. Here are a few steps to help you create your own USSD code:

  • Create a web app that will communicate with the USSD code
  • Reach out to your provider (MNO or third-party gateway) to request a USSD code allocation. You might be asked to provide a business plan alongside other documentation.
  • Decide what kind of code you’ll be using based on your budget and other considerations.
  • Determine who pays for the USSD sessions between you and your users. Issuing organisations charge for USSD access, and you have to decide who bears that charge.
  • Create your USSD menu. Your menu is what your users will interact with when they dial your USSD code. You have to make sure that the menu is consistent with your offering to your users. You can create subcodes to improve the experience of your menu.
  • Link the USSD menu to your app logic. The USSD menu must sync with your app logic to run smoothly. You will also need to configure your callback URL so the USSD gateway can reach your web server.
  • Test your USSD app. The final thing you want to do before releasing your USSD code is test it to make sure that everything’s running smoothly


Creating a USSD code is a business decision that every business should be considering. The merits of it cannot be overrated. Thankfully, with the advancement of financial technology, the cost of owning your own USSD solution keeps dropping.

If you want to go one step further by creating an android app that runs on USSD, then you should check out Hover Developer Services. The team at Hover built a Software Developer Kit (SDK) that allows developers to build android applications that run USSD in the background. You can read more about how building for USSD on Android can improve financial inclusion here.