Skip to content

The publish gate

Publishing an Offer emits every way to buy it, computes tax, and refuses an Offer that loses money on its median Customer.

Offer.publish is where a Startup's business compiles. One call emits every way to buy on the Startup's Publication, computes tax, and refuses an Offer that loses money on its median Customer.

What it emits

Buy linkWho buys through it
Hosted checkoutA person paying by card, on the Startup's Domain.
Payment linkA Lead who said yes: one link takes the money.
Pricing table componentA Visitor on the Startup's Sites and Apps.
Portal entryA Customer changing or canceling a Subscription.
MCP buy toolAn Agent buying from a chat or coding tool.
HTTP 402 endpointAn Agent that pays per call.

prices.json, linked from agents.json, lists every Offer, Price and Meter for Agents that read before they buy.

Stripe is the rail. Each charge runs through the Startup's own Stripe account, and Stripe Tax computes tax on every Order, because the Startup is the seller of record.

The contribution floor

Before it writes, Offer.publish runs one Guard. The Guard reads the Cost per Verb of each Entitlement the Offer grants.

It starts from the Portfolio's prior and shrinks toward the Startup's own readings as they arrive. The floor is the lowest Price that keeps the Startup's target margin: Cost ÷ (1 − target margin).

  • When the median Customer falls below the floor, the call is refused with below-contribution-floor, which names the floor Price.
  • When the median clears it and the 95th-percentile Customer does not, the Offer publishes with a usage Limit at break-even. The Offer's atBound behavior applies there.

Example

A $29 monthly Offer transcribes audio at $0.02 a minute; its median Customer uses 450 minutes ($9) and its 95th-percentile Customer 2,050 ($41). At a 60% target margin the floor is $9 ÷ 0.4 = $22.50, so the Offer publishes. The heavy Customer outspends the Price, so the Offer gains a Limit of 1,450 minutes, where Cost meets $29.