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

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:

  1. Wallet provisioning — creates a Shika Wallet for the user
  2. Biometric KYC — verifies identity via SmileID
  3. 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

ContractAddress
SSIComposable (proxy)0xC44357264CcD8aDA10A16889eBa5FA0ab582a876
ClaimIssuer0x89FAcE94A8738B50F2DE8B5D2Eb8464e463300e2
Verifier0x96a34b41e41df9928e69B51061240f12D19Fdd8e
IdentityFactory0x4C47d600f056eBD01B538a7bB7eF48C0bd885b4a

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