Licensing and payments for software vendors
Sell your software, and get paid where you are.
Licences that stop working when the subscription stops, and a payment provider chosen per market instead of once and forever.
Open-source engine · five payment providers, chosen per market · client SDKs in nine languages
The problem, stated plainly
Every licensing service assumes one payment world.
Usually the American one, occasionally the European one. If your customers are somewhere else, the advice you get amounts to moving your company first.
The question with no good answer today: “My customers pay from a mobile-money wallet. My bank is in Lagos. Your checkout wants a card and settles to a US account. How do I sell?”
And it compounds. The same vendor, once they have customers at home, wants customers in Europe too — which means a second provider, a second integration, and VAT they are not set up to handle.
Sawabona treats the payment provider as a swappable part. You choose per market. Nothing else in your product changes.
Five providers, one seam
You keep your payment account, your customers, and your money.
A provider is configuration, not a platform decision. Connect the one that reaches your market — or several, and let each customer meet the one that fits them.
Card processors
Stripe and Mollie. You are the seller, you hold the customer relationship, and the money settles into your account. Tax is your own duty.
Merchant of record
Paddle sells to your customer on your behalf and takes on the VAT. It costs more per sale, and it is how a small team sells into the EU without registering anywhere.
Mobile money
PayStack and Flutterwave reach wallets, not only cards, and price in the local currency. A wallet does not hold euros, and a checkout that insists on them loses the sale.
A flat subscription, whatever you sell. The price is the plan you are on, not a share of your revenue, and it does not move when you grow. Which provider takes the money, in which currency, into which account, stays your decision — per market, and changeable.
What it actually enforces
A licence that stops working when the subscription stops.
The line vendors forget. A licence that is issued and never revoked is a subscription business with no exit.
Define
Your products and plans, with the limits that matter to you: seats, machines per seat, features, environments.
Sell
Your customer pays through your provider. The licence is issued for the period they paid for, and delivered to them.
Check
Your application validates the key. Expired, revoked, or past its activation limit, and it is refused.
Test keys never see live licences. The two environments are separated inside the engine, so a staging build cannot read or activate a customer's real entitlement by accident.
What a seat means is your decision, not ours. Sawabona carries the rule you set and refuses when it cannot. It does not invent a limit — a licensing service that quietly guesses is one that will eventually cut off a paying customer for a reason nobody can explain.
If your customers are audited
Every entitlement change can go into an evidence log.
The engine already signs an event when a licence is issued, revoked, rotated, transferred, or when a machine is released. A separate program can write each one into an append-only, signed chain your customer verifies offline, years later.
It answers a question an administration screen cannot: was this software allowed to run on 12 March? A screen shows today. An entry written when it happened, that nobody could alter afterwards, shows that day.
The engine records what it did — it does not watch your software, so a sealed revocation is not evidence that anything stopped running. The sealing belongs to Litatoli, sold separately, and nothing here needs it.
Subscribe an endpoint to it, or do not. That is the whole of the decision.
Open core
You can read the thing that gates your product.
The engine is open source under Apache 2.0. Every closed licensing service asks your security team to take that on trust instead.
It matters most with the buyers who are hardest to win. A team going through SOC 2 or ISO 27001 has to explain what decides whether their software runs, and “a supplier's closed service” is a harder sentence to write than a repository they can read.
Client SDKs are generated from one API description into nine languages, so the language you build in is not a reason to wait.
Flat, and never a share of your revenue
A flat subscription. It does not grow when you do.
Your payment provider stays yours, and so do your rates. Money goes from your customer to your account; we are not on that path. You pay for the service, not a share of your revenue.
Prism
- One product, one payment provider
- Licences, activations, expiry
- Self-serve console
- The engine, source available
Alchemy
- Everything in Prism
- Several products and plan ladders
- Customer billing portal and webhooks
- Licence audit log
Harmony
- Everything in Alchemy
- Every payment provider — mobile money and merchant of record included
- Unlimited products
- Your name on the licence keys and the billing portal, not ours
Sovereignty
- Everything in Harmony
- Dedicated deployment in your region
- Custom SLA
- Contractual support
Your provider's fees are between you and them. We never hold or settle your money, so there is nothing for us to take a cut of.
Launch pricing. If it is wrong for your situation, say so — we would rather hear it now than model it.
Already a customer? Change your plan or download your invoices, or sign in to your console.
Two ways to start