How to price software you sell as a license
Price a non-exclusive software license around the scope a Buyer can use, modify, and deploy. You can sell the same license again, here and elsewhere. Every completed sale carries a commission: 25% on a Discovery sale, or 8% plus $0.50 on a qualifying Direct sale. The gap between what a Buyer avoids and what they still have to do is where the price lives.
What you're selling
A non-exclusive, worldwide, perpetual license to use, modify, and deploy your software. Under the license terms, Buyers can't resell it, sub-license it, or redistribute it as a product of their own. The same software can be licensed again.
This distinction shapes pricing. The price reflects the stated, delivered scope of one license purchase. What selling a license actually means covers the licensing structure if you want the full picture before you set a number.
Build the worksheet from the Buyer's side
Start by stating the scope of the license. Then consider what work a Buyer can avoid and what they still need to do.
Estimate the hours the Buyer avoids, then subtract the work they still have to do. A Buyer who buys your software still has to read it, understand the structure, configure it for their environment, adapt integrations to their stack, and handle their own dependencies. That's real work. The price fits the gap.
For each part your listing actually delivers, use this worksheet to map both sides before you name a number:
| What the listing covers | Buyer avoids | Buyer still does |
|---|---|---|
| Core functionality | Building and debugging it | Reviewing the code and verifying it matches the listing |
| Auth and accounts | Designing and implementing it | Configuring it for their domain or identity provider |
| Deployment | Writing deploy scripts and a README | Provisioning their own infrastructure |
| External integrations | Wiring up the listed APIs | Swapping in their own API keys and account setup |
| Documentation | Writing the README | Reading, running, and verifying it works |
If the "Buyer still does" column is large for your listing, the gap narrows and the price should reflect that. If the software runs on day one with minimal adaptation, the gap is wider. Both describe the scope a Buyer receives.
What to sell on Zero to Hundred covers writing an honest scope, which is the same discipline as pricing one.
Compare against what the Buyer's alternatives cost
You're not the only option. A Buyer has three practical alternatives:
Free and open-source alternatives. If one exists with similar scope, compare what it delivers. That includes documentation quality, deploy-readiness, and whether they'd spend a week integrating an open-source library versus getting a working baseline. Your price reflects what you add.
A monthly SaaS. Compare the license price alongside the hosting, services and maintenance the Buyer would need. A one-time source license doesn't eliminate those costs. Your listing needs to make the deployment model and customization rights clear.
Building it themselves. The checklist for evaluating software before buying is what a careful Buyer runs before committing. The Buyer still needs to perform that evaluation. Show which requirements the delivered software meets and which tasks remain.
Other Builders' listings show the prices they ask. Use completed-sale evidence when it is available, and compare the scope against your own worksheet before choosing a starting price.
What you keep after commission
The commission comes out of your payout. The Buyer always pays the listed price.
The Direct rate applies when a Buyer arrives through your valid signed listing or Seller profile share link. The first valid Seller-link touch counts for 30 days. Everything else, including marketplace search and browsing, is a Discovery sale. The $0.50 fixed fee is part of the Direct commission. See pricing for current rates and how commission is calculated.
These are illustrative examples showing what the arithmetic produces. "Builder keeps" is after platform commission only, not after taxes, your own costs, or payout timing:
| Sale source | Illustrative gross | Commission | Builder keeps |
|---|---|---|---|
| Discovery | $100 | $25.00 (25%) | $75.00 |
| Qualifying Direct | $100 | $8.50 (8% + $0.50) | $91.50 |
| Discovery | $200 | $50.00 (25%) | $150.00 |
| Qualifying Direct | $200 | $16.50 (8% + $0.50) | $183.50 |
A $100 Discovery sale and a $100 qualifying Direct sale produce different Builder proceeds: $75.00 versus $91.50. The dollar difference between the two tiers widens with gross price. Use your listing or profile share link when you bring your own audience.
How to test a starting price
- Write down one starting price, the included functionality, and the setup work left to the Buyer. Keep that scope fixed while you observe the response.
- Record the date and the evidence available to you: listing visits, questions from prospective Buyers, and completed sales. A small sample supports a tentative decision.
- If the listing gets few visits, work on visibility first. The reasons a built app gets no Buyers covers that problem. Repeated scope questions point to details the listing should explain.
- Change one thing: the explanation, the delivered scope, or the price. Record what changed and compare the next observations against the same worksheet. Keep the date and any limits in your notes.
What the listing has to state
Every sale is final. The Buyer has 24 hours after delivery to report a factual problem, such as misrepresentation or a bug that stops the software from working. Your payout is held for 72 hours so a report filed in that window can be reviewed before any money moves.
A limitation you disclose in the listing is information the Buyer priced in. A limitation they find after buying can be grounds for a report. So say what works and what doesn't. State what support, if any, you'll provide. Don't promise updates you won't ship or support you won't deliver.
The listing copy and the price are the same decision. If the scope is modest, say so and price it that way. If the scope is broad and well-documented, that's the case you make in the listing. Set the price to match that scope.