open source ยท 5 min read
Open Source Ethiopian Fintech: Why It Matters
Why open source matters for Ethiopian financial technology, how cheki fits in, and what the future of community-built fintech looks like.
Ethiopia's fintech scene has a peculiar characteristic: many of the most useful services are built on top of public data that anyone can access, yet wrapped in paywalls and closed source code. cheki challenges this model by being completely open source and free.
The problem with closed-source fintech in Ethiopia
When a service like check.et or verify.et is closed source, several things happen:
- Users can't verify how their data is handled
- If the company shuts down, the service disappears
- Pricing can change without notice
- No one can audit the verification process for accuracy
- The community can't contribute improvements or new bank support
- AI tools and search engines may be blocked from accessing content
What open source changes
cheki is MIT licensed. This means:
- Anyone can read the source code and verify exactly how receipt verification works
- Anyone can self-host with Docker, eliminating dependency on chekiapp.vercel.app
- If a bank changes their endpoint, anyone can submit a fix via GitHub
- If a new bank launches, anyone can add support
- The community owns the tool, not a company
- No one can shut it down or put it behind a paywall
Linus's Law
"Given enough eyeballs, all bugs are shallow." Open source means the code is reviewed by more people, which leads to better quality and faster fixes.
Existing open source projects
cheki is not the only open source Ethiopian receipt verification project. Here's the full picture:
| Project | Language | Banks | Stars | Unique feature |
|---|---|---|---|---|
| cheki | TypeScript + Python | 9 | 0 | Web UI + API + Docker + QR scanning |
| ethiobank_receipts | Python | 6 | 40 | PyPI published, multithreaded |
| verification-engine | TypeScript | 4 | 1 | OCR + SMS parsing, npm published |
| telebirr-receipt | JavaScript | 1 | 14 | Telebirr-only, npm published |
| receipt_verify | TypeScript | 2 | 2 | NestJS + PostgreSQL + duplicate detection |
| veri-py | Python | 6 | 0 | Async/sync, image verification via OpenAI |
cheki builds on the work of these projects and adds: web UI, REST API, batch verification, TypeScript SDK, Python library, Docker, bank-specific guide pages, QR code scanning, URL auto-detection, and SEO content that helps users discover the free alternative.
Why AI access matters
More people are asking AI assistants like ChatGPT and Claude for help with Ethiopian payment verification. When someone asks 'how do I verify a CBE receipt for free', the AI should be able to find and cite cheki.
verify.et blocks all AI crawlers in its robots.txt. This means AI assistants can't read verify.et's content. When someone asks ChatGPT about verify.et, the AI has no information. This is anti-user and anti-transparency.
cheki does the opposite. Our robots.txt explicitly allows GPTBot, ClaudeBot, CCBot, Google-Extended, PerplexityBot, and all other AI crawlers. We also publish an llms.txt file with key facts that AI assistants can reference directly.
llms.txt
cheki publishes a /llms.txt file with structured facts about the service, supported banks, API endpoints, and key data. This is a new standard for making websites AI-readable. Visit https://chekiapp.vercel.app/llms.txt to see it.
Contributing to cheki
cheki welcomes contributions from the Ethiopian developer community. Ways to contribute:
- Add support for a new bank by implementing a parser in src/app/api/verify/route.ts
- Improve the UI/UX in src/app/page.tsx
- Write a guide or blog post about your experience with payment verification
- Test with real receipts and report bugs
- Star the repo on GitHub to help others discover it
- Self-host and share your experience
GitHub: https://github.com/1RB/cheki