The trust layer. Soroban smart contracts on Stellar that put a savings group's ledger on-chain: pooled contributions, governance, payouts, and votes become visible to every member and provable by the chain.
Part of Lumio — an open-source cooperative finance platform for savings groups, cooperatives, and community investment clubs (ajo, esusu, chamas, table-banking groups, SACCOs).
⚠️ Scaffold / pre-audit. These contracts expose minimal stub logic so the workspace builds and tests green. They are not complete, not audited, and must not custody real funds. Full logic lands in a later phase.
| Contract | Status | Responsibility |
|---|---|---|
treasury |
Build first — "live, tested" | Holds pooled funds, records contributions/withdrawals. |
governance |
Build second | Proposal creation, member voting rules. |
dividends |
Build third | Calculates and distributes payouts to members. |
voting |
Build fourth | Vote casting/tallying logic used by governance. |
Each contract is an independent crate under contracts/, sharing one Cargo
workspace.
- Rust (stable) with the
wasm32-unknown-unknowntarget — seerust-toolchain.toml. soroban-sdk27.x(pinned in the workspace).- Optional: the Stellar CLI for deploys.
# from a fresh clone — no other setup needed
cargo build --workspace # or: make build
cargo test --workspace # or: make testOther shortcuts (see Makefile):
make fmt # format
make fmt-check # verify formatting (what CI runs)
make wasm # optimized wasm for every contractlumio-contracts/
├── contracts/
│ ├── treasury/ { src/lib.rs, src/test.rs, Cargo.toml }
│ ├── governance/
│ ├── dividends/
│ └── voting/
├── Cargo.toml # workspace root
├── Makefile # build/test/fmt/wasm shortcuts
├── rust-toolchain.toml
└── .github/workflows/ci.yml