This is a submission for Weekend Challenge: Passion Edition
What I Built
I grew up watching the women in my family do ajo.
Every month, a group of people pool money together. One person gets the full pot. Then the next. Then the next. No bank. No interest. Just trust.
It's been working in Nigeria for centuries.
But the trust part? That's where it breaks.
The collector - the person who holds everyone's money, can disappear the moment they've received their own payout. No receipt. No contract. No way to get your money back.
I know people who've lost hundreds of thousands of naira this way. And they still go back, because the system itself is genius. The only broken part is the human in the middle.
That's what drove me to build EsusuX.
EsusuX is a decentralized ajo protocol on Solana. It replaces the collector with a smart contract. The contract holds the money. Not me. Not a company. A program on the blockchain that has one job, follow the rules.
Here's how it works:
- Someone creates a savings circle and sets the amount, number of members, and frequency
Members join by connecting their wallet and locking a small collateral deposit

Every round, members contribute USDC to the contract
The contract automatically pays out the full pool to that round's member
If someone defaults after receiving their payout, their collateral is slashed
No collector. No trust required. No one can run.

Demo
Live app: esusux.vercel.app
Smart contract deployed on Solana devnet:
Program ID: CG2XsN5oeS1QzEUn3cuaqJb67uaAXgxMpPYsD9Qv5wJp
Connect a Phantom or Solflare wallet, create a circle, and join one right now using devnet USDC from faucet.circle.com.
Code
How I Built It
I chose Solana because the math only works here.
A ₦2,000 weekly contribution cannot survive Ethereum gas fees. On Solana, the transaction fee is a fraction of a cent. Payments confirm in under a second. For a savings app targeting everyday Nigerians, that's not a nice to have. It's the whole thing.
The smart contract is written in Rust using the Anchor framework. Three core instructions power the protocol:
create_circle - the organizer sets contribution amount, number of members, and payout interval. Everything is locked onchain and immutable once set.
join_circle - members join by locking 10% collateral in USDC. The circle automatically activates when all slots are filled.

contribute_and_disburse - members send their contribution each round. The contract immediately disburses the full pool to that round's recipient based on join order. No manual trigger. No human decision.
The frontend is built with Next.js and connects to the program using Anchor's TypeScript SDK. Wallet connection uses the Solana wallet adapter, supporting Phantom and Solflare. Contributions use devnet USDC via Solana Pay, with a QR code members can scan to contribute directly from their phone.
The whole stack is open source.
Prize Categories
Best Use of Solana
EsusuX is built entirely on Solana. The core protocol lives in a Solana program written with Anchor. Every circle creation, member join, and payout disbursement is an on-chain transaction. Solana's low fees and fast finality are what make this viable for small everyday contributions, something that simply isn't possible on other chains.
Built with: Solana, Anchor, Rust, Next.js, USDC, Solana Pay, Phantom, Solflare, Jupiter Wallet
Top comments (0)