User Guide & Help Center

Everything you can do with EthioVerify — from your first verification to fraud alerts and API keys.

Getting started
  1. Create an account — click Sign up, enter your business name, email and a password. You get a web login and one API key (shown once — save it if you plan to integrate; you don't need it for this website).
  2. Log in — your session lives in this browser. Use Log in on any device.
  3. Verify your first payment — open Verify, pick the provider (or leave Auto-detect), paste the reference from the customer's payment SMS, and click Verify payment.
EthioVerify never trusts screenshots. Every verdict comes from the payment provider's own receipt record.
Verifying a transaction — what each provider needs
ProviderWhat to enterWhere to find it
TelebirrTransaction number (10 characters, e.g. DG28H170UI)Payment SMS or telebirr app receipt
CBEFT reference plus the last 8 digits of the sender's or receiver's accountTransfer SMS; account digits from either party
DashenReference, or better: the shared receipt linkDashen Super App → transaction → Share receipt
AwashReference, or better: the shared receipt linkAwashBirr / mobile banking → receipt → Share
Bank of AbyssiniaReference plus the last 5 digits of the account (or the slip link)Confirmation SMS contains the reference and a cs.bankofabyssinia.com/slip/… link
ZemenReference, or better: the shared receipt linkZ-Club app / SMS share link

Tip: BOA and some Dashen references start with FT just like CBE. When in doubt, select the bank explicitly instead of Auto-detect.

Expected amount: enter the amount the customer owes you. If the real receipt says a different amount (a classic trick: pay 15 birr, edit the screenshot to 1,500), the result is flagged with an amount mismatch warning.

Reading the result — verdicts, risk levels and receipt reuse
VerdictMeaning
✓ Payment verifiedThe provider's record confirms a successful payment.
✗ Receipt not foundNo such transaction exists — fake reference or a typo.
⛔ RejectedThe receipt exists but fraud checks scored it CRITICAL — do not accept it.
⚠ Could not verifyThe provider's service was unreachable — try again shortly.

Every result carries a risk level — LOW MEDIUM HIGH CRITICAL — built from checks like duplicate receipts, reused references, amount mismatch, wrong receiving account, expired transactions and unusual verification bursts.

"Times verified" shows how often this same receipt was checked on the platform. A count above 1 with a receipt reused badge usually means the same receipt is being shown to more than one merchant.

Settlement accounts — confirm the money reached YOU

A receipt can be 100% real and still be someone else's payment. Register your receiving accounts on My Account and every verification will also answer: was this paid into one of my accounts?

  1. Open My AccountSettlement accounts.
  2. Pick the provider and enter your account number (or telebirr phone) and the account holder name.
  3. From then on, results show Paid to your account: yes / NO. Receipts paid elsewhere raise a settlement mismatch fraud signal.
Receipt pages mask account numbers (e.g. 2519****9876), so matching uses the visible digits. Register the full account number for the best match.
My Account — history, statistics and API keys

The My Account page shows:

  • Your statistics — total verifications, success rate, fraud flags.
  • Verification history — every check you ran: when, provider, outcome, risk.
  • API keys — generate additional keys for integrations. Each key is shown once; only a fingerprint is stored, so a lost key is replaced, never recovered.
  • Settlement accounts — add or review your registered receiving accounts.
Developers — API, webhooks and SDK

Everything on this website is powered by the same REST API you can call from your own systems: point-of-sale, e-commerce checkout, accounting tools or a Telegram bot.

  • Start at Developers → Getting started.
  • Interactive Swagger docs live at /docs.
  • Python SDK: pip install ethiopayverify.
  • Webhooks push transaction_verified and fraud_detected events to your backend.
Provider questions — quick answers

How do I verify a Telebirr payment?

Open Verify, pick Telebirr (or leave Auto-detect), enter the 10-character transaction number from the payment SMS, and submit. No account number or phone is needed.

How do I verify a CBE transfer?

Select CBE, enter the FT reference from the transfer SMS and the last 8 digits of either the sender's or receiver's account, then submit. The digits are part of how CBE publishes its receipts — without them the receipt simply cannot be fetched.

How do I verify a Dashen Bank transaction?

Select Dashen and enter the reference number from the transaction receipt. If the payer shared the receipt link from the Dashen Super App, paste it into the receipt-link field — that's the most reliable route.

How do I verify a Bank of Abyssinia transaction?

Select Bank of Abyssinia, enter the reference number and the last 5 digits of the account, then submit.

Why does BOA ask for an account suffix?

The 5-digit suffix lets the slip be matched to the exact transaction without anyone revealing a full account number — same idea as CBE's 8-digit rule, just shorter.

How do I verify an Awash Bank receipt?

Select Awash and paste the receipt URL shared from the Awash app (or enter the transaction reference as a fallback). Yes — the receipt URL alone is enough.

How do I verify a Zemen Bank transaction?

Select Zemen and enter the reference, or paste the shared receipt link for the most reliable result.

What about CBE Birr, M-PESA, Siinqee or Kaafi Ebirr?

Not supported yet. EthioVerify's adapter architecture means each new wallet or bank is a single, isolated module — these are on the roadmap, and self-hosters can add one by following the developer guide.

Troubleshooting
SymptomLikely cause & fix
"Receipt not found"Typo in the reference, or the payment doesn't exist. Re-copy from the SMS; a fabricated reference will always show this.
"Could not verify … unreachable"The provider's receipt site is down or unreachable from your network. Try the receipt URL in your browser; retry in a few minutes.
"CBE verification requires account_suffix"CBE needs the last 8 digits of either account — ask the payer, or use your own account's digits since you're the receiver.
Verification is slow (30–45 s)The provider's server is responding slowly; we retry up to 3 times before giving up. The verdict is still authoritative.
Logged out unexpectedlyWeb sessions expire after 60 minutes. Log in again — your data is untouched.
Result says amount mismatch but the receipt looks rightCheck for service fees: the customer may have paid the total including fees while you entered the base price, or vice versa.
Account security
  • Passwords are stored hashed (bcrypt); we cannot see them. Choose a strong one.
  • API keys are hashed at rest and shown only at creation. Treat them like passwords — keep them server-side, never in a browser or mobile app.
  • Sessions are signed tokens valid for 60 minutes; logging out clears them from this browser immediately.
  • Every account change (keys, webhooks, settlement accounts) is written to an audit trail.

Didn't find what you were looking for? Write to afrisiniadigitals@gmail.com.