Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

core-savings

Who it's for: Individuals who want to save with a group, earn yield on idle cGHS, or lock money away toward a specific goal — from school fees to a business deposit. Why it matters: Shika brings three familiar African savings behaviours on-chain — the susu group, the piggy bank, and the goal jar — so users earn more and stay accountable without needing a bank account.

core-savings covers three distinct savings primitives that share the same Diamond contract (ShikaLending):

Route prefixPrimitiveDescription
/group/*ROSCA GroupsTraditional African susu — rotating savings pools
/yield/*Yield VaultDeposit cGHS, earn yield
/goal/*Savings GoalsLocked savings with optional early-exit penalty

Shared Pattern

All write operations follow the standard async flow:

POST /resource/action
  → transaction submitted (signed by user's addressId)
  → D1 row: status = 'pending'
  → return { id, status: 'pending' }
 
Webhook → background workflow → decode event → D1 status = 'active' | 'complete'

Contract

All three primitives live on the ShikaLending Diamond:

0x6360CeB8696f46fFef53f5a7B4802EB9Cd022BC4

The savings Diamond is separate from the ROSCA GroupPoolFactory — group savings pools at 0x8C3dc00481445239BbE1BA25AeC631645C8fF7B0 are deployed via the factory.