Introduction
Who it's for: Developers building financial apps for African markets, and any service integrating mobile money, savings, credit, or digital currency for users in Ghana and beyond. Why it matters: Every product in the stack is pre-wired to a single verified identity — one KYC, zero re-verification, and no private key management for end users.
Shika Protocol is a blockchain fintech stack built for African markets — starting with Ghana. It exposes a set of backend services that front a suite of smart contracts on Base.
Every product is gated by on-chain SSI. Identity is the bedrock.Services
| Service | Description | URL |
|---|---|---|
core-identity (worker-two) | KYC + SSI identity provisioning | https://identity.shika.workers.dev |
| core-stablecoin | cGHS mint/burn, oracle push | https://core-stablecoin.workers.dev |
| core-savings | ROSCA groups, yield vault, savings goals | https://core-savings.workers.dev |
| core-lending | Lending pools, loans, BNPL, collateral | https://core-lending.offgridlabs.workers.dev |
| core-jit | atomic swaps, LP, P2P offers | https://core-jit.offgridlabs.workers.dev |
| core-rwa | RWA token deploy, compliance, oracle | https://core-rwa.workers.dev |
Authentication
Write endpoints use Shika Wallet-signed transactions — the caller provides their addressId (wallet UUID) rather than a private key. Reads use viem publicClient via the Base RPC.
Admin-only routes (e.g. POST /admin/pool/create in core-jit, POST /rwa/create in core-rwa) are guarded by an x-admin-secret header.
Request Pattern
All write operations follow the same async pattern:
POST /resource/action
→ Shika Wallet transaction submitted
→ D1 row inserted with status = 'pending'
→ { id, status: 'pending' } returned immediately
Wallet webhook fires on confirmation:
→ Background workflow decodes on-chain event
→ D1 row updated to status = 'active' | 'complete'Poll GET /resource/:id to check finality.
cGHS Decimals
cGHS uses 6 decimal places. All amount fields in API requests and responses are in base units:
| Human | Base units |
|---|---|
| 1 cGHS | 1000000 |
| 10 cGHS | 10000000 |
| 0.50 cGHS | 500000 |