Run stripe projects add postalform/mail to add real postal mailing infra to your projects and workflows instantly.
PostalForm Projects
Mail infrastructure for developers and agents

PostalForm Projects

Provision postal mail like cloud infrastructure. Upload a PDF and PostalForm prints it close to its destination, tracks the piece, and streams signed webhooks back to your app — one workspace for developers and their agents.

Stripe Projects ready Agent provisionable Provider-routed
standard letter standard_letter.pdf

Cost and tracking fit select the highlighted standard-letter path.

Selectedtracked hubletter with tracking
Skippedexpress lanenot requested
Fallbackvolume routenot needed
express mail overnight_notice.pdf

Express handling changes the decision from cheapest tracked mail to the speed-first route.

Skippedtracked hubtoo slow
Selectedexpress lanespeed-first path
Fallbackvolume routenot needed
large packet case_file_132p.pdf

High page count skips the small-letter path and uses the fallback built for larger packets.

Skippedtracked hubpage limit
Skippedexpress lanenot requested
Selectedvolume routelarge PDF fallback
Why teams trust it
Physical mail, provisioned like software

The control plane for developers and agents that need to print, mail, and observe documents.

PostalForm Projects gives every app or Stripe Project its own workspace, keys, test credits, live credits, webhook endpoints, and mail timelines. Agents can provision it, humans can govern it, and both can see what happened.

The API

Four calls from PDF to mailbox.

Upload a document, quote it, send it, and listen for signed webhooks. Test mode runs the whole flow against simulated fulfillment — free, with no credit card.

  • Idempotency keys make retries safe — duplicate physical mail is impossible.
  • Quotes are final prices, locked before you commit an order.
  • Every status change arrives as a signed webhook with automatic retries.
export POSTALFORM_API_KEY="pf_test_..."
BASE="https://projects.postalform.com/api/v1"

curl -s "$BASE/letters/quotes" \
  -H "Authorization: Bearer $POSTALFORM_API_KEY" \
  -d '{"document_id":"doc_8f21c4","certified":true}'
# -> {"quote_id":"quote_a92d1b","price_cents":1020,...}

curl -s "$BASE/letters" \
  -H "Authorization: Bearer $POSTALFORM_API_KEY" \
  -H "Idempotency-Key: invoice-1042" \
  -d '{"quote_id":"quote_a92d1b","recipient":{"name":"Ada Lovelace","line1":"1 Analytical Way","city":"San Francisco","state":"CA","postal_code":"94105"}}'
# -> {"id":"ord_c99ef3","status":"queued","mode":"test"}
Live timeline Simulated test-mode run
  1. queuedorder accepted by the API
  2. document_preparedPDF normalized for print
  3. submittedhanded to fulfillment
  4. in_transitcarrier scan received
  5. deliveredfinal scan at the mailbox

These are exactly the states and webhooks your integration receives — test mode simulates fulfillment end to end.

Everything included

The unglamorous parts are already done.

Fulfillment intelligence

One mail API for documents, postcards, proof mail, and tracking.

PostalForm evaluates each mailpiece against destination, speed, proof-mail, postcard, and document-size requirements, then routes it to a print-and-mail facility as close to the destination as those options allow. Your app gets reliability, delivery visibility, and destination-aware performance without juggling multiple mailing APIs.

Express mailSpeed-first handlingfastest supported service
Letters and postcardsTracked routestandard documents with event visibility
Large PDFsDocument-fit routefallback for long or oversized files
Developer workflow

A full workspace from one terminal command.

stripe projects add postalform/mail instantly provisions a free test workspace — or a paid live one — and syncs its keys into your project. No signup form, no dashboard round-trip. Direct signup is always there when you prefer it.

$ stripe projects add postalform/mail
created workspace pfws_...
synced POSTALFORM_TEST_API_KEY
synced POSTALFORM_WEBHOOK_SECRET

$ pf-projects test e2e --pdf sample.pdf
uploaded document
quoted mailpiece
queued mail job
received signed webhook
Agent-native

Agents can provision, pay, and mail — end to end.

Everything a developer can do here, an agent can do too: create a workspace through Stripe Projects, read the whole API from one context file, and settle live mail with a scoped payment token. Humans govern all of it from the same dashboard.

Stripe Projects provisioning

One CLI command creates a free or paid workspace and syncs keys into the project’s secret store — no signup flow.

stripe projects add postalform/mail
Machine-readable context

A single GET serves a compact summary of provisioning and the mail API, written for LLM tool use.

GET /llm-context.txt
Scoped payment tokens

Stripe SPT contracts carry a currency, ceiling, and expiry — an agent’s mailing budget is bounded by design.

payment_credentials.type=stripe_payment_token
Machine-payments heritage

PostalForm was a launch service for Stripe’s Machine Payments Protocol — agents have paid it to send mail since day one.

postalform/mail · MPP launch, March 2026
01

Provision

Stripe Projects, the mock CLI, or direct signup creates a workspace, test key, claim path, and local env values.

02

Observe

Every document, quote, order, timeline event, tracking update, and webhook attempt is visible from the dashboard.

03

Scale

Live credits, auto-refill, key rotation, and fulfillment controls let mailing become a building block instead of an ops queue.

$1.80standard letters, plus pages
$1.50US postcards, from 4x6
+$8.00USPS Certified Mail
$0test mode — free forever

Quotes are final prices. No subscriptions, no minimums — prepaid credits only.

Open the pricing calculator
Questions

Answers before you ask.

Anything else? Write to support@postalform.com — a human reads every message.

Is test mode really free?

Yes. Test keys (pf_test_…) run the entire flow — PDF uploads, quotes, orders, status timelines, and signed webhooks — against simulated fulfillment. There is no charge and no time limit.

Do I need a credit card to start?

No. You only add prepaid credits when you are ready to send real mail, and top-ups are the only charge that ever happens before a mailpiece is accepted for fulfillment.

Which countries can you deliver to?

The United States and Canada, plus Austria, Belgium, France, Germany, India, Luxembourg, the Netherlands, Switzerland, and the United Kingdom — with route-aware pricing and per-destination options like registered mail.

Who physically prints and mails the letters?

PostalForm routes every mailpiece across vetted commercial print-and-mail facilities and national postal carriers, selecting a production path as close to the destination as the selected options allow. You integrate one API and one webhook format; PostalForm operates the fulfillment network.

How do I know when something is delivered?

Every fulfillment status change — accepted, in transit, delivered, returned — is sent to your HTTPS endpoint as a webhook signed with a PostalForm-Signature header, with automatic retries. Carrier tracking numbers are attached where available.

How is this different from PostalForm.com?

PostalForm.com is the one-off mailing workflow — for people, and for agents mailing on their behalf as the first service to implement Stripe’s Machine Payments Protocol. PostalForm Projects is the developer platform on the same fulfillment infrastructure and routing intelligence: workspaces, API keys, free test mode, prepaid credits, and signed webhooks for building mail into your own product.

Get started

Your first letter is five minutes away.

Test mode is free and simulated end to end — or provision straight from your Stripe project:

stripe projects add postalform/mail