Verify an Ethiopian receipt against the bank's own record.

Paste a receipt link, reference or QR before you hand over the goods. Free, no signup, no API key.

  • 8 banks and wallets
  • Answers in seconds
  • Open source

Copies a prompt for Claude Code, Cursor or any coding agent. It reads cheki's llms.txt and writes the integration.

Checked

CBE, Telebirr, BOA +5 more

Sent to with the reference to find this receipt. Nothing is stored.

The banks publish receipts on public pages

Ethiopian banks and wallets publish each transaction receipt at a public address. cheki asks that page, reads it, and returns the same JSON for every bank, with the source link so you can open it yourself.

Everything you need, nothing you don't

A single-purpose tool. No dashboards, no analytics, no billing portal.

  1. Answers in seconds

    Each check asks the bank's own public receipt page, live. Fast enough for a checkout counter.

  2. No API key, no signup

    Start checking immediately. No account, no business plan, no credit limit.

  3. Honest results

    Green only when the bank's record confirms the receipt. A decoded QR or pasted text is marked as not confirmed.

  4. Batch reconciliation

    Check up to 20 receipts in one API call, or drop a folder of screenshots on the page.

  5. QR, photo and OCR

    Scan the QR with your camera, paste a screenshot, or let OCR read the transaction number.

  6. Self-host with Docker

    Run cheki on an Ethiopian network to reach the wallets that block foreign servers.

  7. Same JSON for every bank

    Every bank returns the same response shape. Write the integration once. SDKs for TS, Python, Dart, PHP and Go.

  8. Open source

    MIT licensed. Read the code, contribute, fork it. No black box.

Guides and articles

All 14 articles

8 banks and wallets live

23 more in research. All use public receipt pages.

23 banks are still in research. Help us add them

Built by the community, for the community

cheki is MIT licensed and lives on GitHub. No company owns it. If a bank changes its receipt page, anyone can submit a fix.

License
MIT
Banks
31 (8 live)
SDKs
TS, Python, Dart, PHP, Go
CLI
cheki verify, info, health
Self-hosting
Docker included

Questions people actually ask

If yours is not here, open an issue. The answers stay in public.

Is cheki really free?

Yes. cheki is 100% free: no signup, no API key, no credit card, and no verification quota (only a per-IP rate limit against abuse). check.et charges 499 ETB/month after 200 verifications and verify.et charges $20-40/month. cheki is MIT licensed, so you can also read the source and self-host it.

How does receipt verification work?

Every Ethiopian bank and mobile wallet publishes transaction receipts at publicly accessible URLs, and those URLs require no authentication. cheki fetches the URL, parses the response (PDF, HTML, or JSON), and returns clean structured JSON with sender, receiver, amount, date, and reference number, plus the source URL it came from.

Which banks are supported?

cheki supports 8 live banks and wallets: CBE, Telebirr, Bank of Abyssinia, M-Pesa, Dashen Bank, Awash Bank, Siinqee Bank, and eBirr. Others are in research and anyone can contribute one. The endpoint formats live in a single file in the repo.

Do I need an API key?

No. cheki's API requires no authentication at all: no API key, no bearer token, no OAuth. Just POST to /api/verify with a JSON body containing the bank code, the reference number, and for some banks the account number.

Can I self-host cheki?

Yes. cheki is MIT licensed and ships with Docker support: clone the repo, run docker-compose up, and the API is live on localhost:3000. Self-hosting from an Ethiopian IP also bypasses geo-blocks on the Telebirr and M-Pesa endpoints.

Copies a prompt for Claude Code, Cursor or any coding agent. It reads cheki's llms.txt and writes the integration.