DEV Community

cheki
cheki

Posted on

How to Tell if a CBE or Telebirr Payment Screenshot Is Fake

A customer holds up their phone. Green tick, "Transfer successful", 5,000 birr. There's a queue behind them and they're in a hurry.

Do you hand over the goods?

Here's the rule to remember: a screenshot is a claim. The bank's record is the proof. Everything below is about getting to that proof in under a minute, while the customer waits.

Fakes are easy to make

Type "fake cbe" into Google and autocomplete suggests "fake cbe screenshot template". Type "fake telebirr" and you get "fake telebirr app for android". Whole tools exist to draw a convincing success screen without any money moving.

Most fake payments are one of five kinds:

  1. Edited. A real 500 birr receipt becomes 5,000, or last week's date becomes today.
  2. Reused. A real receipt, already used once, comes back for a new order.
  3. Misdirected. The money really moved, just not to you.
  4. Invented. A fake app draws a receipt for a payment that never happened.
  5. Fake SMS. A message that looks like it's from the bank or 127, with a made-up number.

Staring harder at the picture only catches the sloppy ones. Three habits catch all five.

The three habits: scan it, match it, log it

1. Scan it

Don't judge the picture. Ask the bank.

Every Ethiopian bank and wallet publishes each receipt on its own public web page. You just need the receipt's QR code or its link. Both carry everything the bank needs to find it.

A bare transaction number often isn't enough. For some banks, like Bank of Abyssinia and older CBE receipts, the bank also wants the last few digits of an account number, and a customer at the counter rarely has those handy. So ask for the QR or the link first.

The quickest way: open cheki.et on your phone and scan the receipt's QR with the camera. It asks the bank and shows you the amount, sender, receiver and date the bank has on record. Green means the bank confirmed it. Anything else, whether amber or an error, means not yet.

Prefer to do it by hand? That works too:

  • CBE: the app shares a link starting with https://mbreciept.cbe.com.et/. (Yes, the bank spells it "reciept".)
  • Telebirr: the SMS links to https://transactioninfo.ethiotelecom.et/receipt/ followed by a 10-character number like DET0SAMPLE.

Two cautions. Check the web address is exactly the bank's, not a lookalike. And Telebirr's page only opens on Ethiopian networks, so use mobile data or local Wi-Fi with any VPN off. (That's also why cheki.et, hosted abroad, gives you a one-tap button to Telebirr's own page instead of checking it on its server.)

Or skip all of it: if the money came to you, open your own app or dial *127# (Telebirr) or *889# (CBE). If it's in your balance, it's real. That just gets hard at a busy counter, with five payments of 300 birr in ten minutes.

2. Match it

A real receipt only proves a payment happened. Make sure it's your payment. Check three things:

  • Amount: the full amount, not "close enough".
  • Receiver: your name and the last digits of your account or phone. This catches kind 3.
  • Date: today, around when they say they paid.

3. Log it

The hardest fake is a real receipt shown twice, because every other check passes. The fix is boring and it works: write down every reference you accept, in a notebook, a spreadsheet or your POS. Seen it before? Say no.

This matters most when several people work the counter. The same receipt can visit one cashier in the morning and another after lunch.

Warning signs

None of these prove a fake, but each is a reason to slow down and scan:

  • The crop cuts off the transaction number or the receiver's name.
  • They'll send a picture but not the link or QR.
  • The amount's font, spacing or alignment looks slightly off.
  • The phone's clock doesn't fit the time on the receipt.
  • It's a photo of another screen, or forwarded many times.
  • "It's processing, I'm late, just let me go." Pressure is a tactic. A real payment checks in seconds.
  • An SMS "from 127". Sender names can be faked. Treat it as a pointer, not proof.

One more: a QR on its own proves nothing either. Anyone can make a QR that holds a transaction number. Its value is that it gets you to the bank's answer faster.

If the check fails

  • The bank has no record: don't hand anything over. Ask for the link again. A tight crop often drops the last character of a Telebirr number. Still nothing? Treat it as unpaid.
  • The bank isn't answering: banks go down sometimes. Wait, retry, or check your balance. A slow check is never a reason to accept the picture.
  • The receiver isn't you: then it isn't your payment, however real it is.

There's a longer list of tricks, with examples, in the guide to payment fraud in Ethiopia.

The sticky note

Print this for the counter:

Scan it. Match it. Log it.

  1. Scan the QR or open the link, never just the screenshot.
  2. Amount, receiver, date: all three must match.
  3. Write the reference down. Seen it before? No.
  4. No answer from the bank? No goods yet.

Which checker?

Any tool that asks the bank works. cheki.et, check.et, verify.et, Veritas and others all read the same public bank pages, and the bank's own page is always free. Pick one that shows you the bank's source link, so you can open it yourself, and that never shows green unless the bank confirmed.

On privacy, cheki.et has no accounts and no database. A confirmed receipt sits in server memory for up to six hours so a repeat check doesn't hit the bank again. Failed checks aren't kept.

Why cheki is free, and why that matters

A small shop can lose a week's profit to one fake screenshot. The banks already publish every receipt for free, yet checking them is often sold back to businesses as monthly plans and per-check fees. cheki started from a simple idea: you shouldn't pay to read a page your own bank already made public.

So it's open source under the MIT license, with no signup and no key. The website, the API, every bank's parser and SDKs for five languages live in one public repo at github.com/1RB/cheki.

That openness is practical, not just principled. Banks change their receipt pages without warning, and the first people to notice are the shops and developers using them. With the code public, whoever spots a break can fix it, and anyone can add a missing bank by following the add-a-bank guide. If a real receipt from your bank fails, open an issue with the personal details removed.

cheki isn't affiliated with any bank or Ethio Telecom.

A screenshot is a claim. The bank's record is the proof.

Top comments (0)