Spoolis Platform

Build custom workflows on the Outcome lifecycle.

Define what counts, turn evidence and judgment into a durable Outcome, and send it to the systems that act next.

REST · MCP · CLI · Connectors

One platform, four products

Each product is a packaged path through the same primitives.

Start with the product that fits the job. If none fits exactly, compose the lifecycle directly.

Spoolis PlatformWhat every product is built on
8 lifecycle primitives
Agreement · Evidence · Judgment · Outcome · Finality · Remedy · Destination · History
Interfaces
Outcome API · MCP server · CLI · Connectors
Trust
Signed Outcome · Offline receipt verifier · Full history

Products package the lifecycle. Developers can compose it directly. Either way, the output is the same programmable Outcome.

Start building

Start in one paste.

Give your coding agent everything it needs to integrate Spoolis, or call the tools yourself.

Primitives

Eight pieces. One lifecycle.

Core lifecycle

01

Agreement

Freeze what counts before work begins.

POST /v1/spools · create_spoolDocs →
02

Evidence

Bring in the records the decision depends on.

POST /v1/sources · submit_evidenceDocs →
03

Judgment

Apply deterministic checks, AI, humans, or another chosen authority.

POST /v1/verify · verify_spoolDocs →
04

Outcome

Produce one accepted, rejected, or uncertain commercial result.

GET /v1/receipts/{id} · inspect_outcomeDocs →

Operational lifecycle

05

Finality

Decide when the result can safely be acted on.

POST /v1/receipts/{id}/reviews · request_reviewDocs →
06

Remedy

Determine what happens when the agreed result or promise misses.

POST /v1/promise-replayDocs →
07

Destination

Send the Outcome to billing, finance, workflows, payments, or agents.

Webhooks · verify_resultDocs →
08

History

Preserve every version and correction without rewriting the past.

GET /v1/spools/{id}/events · get_spool_eventsDocs →
Built for production state

Versioned agreements · explicit finality · signed Outcomes · idempotent events · corrections without rewriting history · offline verification

The programmable Outcome

One programmable Outcome that every system can act on.

A programmable Outcome is a versioned, signed result with explicit commercial state that software can read and act on.

receipt.issued
Outcome {
  id:                "rcpt_8f2c…"
  spool_id:          "spl_4k9d…"
  agreement_version: 4
  result:            "partial"
  units:             97 accepted, 3 rejected
  earned:            970.00
  state:             "current"
  signature:         Ed25519
}
  • Billingaccepted_units_export()
    count: 97
    earned: 970.00
  • Financereconciliation_statement()
    accepted.amount: 970.00
    difference: -30.00
  • Workflowcontinuation_payload()
    status: partial
    accepted: 97  rejected: 3
  • Agentverify_result
    continue with 97 accepted units
  • Paymentsettlement_instruction()
    amount: 970.00
    receiptId: rcpt_8f2c…

Different consumers. One versioned commercial result.

For agents

Agents can run the whole lifecycle.

An agent can read the agreement, submit evidence, verify the work, and continue only with the accepted result.

A failed intermediate result should not automatically trigger more spend, workflows, or agents downstream.

  1. get_spool · reads the agreed criteria
  2. submit_evidence · 100 units, with their evidence
  3. verify_spool · 97 accepted, 3 rejected with reasons
  4. verify_result · checks the signed receipt
  5. The agent continues with the 97 accepted units only.

Questions

The platform, in plain language.

What is the Spoolis Platform?

A developer platform for outcome-based software. It turns acceptance criteria, evidence and a judgment into one signed Outcome that billing, workflows, payments and agents can act on.

What is an Outcome?

A signed record of what was delivered, which units were accepted, rejected or uncertain, and why. Anyone holding it can verify it.

Should I use a product or the primitives?

Use a product when it fits the job: pricing, guarantees, acceptance or spend. Use the primitives through the outcome API when you need a lifecycle the products do not cover.

How do agents use Spoolis?

Through the MCP server or the API. An agent reads the agreed criteria, submits evidence, runs outcome verification and continues only with the accepted units.

How do I verify a signed Outcome?

Use the open receipt verifier for JavaScript or Python. It checks the Ed25519 signature and the figures offline, with pinned trust material.

Can I try it without an account?

Yes. The sandbox runs a full acceptance in one call and returns a signed demo receipt.

Start with one call. Build the full lifecycle.

Run an Outcome in the sandbox, inspect the signed result, then move into the API or MCP.

Spoolis Platform: outcome API, MCP, and lifecycle primitives