Live · 7 providers supported

Accept Ethiopian
bank transfers
without the chaos.

qbirr verifies CBE, Telebirr, Awash, Dashen, M-Pesa, Bank of Abyssinia and eBirr receipts in real time. One API, every bank, zero screenshots.

No card required · 50 free verifications/month forever

verify.qbirr.com
curl -X POST https://verify.qbirr.com/api/v1/verify \
  -H "X-API-Key: $QBIRR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "provider":         "cbe",
    "ref":              "FT23001234ABC",
    "amount":           500,
    "receiver_name":    "YOUR NAME",
    "receiver_account": "1000017692643"
  }'

# → returns instantly
{
  "verified": true,
  "payer":    "JANE DOE",
  "amount":   500,
  "error":    ""
}

Works with every major Ethiopian bank & wallet

C
CBE
Commercial Bank of Ethiopia
T
Telebirr
Ethio Telecom mobile money
A
Awash Bank
Private bank
D
Dashen Bank
Super App
M
M-Pesa
Safaricom Ethiopia
B
Bank of Abyssinia
Private bank
E
eBirr
COOPay · KAAFI · Nib · Wegagen · Ahadu
C
CBE
Commercial Bank of Ethiopia
T
Telebirr
Ethio Telecom mobile money
A
Awash Bank
Private bank
D
Dashen Bank
Super App
M
M-Pesa
Safaricom Ethiopia
B
Bank of Abyssinia
Private bank
E
eBirr
COOPay · KAAFI · Nib · Wegagen · Ahadu

Stop chasing screenshots.

If you've ever sold anything online in Ethiopia, this list looks familiar.

😩

Without qbirr

  • Customer screenshots their SMS, you squint at it
  • They reuse old transaction refs — you ship for free
  • Edited screenshots are indistinguishable from real ones
  • "Did they pay me or someone with a similar name?"
  • 3 AM messages: "I paid, where's my order?"
  • Manual verification kills weekends and scaling

With qbirr

  • Customer pastes the ref, you verify in <500ms
  • Refs can only be used once per merchant — no replays
  • Direct from the bank's receipt URL — uneditable
  • Strict receiver-name match blocks wrong-account transfers
  • Auto-complete orders 24/7, even while you sleep
  • Same API for all 7 providers — code once

Why qbirr

Built for Ethiopian commerce.

Every detail tuned for how money actually moves here.

Real-time receipts

Direct from each bank's receipt URL — no SMS forwarding, no upload-screenshot UX.

🏦

7 providers, one API

CBE, Telebirr, Awash, Dashen, M-Pesa, Bank of Abyssinia, eBirr (COOPay/KAAFI/Nib/Wegagen/Ahadu).

🛡️

Receiver-name match

Strict normalised match prevents the "paid the wrong account" scam.

💰

Amount tolerance

Overpayment passes. Underpayment ≤ 10 ETB tolerated. Configurable per merchant.

🔒

Duplicate detection

Each transaction reference can only be verified once per merchant — no replay attacks.

🌍

Geo-block bypass

Telebirr & M-Pesa only respond to Ethiopian IPs. We handle that for you.

🧰

SDKs everywhere

Node.js, Python, PHP, Go. Plus raw HTTP examples for Ruby, .NET, Java, Rust.

💸

Invoice billing

No card needed. We invoice in ETB; you pay via CBE/Telebirr/Awash. Auto-activated within hours.

📊

Usage analytics

Per-provider breakdowns, live quota meter, full call log with response times.

How it works

Three steps. No banking license.

1

Customer pays

They use any of the 7 supported apps to transfer to your bank/wallet.

2

They paste the ref

At your checkout, they enter the transaction reference from the SMS or app.

3

qbirr verifies

Your server POSTs to verify.qbirr.com. We confirm in milliseconds. Order completes.

Supported providers

Every major rail in Ethiopia.

If your customers can pay with it, we probably verify it.

C
CBE
Commercial Bank of Ethiopia
T
Telebirr
Ethio Telecom mobile money
A
Awash Bank
Private bank
D
Dashen Bank
Super App
M
M-Pesa
Safaricom Ethiopia
B
Bank of Abyssinia
Private bank
E
eBirr
COOPay · KAAFI · Nib · Wegagen · Ahadu

Don't see your bank? Tell us — we add new providers based on demand.

Use cases

Wherever money meets internet.

🛒

E-commerce stores

WooCommerce, Shopify, custom carts. Drop in our SDK or plugin. Auto-complete orders the moment payment lands.

🤖

Telegram & Discord bots

Sell digital goods, subscriptions, premium content. Bot asks for the ref, calls our API, unlocks instantly.

📱

Mobile apps

Native, Flutter, React Native — make one HTTPS call from your backend. Done.

🎟️

Event ticketing

Issue tickets only after payment is confirmed on-chain… er, on-bank.

🏘️

Rental & booking

Verify deposit and balance payments. Skip the back-and-forth.

❤️

Donations & crowdfunding

Real-time progress bars only count money that actually arrived.

Early access

What teams are saying.

Real feedback from beta merchants. Names anonymised by request.

"

We stopped doing manual verification on weekend nights. That alone pays for itself.

F
Founder
Addis-based e-commerce store
"

The receiver-name check caught two payments to a similarly-named account. Direct save.

C
CTO
Logistics SaaS
"

Telebirr verification from our USA server just works. We don\'t even think about it.

E
Engineer
Diaspora services platform

Built for developers

Five SDKs.
Same shape everywhere.

Node, Python, PHP, and Go SDKs maintained by us. Plus working cURL examples for Ruby, .NET, Java, and Rust. Same request, same response, zero translation gymnastics.

npm @qbirr/sdk
pip qbirr
composer qbirr/sdk
go get github.com/qbirr/sdk-go
Browse the docs →
import { Qbirr } from '@qbirr/sdk';

const qb = new Qbirr({
  apiKey: process.env.QBIRR_API_KEY,
});

const r = await qb.verify({
  provider: 'cbe',
  ref: 'FT23001234ABC',
  amount: 500,
  receiverName: 'YOUR NAME',
  receiverAccount: '1000017692643',
});

if (r.verified) {
  // ✓ paid by r.payer
  order.complete();
}

Pricing

Free until you scale.

Start free with 50 verifications/month. No card needed. Upgrade when you outgrow it — invoiced in ETB, paid via bank transfer.

Free
Free
50/mo
Starter
ETB 500
1,000/mo
Pro
ETB 2,000
10,000/mo
Scale
ETB 8,000
100,000/mo
See full pricing →

FAQ

Common questions.

Is qbirr affiliated with CBE, Telebirr, or any bank? +

No. qbirr is independent. We fetch the same public receipt pages and APIs that the banks themselves expose to customers, then parse them on your behalf.

What if a customer underpays by a small amount? +

You decide — by default, underpayments up to 10 ETB pass (the tolerance accounts for rounding and tiny fees). Anything more fails verification with a clear error message. We can raise or lower the tolerance per-merchant on request.

Can a customer reuse someone else\'s transaction reference? +

No. Each reference can only be verified once per merchant. Once you\'ve marked an order as paid against a ref, that ref is permanently locked from your account.

Do you handle the money? +

Never. The money goes directly into your bank/wallet account, exactly as it does now. qbirr only verifies that the transfer actually happened and matches what you expected.

How does this work for Telebirr / M-Pesa from outside Ethiopia? +

Both providers geo-block their receipt URLs to Ethiopian IPs. We route those verifications through our Ethiopian relay automatically — your server in Frankfurt, New York, or Singapore just calls our API as normal.

What about international cards (Visa/Mastercard)? +

qbirr is for Ethiopian rails (banks + mobile money). For Visa/Mastercard you want Stripe, Paddle, or Chapa.

Can I self-host? +

Yes — we have a self-hosted WordPress plugin if you only need verification on a single site. The hosted SaaS gives you multi-site usage, unified billing, SLA, and auto-updates.

What happens if a provider\'s receipt page is briefly down? +

We return a network error and don\'t deduct from your quota. Retry-after a few seconds works almost always. We monitor every provider 24/7.

How is my data handled? +

We store transaction references and amounts for billing and audit (per Ethiopian fintech norms). We never see or store your customers\' funds or your bank credentials. Full data-retention details in our privacy policy.

Ready to stop
chasing payments?

50 free verifications per month, forever. No credit card, no contract.