Spoolis docs
Outcome-priced software
Use Spoolis to turn your existing definition of success into an accepted result your billing system and customer can use. Keep your existing evaluator and billing stack.
1. Define the acceptance policy
Start at /new, or create a Spool through the API. Write the criteria, the evidence each criterion needs, and who will judge it before you deliver the work.
Share /s/<id> with the other party. It opens the Acceptance policy view without requiring an account to read it.
2. Choose the judge
Use your own deterministic checks, the buyer's confirmation, or an agreed external judge. The bring your own judge guide maps existing CI, evaluators, and reviewers into the supported contract.
3. Deliver the work and submit evidence
Submit evidence from the dashboard, or call POST /api/v1/spools/{id}/evidence. The API reference documents the request and supported lifecycle actions.
4. Get the Outcome
Run verification from the Spool or call POST /api/v1/spools/{id}/verify. The Outcome reports accepted, rejected, and uncertain unit counts plus earned value. Uncertain units are excluded from earned value.
5. Keep your billing stack
Feed the accepted count or earned value into the billing system you already use, such as Stripe Billing, Orb, Metronome, Paid, Nevermined, or a plain export. Spoolis never bills your customer. See the workflow and billing consumer patterns.
6. Share the accepted result
Whoever consumes the result, a customer, a billing or finance system, another agent, a marketplace, or another workflow, can inspect the policy at /s/<id>, open the signed receipt at /r/<receipt id>, download its JSON, and verify it independently:
npx @spoolis/cli verify receipt.jsonThe receipt verification guide explains the signature and trust boundary. A valid receipt records the acceptance result. It does not authorize payment.