Skip to main content

The guarantee

If paperplane accepts your letter, one of two things happens: it gets mailed, or you get your money back — automatically, without asking. This isn’t a support policy you have to invoke. It’s a system property, and it’s been running in production since before this page existed:
  • Every order that reaches the print facility and fails to mail is marked failed.
  • The moment that happens, the payment on that order is refunded — no ticket, no wait. See lib/fulfillment.ts: a failed order and its refund are the same atomic step, not two.
  • An hourly reconcile job (documented in this repo’s cron workflow) is the safety net for the rare case a provider webhook never arrives — it polls, detects the failure, and the same refund path fires.
You can watch this contract directly in the error contract: the failed order state is documented as “refunded automatically,” not “contact support for a refund.”

What “accepted” means

The guarantee starts once an order clears content screening and enters print — that’s the same submitted state documented in the order lifecycle. Before that point:
  • A held_for_review or refused order was never charged past an authorization hold — the hold releases, nothing to refund.
  • You can cancel anything before submitted and the same release happens.
So the guarantee isn’t “we might mail it, trust us” — it’s “money only ever leaves your account for a letter that either reaches USPS or comes back.”

What this doesn’t cover (yet)

This guarantee is about our side of the pipeline — print, postage, and handoff to USPS. It does not currently cover:
  • Address accuracy claims beyond USPS verification. Every address is checked against USPS’s own database before you pay (see Address verification), and an undeliverable address is rejected up front. But a technically-valid address that turns out to be the wrong recipient (a bad address the sender typed correctly) isn’t something print-and-postage can guarantee — that’s a sender-input problem, not a fulfillment one.
  • USPS-side loss after a valid mailing. Once a piece is in USPS’s hands and scanned, its physical journey is USPS’s, not ours — see Missing mail for that process. Certified Mail and Return Receipt exist precisely to give you proof of what USPS did with it.
  • A numeric accuracy SLA. We’re not yet publishing a specific “99.X% delivered” figure — that number would need real aggregate data from live volume, and we’d rather publish nothing than a guess. When we have the data, it goes here.

Agents: this guarantee is machine-readable

The refund isn’t just a promise on a page — it’s the exact behavior documented in the error contract, so an agent orchestrating a send can rely on it the same way a human does: a failed status on GET /v1/orders/:id means the refund already happened, not that you need to follow up.
Last modified on September 17, 2026