Identity — SSI Bedrock
Who it's for: Every Shika user — from a market trader in Accra opening their first digital wallet to a developer onboarding customers into a savings or lending product. Why it matters: A single verified identity unlocks every product on the platform, so users never repeat KYC and their financial history compounds over time into a credit score.
The identity service (worker-two) is the entry point for all users on Shika. It handles:
- Wallet provisioning — creates a Shika Wallet for the user
- Biometric KYC — verifies identity via SmileID
- On-chain SSI — deploys an on-chain identity contract and issues a KYC claim (topic
666)
Once issued, the SSI claim is composably shared across every Shika product — no re-verification needed.
Why SSI?
Identity is verified once and reused everywhere. After a user passes KYC, their credential is stored on-chain and silently checked by every Shika product — no re-submitting documents, no repeated verification steps.
✓ Borrow from a lending pool ✓ Provide liquidity via P2P offers ✓ Hold or transfer RWA tokens ✓ Open collateral positions ✓ Build a credit score
Contracts
| Contract | Address |
|---|---|
| SSIComposable (proxy) | 0xC44357264CcD8aDA10A16889eBa5FA0ab582a876 |
| ClaimIssuer | 0x89FAcE94A8738B50F2DE8B5D2Eb8464e463300e2 |
| Verifier | 0x96a34b41e41df9928e69B51061240f12D19Fdd8e |
| IdentityFactory | 0x4C47d600f056eBD01B538a7bB7eF48C0bd885b4a |
Service Entry Point
worker-two is an RPC entrypoint (WorkerEntrypoint). It's called over internal service bindings by other services (e.g. rpc-service-offline for USSD flows) and also exposed as an HTTP API for the mobile/web frontends.
Identity States
No wallet → WALLET_CREATED → KYC_INITIATED → KYC_VERIFIED → SSI_ISSUED