The simpler way to get paid in Ethiopia.
Accept telebirr, CBE Birr, M-PESA, bank accounts and cards with one integration. Then send payouts, sell online and track every birr from one dashboard.
Test mode is ready the moment you sign up. Paperwork comes when you go live.
Every way Ethiopia pays, on one checkout
Mobile wallets, bank accounts and cards. Payouts go back out to all four local methods.
telebirr
CBE Birr
M-PESA
CBE accountVisa
Mastercard
Products
Everything a business needs to get paid
Start with a link you can share in a minute, or build a full checkout into your app. It is the same Sabi account either way.

Hosted checkout
One page. Every way to pay.
Send a customer to Sabi's checkout and they pay with telebirr, CBE Birr, M-PESA, a CBE account or a card. You get the money in your balance and a signed callback the moment it settles.
Learn more
Payment links
Share a link. Get paid.
Create a payment page in the dashboard, with a fixed price or an amount the payer chooses, and share its link. Every person who opens it gets their own payment.
Learn more
Storefront
Your online shop, ready today.
List products with prices, photos and stock, share the shop's link, and take orders paid through Sabi. Discounts, fulfilment and refunds are handled from the same dashboard.
Learn more
Events & ticketing
Sell tickets. Check people in.
Publish an event page with ticket types, prices and limits. Buyers pay through Sabi and get an order page with the code you check at the door.
Learn moreMove money
Every birr accounted for, in and out
Your Sabi balance is where payments land and where payouts leave from. Every movement has a line on your statement and a reason next to it.
- Pay up to 500 people from one spreadsheet, with every row checked before any money moves.
- Refund in full or in part, straight back to the account the customer paid from.
- Give partners their share of a sale as it settles, not at the end of the month.
- Send money to another Sabi business instantly with their merchant ID.
- Choose the day your takings leave for your bank, and the float to keep back for refunds.
Balance · today
EXAMPLE| Time | Movement | ETB |
|---|---|---|
| 09:12 | Payment · telebirrORDER-10482 | +1,250.00 |
| 10:40 | Payment · CBE accountORDER-10483 | +4,800.00 |
| 11:05 | Refund · telebirrORDER-10471 | −300.00 |
| 14:30 | Bulk payout · 18 rowsPAYROLL-09 | −5,400.00 |
| 16:02 | B2B transfer receivedINV-2231 | +2,000.00 |
| Net movement | +2,350.00 | |
Getting started
From sign-up to your first payment
Nothing to install and nothing to wait for before you can try it.
- 01
Sign in with your phone
Enter your mobile number and the code we text you, or continue with Google. No password to invent, and your business is set up in the same step.
+251 912 345 678 - 02
Build in test mode
Create test keys as soon as you sign up. Take payments, send payouts and receive callbacks with test money that never touches a real account.
Test mode · tpk_sandbox_… - 03
Go live
Send your legal name, TIN, trade licence and address from Manage Business. Once your business is verified, your live keys start taking real money.
Live · tpk_live_…
Developers
One API call to your first checkout
Create a payment, send your customer to the checkout link, and act on the signed callback. Plain HTTPS and JSON, with nothing to install.
Idempotent by your reference
Repeat a request with the same external_reference and you get the same payment back. A retry never moves money twice.
One error shape
Conventional status codes and a stable error code to branch on, with a request ID you can quote to support.
Declines you can test
In the sandbox an account number ending in 0000 is declined, so you can build the failure path before you need it.
curl "$SABI_URL/v1/payments" \
-H "Authorization: Bearer $SABI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": "1250.00",
"currency": "ETB",
"type": "payment",
"external_reference": "ORDER-10482",
"payer_name": "Hanna Bekele",
"narrative": "Yirgacheffe, 500 g x 2"
}'Security
Built to be trusted with other people's money
Safeguards that are part of how Sabi works, not settings you have to find.
Signed callbacks
Every callback is signed with HMAC-SHA256 over the timestamp and the exact bytes sent, so one captured on the wire cannot be replayed later. Deliveries are retried with backoff and carry an ID that stays the same across them.
Test and live kept apart
Test and live are separate books with separate keys. Test money can only ever move to other test balances.
Businesses verified before live
Live payments open only after a business's legal name, TIN, trade licence and address have been reviewed.
Balances that cannot go negative
Payouts, refunds, transfers and chargebacks are checked against what a merchant can spend, and the database itself refuses a posting that would overdraw.
Keys we cannot read
API keys are stored only as a peppered hash, never in a form that can be read back. A revoked key stops working immediately.
No passwords to steal
Merchants sign in with a one-time code sent to their phone or with Google, and each code allows only five guesses. A business can require an authenticator code on top, for itself or for a colleague.

Start in test mode today
Sign up with your phone number and take a test payment in minutes. When you are ready for real money, send us your business details from the dashboard.