This Turborepo hosts the GoodDollar SDKs, shared configuration, and example applications that demonstrate identity, claim, engagement, and savings flows.
Each workspace publishes its own README with implementation details; the root focuses on repository layout and contributor workflow.
- Node.js 18 or newer
- Yarn 4 (enable via
corepack enableif needed)
- Identity Demo App - See the SDK in action
- Source Code - Complete implementation example
git clone https://github.com/GoodDollar/GoodSDKs.git
cd GoodSDKs
yarn install --immutable
yarn buildCommon tasks:
yarn lint– run ESLint across the repoyarn turbo run <task> --filter=<workspace>– target a specific package or appyarn workspace <name> build– build a single workspace withtsup
packages/citizen-sdk– Viem-based identity and claim clients (README)packages/react-hooks– Wagmi hooks wrapping the citizen SDK (README)packages/engagement-sdk– engagement rewards utilities that consume exported ABIspackages/ui-components– Lit web components (README)packages/savings-sdk– savings integrations for viem/wagmi appspackages/savings-widget– Lit widget surfacing savings flows (README)packages/engagement-contracts– Hardhat project exporting protocol ABIspackages/eslint-config,packages/typescript-config– shared tooling configuration
apps/demo-identity-app– React demo covering identity + claim flowsapps/engagement-app– engagement rewards showcaseapps/demo-webcomponents– Vite playground for Lit components
Each app documents its development server and environment requirements inside its own README.
- Run
yarn turbo run lint --filter=<workspace>andyarn workspace <name> buildbefore opening a PR. - Contract addresses and ABIs originate from the GoodProtocol repo; regenerate via
yarn workspace @goodsdks/engagement-contracts export-abisrather than editing by hand.
We welcome any type of technical contributions!
Please read our Contributing Guidelines for details and our different open-source contributor opportunities.
This project is licensed under the MIT License. See the LICENSE file for details.