CircleUp puts rotating savings clubs (Ajo, Esusu, Tanda, Chama) on Stellar Soroban. Members contribute each round; the contract auto-pays the recipient β no organizer can run off with the pot. Miss a round, lose collateral. Complete a circle, earn on-chain reputation.
# π CircleUp
> **The savings club a billion people already use β made trustless.**
CircleUp brings Rotating Savings & Credit Associations (ROSCAs) β known as **Ajo** in Nigeria, **Esusu** across West Africa, **Tanda** in Latin America, and **Chama** in Kenya β onto **Stellar Soroban**. The notebook-and-trust model is replaced by a tamper-proof smart contract: every member contributes each round, and the pot auto-pays the scheduled recipient. The organizer can never run off with the money.
---
## Table of Contents
- How It Works
- Architecture
- Project Structure
- Data Flow
- Quick Start
- Environment Variables
- Contracts Reference
- API Reference
- Demo Flow
- Tech Stack
- Contributing
---
## How It Works
```
1. Organizer creates a circle β sets members, $amount/round, rotation order, schedule
2. All members lock collateral (1Γ round amount) to join
3. Each round: every member contributes β contract holds the pot
4. Contract auto-pays the scheduled recipient (no intermediary)
5. Miss a round β 20% collateral penalty + default flag on your record
6. Complete a full circle β your on-chain reputation score increments
```
**Example:** 4 members, $100/round, monthly schedule
| Round | Pot | Recipient |
|-------|--------|-----------|
| 1 | $400 | Alice |
| 2 | $400 | Bob |
| 3 | $400 | Carol |
| 4 | $400 | Dave |
Each member contributes $400 total, receives $400 once. Zero interest. Zero trust required.
---
## Architecture
```
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Stellar Testnet β
β β
β ββββββββββββββββββββ deploys ββββββββββββββββββββββ β
β β circle_factory ββββββββββββββΆβ circle (instance) β β
β ββββββββββββββββββββ ββββββββββββββββββββββ β
β β β β
β registers call β¦