{"openapi":"3.1.0","info":{"title":"Pricing Math","version":"1.0.0","description":"Markup and margin, break-even, discount stacking, tiers, price rounding, bundles, MRR and fee-inclusive pricing. One call, one computed answer, no accounts or API keys. Machine-payable over x402.","x-guidance":"Pricing Math: Markup and margin, break-even, discount stacking, tiers, price rounding, bundles, MRR and fee-inclusive pricing. Use /markup-margin to convert markup and margin and get a price, /break-even for units and revenue, /discount-stack for the effective discount of stacked discounts, /price-tiers for tiered pricing totals, /price-rounding for charm prices, /bundle-price for bundle savings, /subscription for MRR ARR churn and LTV, /tax-split for tax-inclusive or exclusive amounts and /fee-inclusive for the price that nets a target after a percentage plus fixed fee. Each paid GET returns a computed verdict with the reasons, the source and what was NOT checked. A verdict of UNVERIFIED means a lookup failed: treat it as unknown. No account or key: pay per call in USDC over x402."},"servers":[{"url":"https://pricing-math.x402tookit.com"}],"paths":{"/break-even":{"get":{"operationId":"break_even","summary":"Break-even units and revenue from fixed costs, price and variable cost per unit, with an optional profit target.","description":"Break-even units and revenue from fixed costs, price and variable cost per unit, with an optional profit target.","tags":["pricing","break-even","small-business"],"parameters":[{"name":"fixedCosts","in":"query","required":true,"description":"Total fixed costs for the period","schema":{"type":"number"}},{"name":"price","in":"query","required":true,"description":"Selling price per unit","schema":{"type":"number"}},{"name":"variableCost","in":"query","required":true,"description":"Variable cost per unit","schema":{"type":"number"}},{"name":"targetProfit","in":"query","required":false,"description":"Profit to reach in the same period (default 0)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"contributionPerUnit":{"type":["null","number"]},"contributionMarginPct":{"type":["null","number"]},"breakEvenUnits":{"type":["null","number"]},"breakEvenUnitsWhole":{"type":["null","number"]},"breakEvenRevenue":{"type":["null","number"]},"revenueAtWholeUnits":{"type":["null","number"]},"targetProfit":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"BREAK_EVEN_COMPUTED","summary":"Break-even at 1000 units (1000 whole units), revenue 25000.","reasons":["Contribution per unit is 10 (40% of price).","No profit target: this is the zero-profit point."],"contributionPerUnit":10,"contributionMarginPct":40,"breakEvenUnits":1000,"breakEvenUnitsWhole":1000,"breakEvenRevenue":25000,"revenueAtWholeUnits":25000,"targetProfit":0,"degraded":false,"notChecked":["step-fixed costs that jump at higher volume","demand: whether that many units can be sold","…1 more"],"source":"computed locally (units = (fixed + target profit) / (price - variable cost))","asOf":"2026-10-11T23:36:12.314Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/break-even"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/break-even"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/break-even"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/break-even"}}]}}},"/bundle-price":{"get":{"operationId":"bundle_price","summary":"Bundle price, savings and bundle margin from item prices plus either a bundle discount percent or a set bundle price.","description":"Bundle price, savings and bundle margin from item prices plus either a bundle discount percent or a set bundle price.","tags":["pricing","bundle","ecommerce"],"parameters":[{"name":"items","in":"query","required":true,"description":"Comma-separated individual item prices, e.g. 30,20,10","schema":{"type":"string"}},{"name":"discountPct","in":"query","required":false,"description":"Bundle discount percent off the item total. Give exactly one of discountPct or bundlePrice","schema":{"type":"number"}},{"name":"bundlePrice","in":"query","required":false,"description":"Fixed bundle price","schema":{"type":"number"}},{"name":"totalCost","in":"query","required":false,"description":"Your total cost of all items, to get bundle margin","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"itemCount":{"type":["null","number"]},"itemsTotal":{"type":["null","number"]},"bundlePrice":{"type":["null","number"]},"customerSavings":{"type":["null","number"]},"customerSavingsPct":{"type":["null","number"]},"averagePricePerItem":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"BUNDLE_CHEAPER_THAN_ITEMS","summary":"Bundle 51 versus 60 separately: customer saves 9 (15%).","reasons":["Buying the 3 items separately costs 60."],"itemCount":3,"itemsTotal":60,"bundlePrice":51,"customerSavings":9,"customerSavingsPct":15,"averagePricePerItem":17,"degraded":false,"notChecked":["whether customers want all items (cannibalisation of single sales)","tax and shipping","…1 more"],"source":"computed locally (bundle = item total x (1 - discount))","asOf":"2026-10-11T23:36:12.572Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/bundle-price"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/bundle-price"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/bundle-price"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/bundle-price"}}]}}},"/discount-stack":{"get":{"operationId":"discount_stack","summary":"Final price and effective discount when percentage discounts are stacked one after another, versus simply adding them.","description":"Final price and effective discount when percentage discounts are stacked one after another, versus simply adding them.","tags":["pricing","discount","ecommerce"],"parameters":[{"name":"price","in":"query","required":true,"description":"List price before discounts","schema":{"type":"number"}},{"name":"discounts","in":"query","required":true,"description":"Comma-separated percent discounts applied in order, e.g. 20,10","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"listPrice":{"type":["null","number"]},"finalPrice":{"type":["null","number"]},"effectiveDiscountPct":{"type":["null","number"]},"additiveDiscountPct":{"type":["null","number"]},"amountSaved":{"type":["null","number"]},"steps":{"type":["array","null"],"items":{"type":"object","properties":{"discountPct":{"type":["null","number"]},"from":{"type":["null","number"]},"to":{"type":["null","number"]}}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"STACKED_DISCOUNT_COMPUTED","summary":"100 after 20% then 10% is 72: effective discount 28% (adding them would claim 30%).","reasons":["Sequential stacking multiplies the remaining fractions, so the effective discount is always less than the sum of the parts."],"listPrice":100,"finalPrice":72,"effectiveDiscountPct":28,"additiveDiscountPct":30,"amountSaved":28,"steps":[{"discountPct":20,"from":100,"to":80},{"discountPct":10,"from":80,"to":72}],"degraded":false,"notChecked":["whether the store really stacks discounts sequentially (some apply them to list price)","tax and shipping","…1 more"],"source":"computed locally (each discount applies to the already-reduced price)","asOf":"2026-10-11T23:36:12.823Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/discount-stack"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/discount-stack"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/discount-stack"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/discount-stack"}}]}}},"/fee-inclusive":{"get":{"operationId":"fee_inclusive","summary":"Price to charge so you net a target after a percentage fee plus a fixed fee, with fees you supply. No fee table built in.","description":"Price to charge so you net a target after a percentage fee plus a fixed fee, with fees you supply. No fee table built in.","tags":["pricing","fees","marketplace","payments"],"parameters":[{"name":"targetNet","in":"query","required":true,"description":"Amount you want to keep after fees (your cost plus desired profit)","schema":{"type":"number"}},{"name":"feePct","in":"query","required":true,"description":"Percentage fee taken from the price (0 to below 100)","schema":{"type":"number"}},{"name":"fixedFee","in":"query","required":false,"description":"Fixed fee per sale (default 0)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"requiredPrice":{"type":["null","number"]},"requiredPriceRoundedUpToCent":{"type":["null","number"]},"feeAtRequiredPrice":{"type":["null","number"]},"netAtRoundedPrice":{"type":["null","number"]},"feeShareOfPricePct":{"type":["null","number"]},"naiveMarkupPrice":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"FEE_INCLUSIVE_PRICE_COMPUTED","summary":"Charge 100 (100.00 rounded up to the cent) to keep 89 after a 10% fee plus 1.","reasons":["Dividing by (1 - rate) is what makes the percentage fee come out of the final price; adding the fee rate on top would under-recover."],"requiredPrice":100,"requiredPriceRoundedUpToCent":100,"feeAtRequiredPrice":11,"netAtRoundedPrice":89,"feeShareOfPricePct":11,"naiveMarkupPrice":99,"degraded":false,"notChecked":["the real current fee schedule of any platform (you supplied the fees)","fees on shipping, tax or refunds","…2 more"],"source":"computed locally (price = (target + fixed fee) / (1 - fee rate))","asOf":"2026-10-11T23:36:13.076Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/fee-inclusive"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/fee-inclusive"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/fee-inclusive"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/fee-inclusive"}}]}}},"/markup-margin":{"get":{"operationId":"markup_margin","summary":"Convert markup to margin and back, and get the selling price, from a cost plus one of markup, margin or price.","description":"Convert markup to margin and back, and get the selling price, from a cost plus one of markup, margin or price.","tags":["pricing","markup","margin","ecommerce"],"parameters":[{"name":"cost","in":"query","required":true,"description":"Unit cost","schema":{"type":"number"}},{"name":"markupPct","in":"query","required":false,"description":"Markup on cost, percent. Give exactly one of markupPct, marginPct, price","schema":{"type":"number"}},{"name":"marginPct","in":"query","required":false,"description":"Gross margin on price, percent (below 100)","schema":{"type":"number"}},{"name":"price","in":"query","required":false,"description":"Selling price","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"cost":{"type":["null","number"]},"markupPct":{"type":["null","number"]},"marginPct":{"type":["null","number"]},"price":{"type":["null","number"]},"profitPerUnit":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"PROFITABLE","summary":"Cost 60 at 50% markup is 33.3333% margin: price 90, profit 30 per unit.","reasons":["Margin is profit divided by price; markup is profit divided by cost. A 50% markup is only a 33.33% margin.","margin = markup / (1 + markup); markup = margin / (1 - margin)."],"cost":60,"markupPct":50,"marginPct":33.333333,"price":90,"profitPerUnit":30,"degraded":false,"notChecked":["discounts, returns, shipping, payment fees and tax (they change real margin)","whether the price is achievable in your market"],"source":"computed locally (margin = markup / (1 + markup))","asOf":"2026-10-11T23:36:13.327Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/markup-margin"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/markup-margin"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/markup-margin"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/markup-margin"}}]}}},"/price-rounding":{"get":{"operationId":"price_rounding","summary":"Round a price to a charm ending such as .99 or .95, or to steps like 9 at the end of tens, up, down or nearest.","description":"Round a price to a charm ending such as .99 or .95, or to steps like 9 at the end of tens, up, down or nearest.","tags":["pricing","psychological-pricing","rounding"],"parameters":[{"name":"price","in":"query","required":true,"description":"Raw price to round","schema":{"type":"number"}},{"name":"ending","in":"query","required":false,"description":"Ending to land on within each step (default 0.99; use 0.95, 0.5, 0, or 9 with step 10)","schema":{"type":"number"}},{"name":"step","in":"query","required":false,"description":"Size of each rounding cell (default 1; use 10 for endings like 49, 59, 69)","schema":{"type":"number"}},{"name":"direction","in":"query","required":false,"description":"nearest (default, ties go down), down or up","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"inputPrice":{"type":["null","number"]},"roundedPrice":{"type":["null","number"]},"changeAmount":{"type":["null","number"]},"changePct":{"type":["null","number"]},"pricePointBelow":{"type":["null","number"]},"pricePointAbove":{"type":["null","number"]},"step":{"type":["null","number"]},"ending":{"type":["null","number"]},"direction":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"ROUNDED_DOWN","summary":"12.34 rounds nearest to 11.99 (change -0.35).","reasons":["The nearest price points are 11.99 below and 12.99 above."],"inputPrice":12.34,"roundedPrice":11.99,"changeAmount":-0.35,"changePct":-2.8363,"pricePointBelow":11.99,"pricePointAbove":12.99,"step":1,"ending":0.99,"direction":"nearest","degraded":false,"notChecked":["whether charm pricing actually lifts conversion for your product (test it)","marketplace or legal price-display rules","…1 more"],"source":"computed locally (candidates are k x step + ending, in whole cents)","asOf":"2026-10-11T23:36:13.577Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/price-rounding"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/price-rounding"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/price-rounding"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/price-rounding"}}]}}},"/price-tiers":{"get":{"operationId":"price_tiers","summary":"Total and average unit price for a quantity under graduated or volume tiers given as minQty:unitPrice pairs.","description":"Total and average unit price for a quantity under graduated or volume tiers given as minQty:unitPrice pairs.","tags":["pricing","tiered-pricing","volume-discount"],"parameters":[{"name":"tiers","in":"query","required":true,"description":"Comma-separated minQty:unitPrice, first minQty 1, e.g. 1:10,10:9,50:8","schema":{"type":"string"}},{"name":"quantity","in":"query","required":true,"description":"Whole number of units bought","schema":{"type":"number"}},{"name":"mode","in":"query","required":false,"description":"graduated (default: each band at its own price) or volume (all units at the reached tier price)","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"mode":{"type":["null","string"]},"quantity":{"type":["null","number"]},"total":{"type":["null","number"]},"averageUnitPrice":{"type":["null","number"]},"breakdown":{"type":["array","null"],"items":{"type":"object","properties":{"fromQty":{"type":["null","number"]},"toQty":{"type":["null","number"]},"units":{"type":["null","number"]},"unitPrice":{"type":["null","number"]},"subtotal":{"type":["null","number"]}}}},"otherModeTotal":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"TIER_PRICE_COMPUTED","summary":"60 units under graduated tiers cost 538 (8.9667 each).","reasons":["Graduated mode: each band of units is charged at its own tier price.","The other mode would total 480."],"mode":"graduated","quantity":60,"total":538,"averageUnitPrice":8.966667,"breakdown":[{"fromQty":1,"toQty":9,"units":9,"unitPrice":10,"subtotal":90},{"fromQty":10,"toQty":49,"units":40,"unitPrice":9,"subtotal":360}],"otherModeTotal":480,"degraded":false,"notChecked":["whether a vendor's real price list uses graduated or volume tiers (read its terms)","tax, shipping and minimum order values"],"source":"computed locally (tier bands summed, or whole quantity at the reached tier)","asOf":"2026-10-11T23:36:13.829Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/price-tiers"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/price-tiers"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/price-tiers"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/price-tiers"}}]}}},"/subscription":{"get":{"operationId":"subscription","summary":"MRR, ARR, customer lifetime, annualised churn and LTV from customers, ARPU and monthly churn, with optional CAC payback.","description":"MRR, ARR, customer lifetime, annualised churn and LTV from customers, ARPU and monthly churn, with optional CAC payback.","tags":["pricing","subscription","mrr","ltv","churn"],"parameters":[{"name":"customers","in":"query","required":true,"description":"Current paying customers","schema":{"type":"number"}},{"name":"arpu","in":"query","required":true,"description":"Average monthly revenue per customer","schema":{"type":"number"}},{"name":"monthlyChurnPct","in":"query","required":true,"description":"Monthly customer churn, percent (above 0, up to 100)","schema":{"type":"number"}},{"name":"grossMarginPct","in":"query","required":false,"description":"Gross margin percent applied to LTV (default 100)","schema":{"type":"number"}},{"name":"cac","in":"query","required":false,"description":"Customer acquisition cost, for LTV:CAC and payback","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"mrr":{"type":["null","number"]},"arr":{"type":["null","number"]},"averageLifetimeMonths":{"type":["null","number"]},"annualisedChurnPct":{"type":["null","number"]},"ltv":{"type":["null","number"]},"grossMarginPct":{"type":["null","number"]},"ltvToCac":{"type":["null","number"]},"cacPaybackMonths":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"LTV_TO_CAC_AT_OR_ABOVE_3","summary":"MRR 10000, ARR 120000, LTV 800 per customer over about 20 months.","reasons":["Average lifetime is 1 / monthly churn; annual churn compounds as 1 - (1 - c)^12.","LTV:CAC is 4; the common rule of thumb is 3 or more. CAC pays back in 5 months."],"mrr":10000,"arr":120000,"averageLifetimeMonths":20,"annualisedChurnPct":45.964,"ltv":800,"grossMarginPct":80,"ltvToCac":4,"cacPaybackMonths":5,"degraded":false,"notChecked":["expansion or contraction revenue, discounts and annual-plan timing","whether churn is constant over a customer's life (it usually is not)","…1 more"],"source":"computed locally (LTV = ARPU x gross margin / monthly churn)","asOf":"2026-10-11T23:36:14.081Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/subscription"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/subscription"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/subscription"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/subscription"}}]}}},"/tax-split":{"get":{"operationId":"tax_split","summary":"Split a tax-inclusive price into net and tax, or add tax to a net price, for a sales tax or VAT rate you supply.","description":"Split a tax-inclusive price into net and tax, or add tax to a net price, for a sales tax or VAT rate you supply.","tags":["pricing","sales-tax","vat"],"parameters":[{"name":"amount","in":"query","required":true,"description":"The amount to split or grow","schema":{"type":"number"}},{"name":"ratePct","in":"query","required":true,"description":"Tax rate percent (you supply it; none is built in)","schema":{"type":"number"}},{"name":"mode","in":"query","required":false,"description":"inclusive (default: amount already includes tax) or exclusive (amount is the net price)","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"mode":{"type":["null","string"]},"ratePct":{"type":["null","number"]},"netAmount":{"type":["null","number"]},"taxAmount":{"type":["null","number"]},"grossAmount":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"TAX_EXTRACTED","summary":"120 including 20% tax is 100 net plus 20 tax.","reasons":["Tax is gross minus gross / (1 + rate), not gross times the rate."],"mode":"inclusive","ratePct":20,"netAmount":100,"taxAmount":20,"grossAmount":120,"degraded":false,"notChecked":["whether this rate applies to your product, place and buyer","compound or multi-level taxes (add them as one combined rate only if they are simple)","…1 more"],"source":"computed locally (net = gross / (1 + rate))","asOf":"2026-10-11T23:36:14.332Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/tax-split"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/tax-split"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/tax-split"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://pricing-math.x402tookit.com/tax-split"}}]}}}}}