Offers
A file in offers/ defines one Offer, a Product at a Price on terms, and publishes it to checkout, the site and agents.
A file in offers/ defines one Offer: a Product at a Price, on terms. It implements Offers and pricing.
offers/pro.mdx$29 a monthpro-annual.mdx$290 a year
Reference
MDX, frontmatter only. The frontmatter is the Offer.create input, key for key, so a file and an API call make the same Offer. Stripe Price ids are observed and never written here.
| Key | Type | Holds |
|---|---|---|
price | { amount, | What it charges each interval. Required |
interval | once, day, week, month or year | How often it bills. once is a one-time charge; anything else is a Subscription |
terms | text | What the buyer accepts, refund rights included |
trial | { days, | A free trial before the first charge; card: takes a card up front |
seats | manual or members | For a per-seat Price: who sets the quantity |
atBound | stop, overage or upgrade | What a call past an Entitlement's Limit gets |
credit | { amount, | Prepaid credit each purchase issues |
availableFrom, availableUntil | datetime | When it can first and last be bought |
privateTo | Party id | The one buyer who may accept it; no pricing page lists it |
What a buyer may call is granted with Offer.grant, one Entitlement at a time: see how to lock a feature to a plan.
Examples
Minimal
---
price: { amount: 29, currency: USD }
interval: month
---Leaseline
---
price: { amount: 29, currency: USD }
interval: month
terms: Monthly, billed in advance. Cancel any time from the billing portal.
trial: { days: 14, card: true }
atBound: upgrade
---What it builds
The SalesBuilder compiles the file into Offer.create and publishes it with Offer.publish.
- an
Offerand itsPrice - a Product and a Price on Stripe
- checkout on the Startup's Domain, a payment link and an MCP buy tool
- the pricing section every Site reads
- the Event
Offer.published, thenOffer.subscribedfor each buyer
Routing
Checkout serves at /checkout/ on every Site. POST /leaseline.app/ subscribes through the API.
Good to know
- A published Offer is a Version. An Order keeps the Version it bought, so a Price change never reaches a past buyer.
- The founder's form of this file is the guide charge monthly.