Pricing & trust
Prices are versions. Trust is a balanced journal.
This is not a storefront catalog of Sylphx plan fees, and it does not quote a live list price. Commerce stores your project’s products and prices as immutable effective-dated versions. Money never crosses a boundary as a float.
How a price exists
CreateProductVersionthenCreatePriceVersion— currency[A-Z]{3}, rational tiers, explicitRoundingMode, positive version.- Only the last tier may be unbounded; finite ceilings strictly increase; unit prices are non-negative.
- A later price is a new version. Rating names the exact
price_idandprice_version. History is not rewritten. ReRateChargeappends a signed adjustment at a replacement price version. A zero delta is rejected.
Trust rules
| Claim | Oracle |
|---|---|
| Integer money | Money { currency, units_minor } at public, domain, and persistence. f64 and usd fail. |
| Append-only commercial facts | Corrections, credit notes, refunds, and revokes add facts. UPDATE/DELETE of posted history is denied. |
| Paid access has a journal | A paid grant without a balanced journal entry is false. |
| Capture is not HTTP 200 | Provider events are signature-verified and reduced by effective_at. |
| Disagreement stays visible | Reconciliation keeps unmatched provider and Commerce amounts. No silent net. |
| Stripe is a port | A provider cannot change journal balance, price arithmetic, or entitlement replay. |
Do not trust a dashboard. Provider consoles, browser callbacks, support notes, and analytics events are not the authority for money or access. Read Commerce.
What you pay Commerce
Sylphx project commercial policy — if and when a list price exists — lives in versioned catalog facts, not in this paragraph. This page will not invent a number. Independent developers integrate through the public contract; they do not create a second money store in the client.