Logo Lanfrica

Emmyt24/Owo

Domain:

socioeconomicdigital infrastructure

Record type:

softwareproject
Creator:
Emm
Host:
Owo is building Nigeria's circular G$ economy: a spend rail and peer-to-peer marketplace that lets GoodDollar claimers actually use their G$ to buy airtime, data, and electricity, pay local merchants, or trade with peers for Naira without G$ ever leaving the ecosystem. # Owo A circular **G$ economy for Nigeria** — a spend rail (airtime, data, electricity, merchant pay in G$) backed by a peer-to-peer G$/Naira marketplace, designed so G$ keeps circulating inside the ecosystem rather than leaking out. Built on Celo (chainId 42220), where G$ lives as an ERC-677 token. See `docs/Owo_Architecture_4Month_Plan (1).md`.md>) for the full architecture and build plan. ## Monorepo layout ``` apps/ web/ React + Vite PWA (Wagmi/Viem + Reown AppKit, MiniPay-ready) api/ NestJS modular monolith (services as modules) admin/ Ops console (disputes, KYC, treasury, kill-switches) packages/ contracts/ Foundry: OwoEscrow, OwoTreasury, OwoRewards (+ fuzz/invariant tests) sdk/ Typed API client + Celo/Viem chain helpers ledger/ Double-entry ledger primitives providers/ Swappable PSP / biller / KYC adapter interfaces ui/ Shared React components + Owo design tokens infra/ docker-compose (local Postgres + Redis), deploy/CI config docs/ Architecture, runbooks, ADRs ``` ## Prerequisites - Node 20+, pnpm 10+ - Foundry (for `packages/contracts`) - Docker (for local Postgres + Redis) ## Getting started ```bash pnpm install cp .env.example .env # fill in values (Reown project id, G$ address, …) docker compose -f infra/docker-compose.yml up -d # Postgres + Redis # contract deps (vendored under packages/contracts/lib, gitignored) cd packages/contracts && forge install foundry-rs/forge-std --no-git \ && forge install OpenZeppelin/openzeppelin-contracts --no-git && cd - pnpm run dev # all apps (turbo) ``` ## Common tasks ```bash pnpm run build # build everything (turbo) pnpm run test # JS/TS tests (vitest) across the workspace pnpm run lint pnpm run typecheck pnpm --filter @owo/contracts test # Foundry tests ``` ## Environments local → staging (**Celo Alfajores**) → production (**Celo mainnet**). Separate keys, contracts, and data per environment. Mainnet contract de …