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.

  • 9 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 +6 more

Bank

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 accounts, 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.

Receipt verification for your business

Free for a business of any size: no per-check fee, no subscription, no signup. Fake screenshots, reused receipts and made-up references are caught the same way, by asking the bank.

  1. Shops and counters

    Staff check a transfer on cheki.et before the goods leave the counter. No integration, no accounts to set up.

  2. Online orders

    Your backend calls POST /api/verify before an order ships, or the SDK for TypeScript, Python, Go, PHP or Dart.

  3. Delivery

    Riders check cash-on-delivery transfers at the door, and the day's receipts are checked again in one batch.

  4. Accounting

    POST /api/verify/batch checks up to 20 receipts per call for end-of-day reconciliation. Self-host if you need more.

Guides and articles

All 10 articles
fraud9 min

How Payment Fraud Works in Ethiopia (and How to Stop It)

Payment fraud costs Ethiopian businesses millions every year. Here are the specific tactics fraudsters use and exactly how to catch each one.

technical6 min

BOA QR Codes: Encrypted Receipts and How Decryption Works

BOA's receipt QR codes are AES-256-CBC encrypted payloads using CryptoJS format. The key is public in BOA's web app. This guide covers how decryption works and why inter-bank transfers need it.

comparison5 min

Free Ethiopian Receipt Verification Without API Keys or Signup

check.et charges 499 ETB/month after 200 one-time free verifications, and verify.et's API plans start at 500 ETB/month. Both use the same public bank endpoints cheki uses for free. Here's the complete guide to free verification.

bank4 min

CBE Receipt QR Codes: What They Contain and How to Scan Them

CBE launched a new receipt sharing system at mbreciept.cbe.com.et. Here's what the QR codes contain, how the API works, and why it makes verification easier.

technical6 min

Ethiopian Bank Receipt Formats: A Complete Reference

The definitive reference for Ethiopian bank receipt formats. Reference patterns, endpoint URLs, required fields, and response types for the 9 live banks and wallets, plus the ones still in research.

open source5 min

How to Add a New Bank to cheki (Community Guide)

22 Ethiopian banks and wallets still need confirmed receipt endpoints. You can help by sharing a receipt, writing a parser, or reporting broken endpoints. Here's the complete community contribution guide.

9 banks and wallets live

22 more in research. All use public receipt pages.

22 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 (9 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 free: no signup, no API key and no credit card. The hosted API has fair per-IP rate limits (verify 30 per minute, batch 5 per minute); self-host for more. check.et charges 499 ETB/month or 4,990 ETB/year after 200 free verifications (one-time, not monthly). verify.et has a free tier of 200 verifications a month, then API plans from 500 to 3,000 ETB/month or a 4,000 ETB/year app plan. Prices as listed on each service's site on 12 October 2026. 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 9 live banks and wallets: CBE, Telebirr, Bank of Abyssinia, M-Pesa, Dashen Bank, Awash Bank, Siinqee Bank, eBirr, and ZamZam Bank. 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.

Can I integrate cheki into my POS system?

Yes. cheki has a REST API and SDKs for TypeScript, Python, Go, PHP and Dart, and needs no API key, so any POS, online shop or accounting system can call it. Staff can also check receipts on cheki.et with no integration at all.

How do I reconcile a day's receipts?

Send them to POST /api/verify/batch, up to 20 receipts per call, and match the results against your orders. Count a receipt as paid only when it comes back verified: true, which means the bank's own record confirmed it.

Does cheki.et track visitors?

Only as anonymous page-view counts. cheki.et uses Vercel Web Analytics, which sets no cookies and keeps no personal identifier. Each page view is recorded with its query string and # part removed, API calls are never counted, and an address that is not one of cheki's pages is not recorded at all, so no receipt reference, receipt link or account number reaches analytics.

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