0saas

Job ticket 941012 · smb · tariff board · no subscription

Paddle has no monthly fee. The page prints 5% + 50¢ per Checkout transaction — so the only thing left to displace is your own pricing page.

No free plan, no seat pricing, no migration fee: '5% + 50¢ per Checkout transaction', with tax compliance, fraud handling, billing and support all in that rate. What is not on the page is the sheet you would otherwise write by hand, and the division that tells you whether the price works.

Paddle is a trademark of Paddle.com Market Ltd. This is an independent, unaffiliated comparison built on Paddle's own published pricing page, linked below and re-read every thirty days. No payment, payout or financial data is handled by this page.

The tariff board — rendered in this browser

Source: noneRendered: 0Uploaded to 0saas: nothing

Sample data is illustrative, not a claim about Paddle. Every Paddle figure on this page comes from the linked pricing page, read 2026-09-28.

The prompt pack

Two prompts, each mapped one-to-one onto a Paddle feature you are currently rationed on. Run them from this page with a free key, or copy them into any free chat model — the text is identical either way, and it is printed in full at the bottom of this section so it survives this site.

Loading the pack from tools.json… If this fails, the full prompt text is still readable below.

One-time unlocks only, never a subscription. If a price ever appears here it was read from Stripe in that request, not typed by hand. An unlock is client-side gating, not secure payment verification: it is stored in this browser and cannot prove payment to anyone else.

What Paddle's own pricing page says

Read from paddle.com/pricing — pay-as-you-go, custom pricing, the printed comparison on 2026-09-28. Fields we could not read are marked unconfirmed rather than filled in with a plausible number.

What Paddle meters, and what the board hands over — verified 2026-09-28
The jobPaddle's own pricing page (read 2026-09-28)What it costsThis page + a free-tier model
A standing subscriptionNone printed, and no monthly feeUS$0Nothing to cancel here
Each transaction5% + 50¢, all-inclusive5% + 50¢ per CheckoutThe division on your own price, shown in full
Tax, fraud, billing, supportIncluded in that rateIncludedOut of scope: no model can do these for you
Your pricing page and its mathsNot a product featureNot soldThree tiers with exclusions, and the economics

What this replaces, and what it does not

A displacement claim you cannot substantiate is a lie with good typography. This is the whole scope, including the parts where Paddle wins.

A pricing page you can publish

Three tiers, each naming what is in it, what is deliberately excluded and the one thing that moves a customer up — plus the annual-versus-monthly division and the checkout strings.

The boundary you can support

The top tier is bounded by what you can actually service at today's volume. With no support limit stated, the sheet prints [NEEDS DECISION: the support ceiling] instead of a flattering number.

The division, every time

Price, the printed 5%, the printed 50 cents, the remainder — at three volumes, with every figure shown so the arithmetic can be checked rather than trusted.

This page takes no money and is not a merchant of record

No payment is processed, no subscription is created, no invoice is issued, no payout happens, no tax is registered or filed, and no financial data is transmitted to us. If you need a merchant of record, that is a legal and banking decision, and Paddle's page describes theirs.

No comparison of payment providers

The page reproduces Paddle's own comparison table as Paddle's characterisation, and makes no claim about any other provider's pricing. Read another provider's numbers on that provider's own site.

Not financial, legal or tax advice

A division of your own numbers is arithmetic. Anything about registration, liability, revenue recognition or employment belongs with a professional who carries the consequences.

The prompts, in full, as text

Copy these into any model. They are the product; the page around them is convenience. Each block is the exact system prompt the interactive runner sends, plus the user-message template.

Prompt 01 — 1. Plan sheet · paddle-plan-sheet v1.0.0 · best ally: OpenRouter — :free model variants · openai/gpt-oss-120b

Replaces: The pricing page you would otherwise write by hand: three tiers, what is in each, the boundary that stops a customer self-upgrading past what you can support, the annual-versus-monthly framing, and the strings a customer reads at checkout.

Why this model: Three tiers that must be genuinely distinguishable, with copy that stays in one voice across nine cells, is a long structured composition; a larger free instruct model keeps the boundary of the top tier consistent all the way down the sheet. Fallback ally: Groq Cloud — free tier.

System prompt (2431 chars):

You are the tariff board of a small software business. The founder hands you what the product is, what it costs to run, and who buys it, and you return a pricing sheet: three tiers, what is in each, the boundary that separates them, the annual-versus-monthly framing, and the copy a customer reads at the checkout button. You are writing for a person with a credit card, not for a competitor. Every tier must be a decision a customer can make, and the boundary must be one the founder can actually support.

Return ONLY one JSON object. No markdown fences, no commentary, no preamble.

{
  "kicker": string (max 8 words),
  "headline": string (max 8 words),
  "subhead": string (max 20 words),
  "rows": [ { "label": string (the line item), "value": string (the finding, quote or number) } ],
  "stat": { "value": string (one count or price, digits), "label": string (max 12 words, what the number is) },
  "footnotes": [ string (one short footnote per assumption made) ]
}

Hard rules:
1. Return exactly three tiers. Fewer leaves a customer unable to choose; more is a pricing page nobody reads.
2. Each tier's rows must list what the customer gets, what is deliberately excluded, and the one thing that would make a customer move up — never a feature list with no exclusion, because an exclusion is what makes a boundary a boundary.
3. The boundary must be something the founder can support at today's volume, not a number chosen to look good. If the description gives no support limit, print [NEEDS DECISION: the support ceiling] in that row rather than inventing one.
4. Never invent a price. Every figure must come from the brief, and a tier with no stated price is printed as [NEEDS PRICE: which tier] with its contents still described.
5. The annual framing must be expressed as a saving against the monthly rate the founder gave, shown as the division, and never as a percentage the founder did not state.
6. The checkout strings must be plain: what happens, what they get, when they are charged, and how to stop. No urgency, no countdown, no 'limited time' unless the founder said so.
7. The footnote that matters is the one that names what the founder will not do at that price, in one sentence, in the founder's own words.
8. No emoji, no exclamation marks, no 'most popular' badge unless the founder asked for one, and no claim the product is better than an alternative. Write every string in the language of the brief.

User message template:

Write the pricing sheet for this product: What it is, what it costs to run, and who buys it: {{product}} What has already been decided about price, and what has not: {{pricing}}

Variables:

  • {{product}} — The product, its running costs, and who buys it (max 2200 chars) sample data shipped with the tool
  • {{pricing}} — What is already decided about price, and what is not (max 1400 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "rows" ], "properties": { "kicker": { "type": "string" }, "headline": { "type": "string" }, "subhead": { "type": "string" }, "rows": { "type": "array", "minItems": 1, "maxItems": 40 }, "stat": { "type": "object" }, "footnotes": { "type": "array" } } }

Decoding: temperature 0.7 · max 2200 output tokens · responseMimeType application/json · budget ~600 in / ~1,000 out for three tiers · cost per run: 1 request against a free OpenRouter daily pool; the relay floor needs no key at all.

Prompt 02 — 2. Unit economics bench · paddle-unit-economics v1.0.0 · best ally: OpenRouter — :free model variants · gemini-2.5-flash-lite

Replaces: The division no pricing page does for you: what a sale nets after 5% and 50¢, what a year nets at three volumes, and where the fixed costs actually bite — the arithmetic behind the price, on your own numbers.

Why this model: This is division plus one judgement per line, over a short set of the founder's own numbers, and it will be re-run every time a price or a volume changes; a fast free model keeps that habit affordable, which is what makes the sheet stay true. Fallback ally: OpenRouter — :free model variants.

System prompt (2302 chars):

You are the economics bench of a small software business. The founder hands you their price, their costs and the volumes they actually see, and you return a unit-economics sheet: what one sale nets, what a year nets at three volumes, where the fixed costs bite, and the single number that would have to change for the business to be worth more. You show every division. You never invent a cost, a volume or a conversion rate, and you never recommend a price — you show the arithmetic and let the founder decide.

Return ONLY one JSON object. No markdown fences, no commentary, no preamble.

{
  "kicker": string (max 8 words),
  "headline": string (max 8 words),
  "subhead": string (max 20 words),
  "rows": [ { "label": string (the line item), "value": string (the finding, quote or number) } ],
  "stat": { "value": string (one count or price, digits), "label": string (max 12 words, what the number is) },
  "footnotes": [ string (one short footnote per assumption made) ]
}

Hard rules:
1. Every number must come from the brief or from the printed rate supplied. A missing input is printed as [NEEDS INPUT: what is missing] and the rest of the sheet still runs; it is never estimated.
2. Show the division for every figure: the sale price, the 5% and the 50 cents, and what is left. A net number with no division shown is a failure of this desk.
3. The rows must cover three volumes the founder supplied or that follow directly from their numbers — a low, a middle and a high month — and state the assumption behind each in the footnotes.
4. The stat is one number in digits with a label of at most twelve words: the thing that would have to change for the business to be worth more. If nothing in the inputs points at one thing, set the value to 'no single lever' and explain in the footnotes.
5. Never model a conversion rate, a churn rate, a growth rate or a lifetime value unless the founder supplied the number. Forecasting is not this desk's job.
6. Never recommend a price, a plan or a provider. The sheet shows what a decision would do; the founder decides.
7. Every footnote must name an assumption and what it would change. An empty footnotes list is a failure.
8. No emoji, no exclamation marks, and no money figure without its currency. Write every string in the language of the brief.

User message template:

Run the division for this business: The price, the costs, and the volumes we actually see: {{numbers}} What the transaction costs us, as the provider prints it: {{fees}}

Variables:

  • {{numbers}} — Your price, your costs, and the volumes you actually see (max 1800 chars) sample data shipped with the tool
  • {{fees}} — What the transaction costs, as the provider prints it (max 600 chars) sample data shipped with the tool

Output schema (the answer must match this exactly):

{ "type": "object", "required": [ "rows" ], "properties": { "kicker": { "type": "string" }, "headline": { "type": "string" }, "subhead": { "type": "string" }, "rows": { "type": "array", "minItems": 1, "maxItems": 40 }, "stat": { "type": "object" }, "footnotes": { "type": "array" } } }

Decoding: temperature 0.4 · max 1800 output tokens · responseMimeType application/json · budget ~400 in / ~700 out for the full division · cost per run: 1 request against the Gemini free tier; no per-minute spend, no card on file.

Questions worth asking before you cancel

Paddle has no free plan — so what is the alternative, really?

The transaction is Paddle's and cannot be replaced by a model, and the page says so in its first scope row. What is left in front of that transaction is your pricing page and the arithmetic behind it — and those are the things a first-quarter software business actually spends its time on. It is a narrow displacement, and it is stated as one.

Is 5% plus 50 cents a lot?

That depends entirely on your price and your volume, which is why the second prompt is a division rather than an opinion. At a US$20 sale the fixed 50 cents is a real cost; at US$200 it is a rounding error. The sheet shows the number at three volumes you supply and makes no recommendation about your price.

What about the under-$10 footnote on their page?

It is printed and it matters: 'If you're selling products under $10 or require invoicing, contact us for custom pricing.' The sheet carries that as a real constraint on a three-tier plan sheet — below ten dollars a month, tiers are a harder problem than they look.

Where do the other providers' percentages come from?

Paddle's own comparison table, which quotes add-on percentages and a '~7% and above' total. Those are Paddle's characterisation of the market on Paddle's page, reproduced here as such. This page makes no independent claim about any other provider's pricing.

Does it work without an API key?

Yes. Copy the printed prompt into any free chat model, paste the JSON back, and the sheet renders here with the same rows, the same one number and the same footnotes.

Nothing is loaded from X or LinkedIn until you click, and no share is counted, logged or reported back to us — the buttons are plain links to each network's own share page.

Next on the ledger