Ahjoor is a decentralized Rotating Savings and Credit Association (ROSCA) platform built on the Stellar blockchain. It empowers communities and savings groups to pool funds and take turns receiving the collective pot with complete transparency, security, and no middlemen.
ROSCAs are one of the oldest and most widely used savings systems in the world, yet they still rely entirely on trust and manual processes. Ahjoor brings this tradition on-chain using Stellar's fast, low-cost blockchain infrastructure to provide:
- Trustless Savings Circles: Automated round management with no central authority
- Transparent Operations: All participants can verify contributions and payouts on-chain
- Secure Funds: Cryptographically secured group wallets and contribution records
- Cost-Effective: Built on Stellar's efficient, low-fee blockchain infrastructure
- Scalable: Designed to support many groups running simultaneously
- Community savings circles (Ajo, Esusu, Susu, Tanda, Chit Funds)
- Corporate employee savings programs
- Diaspora remittance and group savings
- Micro-lending and credit-building for underbanked communities
- Multi-party escrow and collective fund management
- Rust (latest stable)
- Stellar CLI
- Make (optional, for convenience commands)
# Fork the repository
# Then clone your fork into your local environment
git clone https://github.com/Ahjoor/ahjoor-contract.git
cd ahjoor-contracts
# Add wasm32 target
rustup target add wasm32-unknown-unknown# Using Make
make buildOR
# Using cargo
cargo build --target wasm32-unknown-unknown --release# Or directly with Stellar CLI
stellar contract build# Run all tests
make test# Format code
make fmt# OR
cargo fmt# Check formatting
make fmt-check# OR
cargo check --all# Run clippy lints
make lintAhjoor's smart contracts handle:
- Group Management: Create and manage multiple independent ROSCA groups
- Access Control: Only pre-registered participants can contribute to a group
- Contribution Tracking: Immutable record of who has paid each round
- Automated Payouts: Scheduled recipients claim the full pot when their round is due
- Round Progression: Time-based round advancement using Stellar ledger timestamps
Stellar/Soroban utilizes State Archival to manage network storage footprint. Idle contracts and data entries will eventually be archived. Ahjoor handles state preservation automatically when members interact with it (e.g. init or contribute). However, if the contract goes unused for a long period, participants should occasionally call the bump_storage() function to manually extend the time-to-live (TTL) of the contract's instance storage and avoid sudden state archival.
- Blockchain: Stellar (Soroban smart contracts)
- Language: Rust
- SDK: Soroban SDK v21.0.0
- Token Standard: SEP-41 / Stellar Asset Contract (XLM or any compatible token)
- Testing: Soroban test utilities