Leaf is a digital wallet that enables customers to store savings, send and receive money from abroad, make payments, and manage money from a mobile device, no matter where they go—no smartphone required. With Leaf, users can do all of their savings, remittances, and payments from the security of their home, instantly and affordably.
Leaf’s Stellar-based wallet is designed for refugees, cross-border traders, and the financially marginalized. It is inclusive and accessible for those typically excluded from formal financial institutions because of a lack of an internet connection, smartphones, language, identification documents, or money for fees. No other live digital wallet is able to offer these services in Leaf’s markets.
The Leaf Wallet has been live since September 2020 in Rwanda, Uganda, and Kenya for smartphones (iPhone and Android) and basic phones. Currently, most of our customers are refugees in Rwanda (55%). In addition to Leaf users being able to access digital financial services and reporting feeling safe crossing the border for the first time, in our first three months of operations we:
Registered 1,410 customers
Completed 6,102 transactions on Stellar worth over $40,000
Directly helped 500 refugees during COVID by providing financial assistance
Being built on Stellar enables us to access the blockchain’s benefits, including speed, transparency, reduced costs, and heightened security. We create individual, custodial Stellar wallets for each user and issue fiat-backed stablecoins for Kenyan Shillings, Ugandan Shillings, and Rwandan Francs. All transactions occur on-chain.
Why Is Leaf Needed?
Nearly two billion people around the world are unbanked and lack access to formal financial services. For refugees, migrants, and cross border traders, this is particularly challenging because they have no safe or reliable way to bring their money across borders or an affordable way to send and receive money, leaving them vulnerable to exploitative exchange rates and theft.
For the financially excluded, even seemingly simple financial tasks such as sending and receiving money internationally and currency exchange are often inaccessible, difficult, and expensive. Banks will not serve Leaf’s target customers, forcing them to transact mostly in cash. Intra-Africa remittance corridors are the most expensive in the world, costing the user up to 25% in fees and foreign exchange rates. Products and services in the savings, remittances, and payments space remain slow, expensive, and dominated by traditional players. Nevertheless, P2P and merchant payments in East Africa total $22 billion annually (Dec. 2019).
Especially during COVID-19, it is even more important for money to move freely when people cannot. For the financially marginalized, limited mobile and cashless payment options can further exclusion while increasing the potential for exposure to the virus. Leaf helps people save, remit, and pay just as much when at home as when traveling across borders.
This is where Leaf comes in. Our cross-border, digital wallet is not confined by state boundaries. With the wallet, Leaf users can store money in one or more currencies, enjoy free Leaf-to-Leaf transfers, pay for goods and services (regardless of whether the merchant has a Leaf account!), and automatically exchange currencies during transactions. Customers can do all of this with a smartphone or on a basic phone using a shortcode and USSD.
Customers cash in and out of their Leaf account using mobile money. Mobile money is run by the major telcos across Sub-Saharan Africa and is the dominant local payment system with over 1.4 million physical agent locations and cash points. Mobile money allows people to perform financial transactions — even on their basic phones — and utilize a network of agents to get physical cash. However, mobile money does not easily cross borders or networks. Even the domestic fees can be as high as 6% for peer-to-peer payments (imagine paying 6% to use Venmo!). Leaf is integrated with all major mobile money providers in East Africa and serves as a bridge between them, solving their cross-border and network interoperability problems as well as cost issues along the way. This mobile money infrastructure allows for easy cash in/out of Leaf with systems users already know and trust. We are also adding additional onramps and offramps, such as banks, cards, and physical cash with partner agents.
Leaf users will also receive financial advice through the Leaf starting in 2021, tailored to the individual according to their transaction and savings history. This element will increase levels of financial literacy among the customer base, creating long-term customer relationships and helping them cultivate better saving habits and establish trust in Leaf. Leaf will allow customers to create an economic identity complete with a documented savings and transaction history.
Our Solution: Front End & Back End
Leaf is the first blockchain-based financial services provider for people without smartphones. By allowing users to access Leaf through the app or over a technology called USSD, Leaf meets users where they are and expands its potential user base to the 2.4 billion people still using basic phones.
Leaf generally sticks to a MongoDB, Node.js, and Flutter stack with JAMstack principles such as reusable APIs and atomic, branched deployment. We use the MCV framework to ensure modularity, security, and flexibility across all our repositories. Both of Leaf’s front ends sit on the same server base to allow users to switch between online/offline methods of access (smartphone app and USSD). Leaf Wallet, our mobile app, is available on Google Play and the App Store for Android and iOS. The USSD app is available for registered Leaf users in Rwanda, Uganda, and Kenya by dialing a shortcode and using numeric inputs to trigger certain actions. USSD is similar to a more secure form of SMS but is a live tunnel of encrypted communication instead of packaged messages. Users interact with an application server that sends signals over cellular networks. USSD technology eliminates the possibility of sensitive information like PINs and keys being stored in message history while still being able to function without the internet. If you have ever dialed a short code like *101# and had a box pop up on your phone, you have used USSD. This USSD interface is extremely common for conducting financial transactions in East Africa but the technology is still underutilized, as it is capable of supporting full applications like Leaf. USSD works on any GSM-compliant phone, including most basic phones.
A series of external integrations with licensed partners allows Leaf to facilitate the movement of fiat and expand into new markets without a physical presence or its own licenses. Other integrations facilitate KYC, communication with users, and add-on services. Through becoming an integration hub, Leaf is becoming a financial super-app for its customers to serve them in many areas of life.
To help with security and empowering users to access services even beyond Leaf, Leaf is developing an identity verification system that will be globally accessible to any entity. Identity verification is a significant challenge to providing financial services to our target customers (especially refugees). Creating an iterative identity system for customers that can be verified against helps eliminate the barriers that keep refugees out of the financial system. This new identity system can potentially supplement and substitute for traditional identity markers in the future. With Leaf’s identity system, Leaf customers can verify their identity without exposing any PII. Leaf’s system can also be used in totally offline environments as it does not require internet access. A large part of the identity system is a deterministic hash database that will be hosted on Stellar in its final form. The MVP is currently hosted internally while in testing. If a user loses their phone or documentation, they will still be able to reconnect to Leaf (and potentially other services such as foreign aid) through the identity system by using a broad range of verifiable credentials.
With Leaf, refugees, migrants, traders, and business owners manage their money from any phone secured by Stellar. Leaf’s main functionality (available on both smartphones and non-smartphones) enables users to:
Store money and see their balances in any/all the currencies Leaf supports
Send and receive money domestically and across borders
Exchange currencies within their wallet or automatically during transactions
Cash in through mobile money — either from their own account or by making a request to someone else’s account (think of sending a Venmo request to any phone number in East Africa). We are adding Visa/Mastercard, bank accounts, and partner agents in Q2 2021
Cash out through mobile money — their own account, someone else’s, or as a method of payment to someone who does not have a Leaf account. We are adding bank accounts and partner agents in Q2 2021
Manage the currencies they want to transact in
View their entire transaction history from account creation (not a standard feature of financial services in East Africa)
Register another user for Leaf (especially those who may not have smartphones themselves) and receive a referral bonus
View and update their profile information
For non-smartphones: change the app language (currently available in English, French, Kinyarwanda, and Kiswahili)
Contact Leaf, share the app, view Leaf policies and terms, etc.
We value communication and interaction whenever there is activity on a customer account. We use push notifications with smartphone users and direct SMS for our non-smartphone customers to make sure they are aware of every activity happening on their account. These notifications add to the spirit of transparency and integrity Leaf creates with its products.
As more customers start to store value on the Leaf platform, we will use the savings float to offer microlending services to Leaf customers through the Leaf wallet. Many of our customers are grassroots entrepreneurs. With just a small loan, the entrepreneurs can be empowered to start or expand their enterprises. Low-cost transactions enabled by Stellar will cut the cost of borrowing small amounts of money from 40%-100% (as seen in Kenya) to 13% through Leaf.
We plan to use a peer guarantor model to enhance repayments and strengthen group guarantees (think of crowdsourced collateral built on existing social networks). We have partnered with a credit-scoring company that will allow us to integrate a metadata analytics tool into the app. Through behavioral data and user transactions history, we will determine predictive credit scores for Leaf customers.
Leaf’s back end serves as the center of all system work, business logic, and traffic control. A group of servers supports all Stellar activity (reading/writing transactions, issuing/burning custom assets corresponding to fiat activity, creating federated accounts, etc.). A separate server base hosts Leaf’s USSD application and supports user activities triggered from the smartphone app. A shared codebase between the apps allows users flexibility to access services without Leaf having to build out and support multiple instances of the code. We keep a backup of activities that occur on Stellar in an internal database to help with historical reporting and analytics (the blockchain remains the source of truth in case of a discrepancy). Customer data is stored securely within Leaf’s ecosystem so that customers cannot be identified through their activities on Stellar. Leaf serves as the bridge between blockchain activities and identified accounts. Leaf uses industry best practices to secure and protect data in motion and at rest.
Leaf & Stellar
How Does Leaf Use Stellar?
Using Stellar helps Leaf reduce transaction costs, improve security, facilitate instantaneous transactions, and enhance transparency as a back-end system. Leaf creates individual accounts on Stellar for each of its customers through our federation server (*leafglobal.tech). All value within Leaf is held on Stellar in stablecoins (Leaf custom assets) and all transactions are written to Stellar. Stellar serves as the source of truth, record of account, and store of value for Leaf and its customers.
Leaf is both the Stellar wallet provider and the by-proxy anchor for its customers. We use a custom implementation to facilitate the minting and burning of stablecoins to match fiat movement in and out of Leaf’s system. All fiat is moved and held by our regulated partner entities — both licensed telco aggregators and a commercial bank in 33 countries. Leaf serves as the tech provider in between licensed entities and controls the token layer on Stellar. Leaf’s assets are 100% fiat-pegged and fiat-backed. We reduce the movement of fiat between countries as much as possible, concentrating everything at the token layer, to help manage liquidity with our partners. This process allows Leaf to tap into major cost savings and show transparently how every cent is moving within the system. Leaf has issued custom assets for Kenyan shillings, Ugandan shillings, and Rwandan francs. As we get started, our assets are only available to customers who have been approved through Leaf’s KYC process. There is potential for these assets to be listed on the DEX once sufficient liquidity is sourced.
The Leaf wallet is custodial, as customers are not in a position to manage their own keys or hang onto the same devices over time. Leaf users choose a username and a PIN that we tie to their public and secret keys. PINs are encrypted and not viewable in plain text even to system administrators. Users can reset their PIN through a token sent to their phone. The account can be used across devices and is not predicated on the user retaining the same phone number. We are planning to implement SEP-30 in addition to an additional key management solution in Q2 of 2021.
Leaf uses single and multi-operation payments to fulfill users’ transaction requests, create currency exchanges, and make revenue. Leaf is the maker and taker of its own markets to date and sets the internal exchange rates for its tokens. This exchange process allows us to make a spread on the foreign exchange rate in addition to the 1% cash out fee we charge customers for taking funds out of the Leaf system.
Stellar is currently not a customer-facing technology, as many of the markets Leaf operates in are not progressive towards crypto in any form. Stellar is the engine behind all transactions but users interact with currencies they know and trust. This means Leaf can pass on the benefits of a blockchain-based system to its customers without exposing them to volatility or a complex user experience. That said, we do not hide the presence of blockchain from customers. All Leaf wallets are full-fledged Stellar accounts. Users can only establish trustlines to Leaf-issued assets through the app at this time but, upon request, could port their account to another Stellar wallet or add additional trustlines outside of Leaf. As Leaf expands its network to other anchors, additional currencies can be added to the front end. Leaf holds a series of accounts on Stellar to facilitate its operations in addition to each customer having their own account. With this architecture, Leaf can fund accounts for users, issue assets, collect revenue in tokens, and distribute rewards/bonuses to its customers.
The standard user journey on Stellar looks like the following:
User registers for a Leaf account and submits info for KYC check
Upon KYC approval, Leaf creates/funds Stellar account for customer with federated address
Customer chooses currencies they want to transact in (selecting from a list of Leaf-supported local currencies), Leaf creates corresponding trustlines from the customer account to its custom assets on Stellar
Customer cashes in to Leaf through a pull from a mobile money account — Leaf’s licensed partner retrieves the funds after account holder confirms with PIN, partner sends success response to Leaf, Leaf issues stablecoins to match fiat and deposits into customer’s Stellar account using its anchor server, Leaf notifies user of transaction completion
Customer sends and receives money with other Leaf customers for free through payments on Stellar (triggered through Leaf’s smartphone or non-smartphone app and passed through a series of Leaf servers)
Every time a customer opens the app, checks their balance, or does any sort of activity, Leaf updates its internal database to match Stellar (helps with historical reporting and analytics)
Customer cashes out by sending money to a mobile money account — customer sends a payment of the asset back to the Leaf issuing account to burn the tokens, Leaf sends a request to licensed fiat partner to move the funds to mobile money account, partner sends success response, Leaf completes the transaction and notifies the user
All user activities are confirmed with a PIN before Leaf triggers the corresponding transaction on Stellar. Leaf has error handling and reversion processes set up to account for user error while balancing transaction immutability.
Why Is Leaf Valuable to Stellar?
Leaf aligns with Stellar’s mission: we focus on financial inclusion in emerging markets. We strive to make our services available and accessible, especially for the world’s most financially marginalized. Many products and services on the market today require cashing in from banks or other formal financial institutions. The cost and identity documentation requirements of these formal systems exclude many people. Leaf offers inexpensive services to the financially excluded, even those without a bank account or a smartphone.
Many companies promote using blockchain to benefit the underserved and unbanked, but few have been able to bring that idea to fruition. Our active customers are mostly refugees, migrants, and other unbanked and marginalized groups transacting on Stellar in places with zero internet connectivity. Leaf has proved this is not only possible through a full deployment of its services in three countries, but also commercially viable and valuable to customers.
From a technical perspective, Leaf is also valuable to Stellar. Though current Leaf users can only create trustlines within the system and with our supported currencies, these are full-fledged Stellar accounts. Leaf is already bringing thousands of transactions to the network each month and expanding Stellar into countries it has not been able to reach yet. As we move towards becoming a certified anchor, we will become interoperable with other anchors in order to facilitate a truly global network of payments and currencies. Our customers are inherently mobile and moving across borders so our vision is to support them — by using Stellar — anywhere they go.
Come alongside Leaf as we roll out the following in 2021:
Q1 - Expand geographic coverage to include Tanzania and DR Congo
Including supporting additional languages and tokens/currencies to reflect the expansion
Q1 - Deploy add-on services like airtime top-up and QR payments
Q2 - Complete testing and begin full launch in Chile, Colombia, and Peru
Q2 - Test and deploy our lending product with metadata credit scoring capabilities
Q2 - Add Visa/Mastercard, bank accounts, and partner agents for cash in/out
Q3 - Continue to develop a robust, accessible, and secure identity management system
Deploy decentralized identity system that can be verified against without exposing PII, even in no-connectivity environments
Host verifiable credentials system on a public blockchain
Q3 - Develop financial literacy curriculum to deliver in-app, tailored messages to customers
Q4 - Expand into Europe/UK through fiat partner and/or interoperability with Stellar anchor
Q4 - Source debt capital from individual crypto wallets to finance refugee lending needs
* The USD valuation of the award in XLM is calculated using the CF Stellar Lumens-Dollar Settlement Price on the date of transfer as administered, maintained, and reported by the cryptocurrency index provider CF Benchmarks Ltd. (using the ticker “XLMUSD_RR”) (available at https://www.cfbenchmarks.com/indices/XLMUSD_RR)