Enabling Rotating Savings and Credit Association on-chain with verified credit scoring


This project is not a YC idea that will make millions off of its users. It's an app that enables financial responsibility for 2 billion people in areas that have no stable banking systems.
Tanda is a web3 version of a system used by 1/4 of the world - community savings circles (ROSCAs, tandas, susu, chit, hui, all cultural versions of the same system). Here's some mind boggling stats before I explain how they work:
How ROSCAs work (super short): A group agrees to contribute a fixed amount each cycle (weekly/monthly). Each cycle, one member receives the full pooled payout. The pot rotates until everyone has received their share. It’s trust-based, fast, and deeply cultural.
The problem: In traditional ROSCAs, once someone receives their payout early in the rotation, they can simply disappear. No credit system, no identity, no on-chain proof. The entire group carries the loss.
Why Tanda changes everything:
Instead of trying to replace informal finance, Tanda strengthens what billions already use- preserving cultural norms while giving communities a safer, more transparent, reputation-based version of the system they trust.
Hardhat: I had a very complex smart contract architecture and used Hardhat 3.0 which was a game changer. Each Tanda or pool needed its own smart contract, so I wrote two contracts. One was the Tanda contract itself with functions to track who was the next recipient and when they could claim the vault, track who paid to the pool, who was still left to pay, and how much was in the pool. The other contract was the TandaFactory which spawned Tanda contracts according to proper specs. Hardhat 3.0 was a game changer. I also wrote over 20+ tests in Solidity, which was probably the biggest benefit because my architecture was complex and one small change meant bytecode would change and I had to redeploy everything so you can even see in commit history tests weren't an add on for show but built in from the very start.
World Chain: the entire app is a worldchain mini app and entirely impossible without world chain. We used the credit.cash API in order to see credit scores for different users. Since each user can only have one wallet, this is entirely verifiable. They can't disappear and join a new Tanda because that credit default would follow them. Additionally, when joining new Tandas people would be able to see how trustworthy they are. We also took advantage of the fact that most World Chain users are in LATAM or Southeast Asia, where systems like Tandas are highly prevalent. Finally, the low gas and fast transactions abstracted all of the web3 away for a very easy to use experience.
Symbiotic: We used Symbiotic relay to sign an attestation when going off chain in order to compute the credit scores. It's highly important that people are receiving the proper yield and are not allowed to join pools in which their credit score is not good enough, so having the on chain attestation is incredibly imperative here.
Other things were that the app was built with Next.js + React, uses ShadCN components.

