Skip to content

Start here

SAPA is a TypeScript and Effect framework for applications that need to sell products and keep the resulting access, billing, and fulfillment history explicit. Start by defining one offer. Add persistence, payment providers, and runtime capabilities only when your application needs them.

  1. Install SAPA with its exact Effect peer version.
  2. Follow the quickstart to construct and validate an immutable offer.
  3. Read the mental model before composing checkout or lifecycle operations.
  4. Use next steps to find the capability matching your product.

The quickstart validates identifiers, revisions, benefit relationships, and exact money before external I/O. It does not charge a customer, persist an offer, or grant access. Those operations require explicitly composed host capabilities.