USPS
Ground Advantage
2–5 days$7.40
$1.20 of Premium insurance included
all-in · at the weight you declared
Carriers bill on the weight tier above your scale reading — weight rounds up, never down — so an ounce of error can cost a full tier. Weigh the parcel packed and sealed, not the product alone. A wrong guess doesn't fail at purchase; it comes back later as an adjustment.
USPS, UPS, FedEx, and DHL each break their tiers in different places — the same packed weight can sit just under a boundary at one carrier and just over it at another, which is exactly when comparing all four pays.
Each quote is one all-in number at the declared weight, and exactly that amount leaves the prepaid wallet — fund it by card, Apple Pay, Google Pay, ACH, or crypto.
No carrier bills the number on your scale. Every service prices in billing increments — an ounce band, a whole pound, a half kilogram — and your reading is rounded up to the ceiling of whichever increment it falls into. Never down, never to the nearest. That one-directional rounding is the entire economics of weighing: a parcel that reads a single ounce past a boundary pays the same as a parcel a full increment heavier, so the money is not lost gradually as weight climbs, it is lost in cliffs at the boundaries. Knowing where your carrier's cliffs sit for the services you actually use matters more than knowing the rates themselves, because the cliff is the only place an ounce is worth acting on.
The increments are not the same across carriers, and that asymmetry is usable. A packed weight that lands just past one carrier's boundary can sit comfortably inside another's, which means the carrier that wins on your parcel is partly an accident of where your weight falls — and it changes parcel to parcel. Quoting the same packed weight across USPS, UPS, FedEx, and DHL side by side is how that accident becomes visible before you pay rather than after.
Rounding reference — verified against USPS Notice 123, the UPS Rate and Service Guide, the FedEx Service Guide, and the DHL Express rate card on 2026-08-15.
| Carrier | How a scale reading becomes a billed weight |
|---|---|
| USPS | Ground Advantage and Priority Mail bill by the ounce up to one pound, then to the next whole pound; a parcel at 1 lb 1 oz is priced as 2 lb. |
| UPS | Any fraction of a pound bills as the next whole pound across domestic ground and air services, with a one-pound minimum. |
| FedEx | Same shape as UPS: fractions round to the next whole pound, one-pound minimum, on standard domestic services. |
| DHL Express | International express bills in half-kilogram steps — a reading just past a half-kilo boundary is priced as the next half-kilo. |
Worked example at these rules: a parcel that weighs 15.2 oz packed bills in the under-a-pound ounce bands at USPS but as a full pound at UPS or FedEx; add two ounces of extra void fill and the same parcel becomes 2 lb at every pound-rounded service while still riding an ounce band at none. Carriers revise increments and service structures at their annual rate events. Re-check cadence: annually at rate season, by the named review owner recorded with this page.
The object you weigh must be the object the carrier receives. That sounds obvious and is the most commonly violated rule in small-parcel shipping, because the natural workflow is backwards: sellers weigh the product while listing it, remember that number, and buy the label against it weeks later. By the time the order ships, the product has gained a box, tape, cushioning, a packing slip, and sometimes a thank-you card, and packaging on a small parcel is not rounding noise — a sturdy box alone can add half the product's weight again. Weigh at the end of packing, not the start: pack the parcel completely, seal it, put the whole thing on the scale, and buy the label against that reading. Buying the label at the bench, after sealing, is the entire technique — every step that separates the weighing from the buying is a place for the number to drift.
Two smaller habits close out the technique. Zero the scale before every session and tare off anything that sits on the platform with the parcel — a tray, a bin, your hand steadying a tall box all read as product. And keep the parcel fully on the platform: a box that overhangs a small scale can transfer part of its weight to the bench and read light, which is an under-declaration you never see. If a box is too big to sit properly, weigh yourself holding it on a larger scale and subtract, then round the result up before declaring it.
The scale question is really a resolution question: your scale must resolve finer than the billing increment of the services you use, with enough margin that one graduation of error cannot move you across a boundary. For parcels riding ounce-banded services, that means a scale reading in tenths of an ounce or grams — which most inexpensive kitchen and postal scales already do. For parcels billed to the next pound, ounce-level resolution is comfortable. The tool that fails this test is the bathroom scale: its graduations are coarser than the tiers you are trying to hit, and it is engineered for accuracy at body weight, not at parcel weight, so it is least trustworthy exactly where you need it most.
Whatever you use, sanity-check it now and then against something of known weight — a factory-sealed product with a printed net weight gets you close enough to catch a scale that has drifted. And adopt one defensive rule at the boundaries: when a reading lands within a graduation or two of a tier break, declare the tier above. The upside of squeezing under a boundary you might not actually be under is one increment of postage; the downside is a corrected bill later. The asymmetry only points one way.
A wrong weight costs you in one of two places, and which place depends on the direction of the error. Over-declare — the guessed listing weight, the generous rounding, the just-put-2-pounds habit — and the cost is immediate and invisible: you pay a tier more than the parcel needed, on every label, forever, and no invoice will ever point it out. Under-declare and the cost is deferred: the label prints, the parcel ships, and the carrier's automated equipment reweighs it somewhere inside the network. The difference arrives later as a post-shipment charge; how each carrier detects, bills, and lets you dispute one is the billing adjustments page's subject. The scale-side point is simply that both errors are paid for — one quietly at purchase, one loudly after delivery — so the packed-and-sealed reading is not a nicety, it is the cheapest of the three prices you could pay.
Weight is also not always the number that gets billed at all: past a size threshold, carriers price on dimensional weight computed from the box, and the size and weight limits page covers the divisors and how to measure. Within the weight-billed world, the practical play is to know your own boundary. If your typical parcel reads just over a tier break, the fix is often in the packaging, not the postage: a lighter mailer, less void fill in a better-fitted box, the packing slip printed on half a sheet. An ounce engineered out of the packaging at the right boundary is worth a full increment at every pound-rounded carrier — which is also why cheap labels start at the scale, before any rate comparison runs.
Every step that separates the weighing from the buying is a place for the number to drift, and the drift is always in the expensive direction — the listing weight remembered from a month ago, the guess typed while the box is already taped. This loop closes that gap: the order is already in the queue when the parcel comes off the scale, the packed reading goes straight onto the shipment, and the label is bought against the number you are still looking at.
two more of the ceramic mugs — same address as last time
A synced order knows what the product weighs; only the scale knows what the parcel weighs. Box, tape, cushioning, packing slip, and the label itself are all part of the object the carrier receives.
If a carrier reweighs the parcel inside its network, the difference arrives as its own visible ledger entry rather than a silent balance change — and how each carrier detects and bills one is the billing adjustments page's subject, not this one.
Shopify, Etsy, WooCommerce, and TikTok Shop drop orders into one To Ship queue with whatever weight the listing carried — the product, not the box it is about to gain. That is exactly the number this page argues you should stop buying labels against. The queue gets you the buyer and the address; the packed reading is the part that has to come off the platform at the end of packing, whichever channel the sale arrived through.
Via pastetiles: a pasted DM carries no weight at all — the scale is the only source either way.
The scale gives you a true number; the tooling decides what that number is worth — four competing quotes, one all-in price, and a balance that only moves by the amount you saw.
Every quote is one all-in number at your declared weight, and exactly that amount leaves the prepaid balance — fund it by card, Apple Pay, Google Pay, ACH, or crypto. A carrier correction after movement arrives as its own visible adjustment entry, never as a silent balance change; if it ever exceeds the balance, the card on file covers the difference.
At the bench with tape on your hands, dictate the packed weight and the address and Billy drafts the label from what you said — or paste the order thread and screenshot the scale display. The declared weight is the reading you just took, not the listing weight from a month ago.
There is no monthly minimum to print, so the label price at your true tier is the whole cost. A quiet week costs nothing, and a mis-weighed guess never has to justify a subscription that was already paid.
Because USPS, UPS, FedEx, and DHL break their tiers in different places, the same reading can be a bargain at one carrier and a cliff at another. Every parcel is quoted across all four at the weight you declare, so the boundary accident is visible before money moves.
Over the REST API the weight is an explicit field on every quote and purchase call — pull it from a connected bench scale if you like. Idempotency keys mean a retried request never buys twice, and signed webhooks report what happened. Unlimited calls on every plan.


Declared 15.2 oz · label ready
Austin, TX · bought at the bench
Weighing at the end of packing only works if buying the label also happens there. Walk the reading to a laptop in another room and you are back to remembering a number, which is the habit this whole page exists to break. Everything below happens standing at the bench with the sealed box still on the platform.
Dictating the packed reading is the obvious use: the box is sealed, your hands are full, and the number is right there on the display. The less obvious one comes weeks afterwards, when a buyer asks about a parcel and you want to know what it was declared at and where it got to — ask out loud and Billy finds the shipment and reads its history back. Included on every plan. This is the real product, not a render.

Listening
"Fifteen point two ounces, going to Austin"
Out for delivery
Austin, TX · scanned this morning
Speaks plain English · remembers your saved box sizes and repeat buyers · included on every plan.
This is the asymmetry the rounding section describes, as a screen. One packed reading is quoted against every carrier at once, and because the increments break in different places, a weight that has just tipped over one carrier's boundary can still be sitting comfortably inside another's. Each column is one all-in number locked at quote time. Figures are illustrative.
Ground Advantage
2–5 days$7.40
$1.20 of Premium insurance included
all-in · at the weight you declared
Ground
3–4 days$10.80
$1.20 of Premium insurance included
all-in · at the weight you declared
Home Delivery
2–4 days$11.40
$1.20 of Premium insurance included
all-in · at the weight you declared
A script that buys labels from listing weights makes the same mistake as a seller who remembers one — it just makes it a thousand times. The weight goes on every quote and purchase call explicitly, so an automated bench can send the reading it actually took, and a re-quote after a repack is one more call rather than a support ticket.
POST /api/v1/shipments
Authorization: Bearer sk_live_…
Idempotency-Key: ord_8421
{
"to": { "name": "Joyce", "city": "Berlin", "country": "DE" },
"parcel": { "weight": 2.6, "weight_unit": "lb" },
"service": "fedex_intl_priority"
}
An ounce engineered out of the packaging is worth a full increment at every pound-rounded carrier — and that saving is real only if nothing else is quietly metering you. There is no monthly minimum to print, so the label price at your true tier is the whole cost. Free covers 50 shipments a month; Pro is a flat plan for volume, chosen when the arithmetic says so.
Volume pricing
illustrativemore volume → lower per-label rates
$0 / forever
Weigh honestly, print rarely, and a quiet week still costs nothing.
The assistant you dictate a packed reading to, and that validates the address before anything is spent, runs unlimited in the web app on Free. Pro adds Billy on Telegram.
GET /api/v1/shipments
200 OK · plan: free
Unlimited calls on Free — still unlimited on Pro.
Bring your invoice — on Pro we work with you to beat the rates you're getting from
ShippoPirateShipShipStationLabel prices are quoted live from USPS, UPS, FedEx, and DHL at the weight you declare, as one all-in number, and that exact amount leaves your prepaid balance. A carrier correction after movement appears as its own visible adjustment entry. Full pricing details
The technique is the same for everyone: pack, seal, weigh, buy. What differs is which shortcut your workflow invites — and which direction the resulting error is paid in.
The number remembered from a month ago
The product was weighed while it was being listed, long before it gained a box, tape, cushioning, and a packing slip. On a small parcel that packaging is not rounding noise, and it is the most common way a seller under-declares without meaning to.

One graduation, a whole increment
When the usual parcel reads a hair past a tier break, the fix is in the packaging rather than the postage: a lighter mailer, less void fill in a better-fitted box, the packing slip on half a sheet. Weigh the change before you commit to buying it.
Reweighed after repacking
Same item, one increment lower
A price promised before the box exists
The reading goes straight into the call
1
declared weight per shipment, sent explicitly rather than assumed
A video took off and I had 80 TikTok Shop orders by morning. I printed every label from my phone on the bus to the post office.
Early customer · TikTok
TikTok Shop seller
I run my Etsy shop from the kitchen. The AI reads the order, picks the carrier, the label prints. That's the whole workflow now.
Early customer · Etsy
Etsy maker
The API is what every shipping API pretends to be. Idempotency that actually works.
Sasha R.
Staff engineer, marketplace
Quote USPS, UPS, FedEx, and DHL at the reading you just took, pay one all-in number from a prepaid balance, and never subsidise a guess.
Sign up in seconds. No card required. Pay per label, never per month.