Seller Fee Tools

How these numbers are checked

A wrong calculator is worse than no calculator. This page says exactly where each number comes from and what happens when it changes.

Where the rates come from

Every rate is transcribed by hand from the operator's own published fee page — not from a blog, not from another calculator, and not from a model's memory. Each tool links to its source and shows the date it was last verified against it.

ToolSource
eBay fee & profiteBay — Selling fees
PayPalPayPal — Merchant fees (US)
StripeStripe — Pricing
WalmartWalmart Marketplace — Referral fees
SquareSquare — Processing fees

The two comparison tools (eBay vs Walmart, PayPal vs Stripe vs Square) add no rates of their own. They read the same tables as the single-operator tools above, so a rate can never disagree between a tool and a comparison that includes it.

What happens when a rate changes

A monitor re-fetches each source page on a schedule, extracts the fee section, and compares it with the copy that was in place when the rates were last verified. It raises an alert in three cases, and the third one is the one that matters most:

  1. The source changed. The published fees moved, or the page was reworded. The rate tables here are re-verified by hand before anything is republished.
  2. The source could not be fetched. Silence is not agreement. A monitor that cannot reach the page is a broken monitor, and it says so rather than reporting "no change".
  3. Nothing has changed for an unusually long time. A fee page that has not moved in months is more likely to mean the extraction broke than that the fees are frozen. The monitor alerts on that too, so the check gets checked.

That third rule exists because the failure mode of a rate monitor is not a false alarm — it is years of quiet, confident, wrong numbers.

Checking the transcription itself, not just changes to it

A change monitor answers "has the source moved?". It does not answer "was the number copied correctly in the first place?" — and if it was copied wrong on day one, a monitor that sees no change stays silent forever. So a second check runs alongside it: every rate, tier boundary, fixed fee, minimum and cap in the tables here is looked for in the text of the operator's own page, in each of the formats that operator actually uses (a fee of forty-nine cents appears as "0.49 USD" on one page and "49¢" on another; a tier at seven thousand five hundred dollars appears as "$7,500"). Anything not found is reported for a human to re-check by hand.

That check carries its own control. Alongside the real numbers it looks for fabricated ones that are not in the tables. If a fabricated number is "found", the matcher is matching anything and the run is reported as inconclusive rather than as a pass. A check that cannot fail is not a check.

What the calculators deliberately do not do

Accuracy

The fee engines are covered by a test suite of hand-computed cases — tier boundaries, threshold cliffs, the sneaker exemption, currency-specific fixed fees, reverse calculations and their round trips. The tests assert values worked out by hand from the published tables, not values produced by the code itself.

Found something wrong? The rate tables are plain JSON and each one names its source and its verification date: eBay, PayPal, Stripe, Walmart, Square.