Inspiration

The main idea behind this project is to be able to disburse funds to civil society organizations (CSOs) in conflict zones, or places where there's not a functioning financial system, in a safe and transparent way. The core problem faced by any money transfer solution operating under these constraints is converting funds into a medium of exchange that the recipients can actually use. A cryptocurrency, for example, is useless to the recipient if they can't make day-to-day purchases with it. In conflict zones (countries like Syria, Yemen, or Libya), this could be a local fiat currency or an international fiat currency (generally USD). In the case of local currencies, these CSOs face the challenge of hyperinflation and lack of liquidity at local branches of financial institutions. In all cases, they also face security challenges, as any item of value can be taken from them, and carrying international currencies can potentially expose them to greater risk.

The specific challenge we're aiming to address is the "last mile problem:" whether the funding comes through a financial institution or a DeFi platform how do we ensure that funding can be cashed out by the recipient so they can spend it locally?

In order to respond to these challenges, HawalaCoin aims to streamline the process of transferring and converting money through the use of a stable coin, whose value is tied to a fiat currency, and can be cashed out at specific locations. HawalaCoin will be supported by the Celo blockchain to facilitate reporting and ensure transparency and security of funding flows into conflict zones. HawalaCoin would allow international donor organizations to manage the flow of funding to and between the other users, each of whom has a unique digital wallet which allows them to accept and receive funds. In order to circumvent the “last mile problem”, donors can mandate specific users (“clients” and “agents,” see user types below) to disburse funds in local currencies in exchange for a commission. In order to meet the needs of actors in differing environments with differing levels of access to IT infrastructure, the ‘cash out' process can include several forms of verification and disbursement.

What it does

Funding agreement: A donor organization signs an agreement with a CSO (Civil Society Organization), through the HawalaCoin smart contract on the Celo blockchain.

Disbursement Plan: The donor and CSO agree on one or several clients and/or agents to disburse the funds. Large sums can be split into several payments through different clients/agents, so as to minimize risk. Each client and agent’s commissions are automatically calculated into the program budget, and do not impact the net amount received by the CSO.

Reception of funds: The Donor releases the funds to the CSOs via HawalaCoin. Pre-agreed-upon Agent(s) are sent a mission to exchange the HawalaCoin from the CSOs for local currency. The CSO cashes out their HawalaCoin with a pre-agreed-upon agent. Once the transaction is complete, the agent can cash-out their HawalaCoin with the pre-agreed-upon Client(s).

Reporting: HawalaCoin allows for traceability of funds until their conversion into local currency by agents. Agents can only cash out when CSO and client verification is complete, and inconsistencies can result in automatic reduction of their commissions or blacklisting from the HawalaCoin platform.

How we built it

The demo DApp consists of two components, a front end built with React and Next.js, which interacts with a Solidity smart contract deployed to the Alfajores Celo testnet. We used tailwindcss for all the styling, deployed to Vercel, and built with a mobile first philosophy. The underlying smart contract uses the ERC1155 standard as we want to the donors to be able to mint multiple different types of "tokens" each of which have specific attributes such as the underlying currency they represent and which client bank they can be redeemed at for physical cash. The webapp was built for a mobile user in mind, modeled after a messaging interface that everyone is familiar with.

Challenges we ran into

We initially wanted to use Expo in order to build mobile-web, Andriod, and iOS apps all at the same time. However the DAppKit was deprecated and @celo-tools/use-contractkit only worked for web. As a result we switch to using Next.js and just built a mobile-web app.

Accomplishments that we're proud of

We're proud of the overall design of how to get money/value into conflict areas. We're also proud of creating and deploying a smart contract on Celo.

What we learned

We learned a lot about working on Celo and writing smart contracts. We also did a lot of investigation into how to get money in and out of conflict zones in order to come up with this solution.

What's next for HawalaCoin

This MVP just showcases the basic functionality and there's is a lot more work to do. We want to deploy an Android app and not just a mobile-web app. We want the messaging bubbles to appear naturally as actions are completed instead of all at once. There's a few other components we need such as dashboards so that the donors can monitor how the money is flowing through the system. There's also a component not included in this demo which is transferring tokens/value directly to the beneficiaries who could use biometrics or a simple phone in order to interact with Celo and cash out with the agents.

Tracks

This project falls under the "Cash In Cash Out Track", as well as the Africa regional track as 2 participants are located in Morocco (and the third in Palestine).

Built With

Share this project:

Updates