---
title: "Coverage in force"
url: https://services.dev/docs/people/pool/coverage
captured: [legal-check.txt, pool-eligibility.txt]
---
# Coverage in force

URL: https://services.dev/docs/people/pool/coverage

> A Pool says how much insurance must be in force on each act, and who carries it, the member, the Pool, or either. It is checked at every claim, written only by the verifier, and the Pool's own costs the brand a line on every act it carries.

Who carries the insurance on a person's act, and what does it cost? One key on the Pool answers both.

## One key

`coverage` names the amount that must be in force per act, who carries it, and, where the Pool carries it, what it costs the brand per act:

| `by` | Who carries the act | A member whose policy lapsed |
|---|---|---|
| `'member'` | each member's own policy, as the verifier wrote it | is ineligible, on the coverage predicate, with its cure |
| `'pool'` | the Pool's policy, on every act | is eligible; the brand pays `usd` an act |
| `'either'` | the member's own while it's in force, else the Pool's | is eligible; the brand pays `usd` on the acts it carries |

## Checked at every claim

Coverage is the third predicate a claim runs, after the credential and the region. Where members carry their own, a lapsed policy rules a member out and says how to cure it:

```txt
→ POST /reviews/tsk_7Hq2/claim   # as mbr_lapsed_coverage
```

```txt title="magic values: client.email = signs@example.test, member = mbr_lapsed_credential, member = mbr_out_of_region, member = mbr_lapsed_coverage, member = mbr_eligible"
← 403 ineligible · coverage: attorney needs $1,000,000 of coverage in force per act, and mbr_lapsed_coverage's policy lapsed on 2026-10-24.
  cure  Renew the policy; the verifier writes the new term.
```

Where the Pool carries a lapsed policy's act, the same member claims:

```txt
→ POST /reviews/tsk_7Hq2/claim   # as mbr_lapsed_coverage
```

```txt title="magic values: client.email = signs@example.test, member = mbr_lapsed_credential, member = mbr_out_of_region, member = mbr_lapsed_coverage, member = mbr_eligible"
← 200 tsk_7Hq2 · claimed · attorney · advise · US-CA · $50.00 · 45 min · $66.67 an hour · due 2026-10-27 14:02
```

## Written only by the verifier

A member's policy is a verified fact like a credential: the verifier writes `coverage: { per_act, until }` with each check, and the latest write is what is true. Past `until` it has lapsed; past the Pool's `fresh` it is stale. [Verify a member](https://services.dev/docs/people/pool/verify.md) shows the door it comes through.

## A line on the ledger

Where the Pool carries an act, its cost is a ledger line of its own, before you sell and after delivery, and `check` counts it in every margin it prints:

```bash
npx services.dev check
```

```txt title="magic values: none"
services/contract-review.ts · 16 lines · $99 per job, within 48 hours, charged on acceptance.
  ledger  +$99.00 · attorney's fee $50.00, sold by the attorney (rail member) · brand $49.00 · AI $1.26 (example) · coverage $4.00 · you $43.74
  margin  at least $25.20 when the first attorney signs ($99.00 − $50.00 attorney − $19.80 AI cap − $4.00 coverage) · $0.20 at the ladder's cap, the lower of 50% and what the floor leaves · −$28.80 after a decline and a second attorney
  ledger  +$149.00 · attorney's fee $75.00, sold by the attorney (rail member) · brand $74.00 · AI $2.10 (example) · coverage $4.00 · you $67.90
  margin  at least $40.20 when the first attorney signs ($149.00 − $75.00 attorney − $29.80 AI cap − $4.00 coverage) · $2.70 at the ladder's cap, the lower of 50% and what the floor leaves · −$38.80 after a decline and a second attorney
  ledger  +$12.00 · AI $0.84 (example) · watcher $4.00 · coverage $4.00 · you $3.16
  margin  at least $1.60 when the first watcher does ack ($12.00 − $4.00 watcher − $2.40 AI cap − $4.00 coverage) · $0.00 at the ladder's cap, the lower of 50% and what the floor leaves
  ledger  +$299.00 · attorney's fee $60.00 at advise_entity, sold by the attorney (rail member) · attorney's fee $60.00 at advise_83b, sold by the attorney (rail member) · brand $179.00 · AI $0.84 (example) · coverage $8.00 · you $170.16
  margin  at least $111.20 when the first attorney does advise_entity ($299.00 − $60.00 attorney at advise_entity − $60.00 attorney at advise_83b − $59.80 AI cap − $8.00 coverage) · $51.20 at the ladder's cap, the lower of 50% and what the floor leaves · −$16.80 after a decline and a second attorney
services/provisional-patent.ts · 24 lines · $199 per job, within 5 days, charged on file's receipt.
  ledger  +$199.00 · AI $2.10 (example) · practitioner $150.00 (rail brand) · coverage $4.00 · you $42.90
  margin  at least $5.20 when the first practitioner signs ($199.00 − $150.00 practitioner − $39.80 AI cap − $4.00 coverage) · $0.00 at the ladder's cap, the lower of 50% and what the floor leaves · −$148.80 after a decline and a second practitioner · −$148.80 when a routed step runs
  ledger  +$349.00 · attorney's fee $175.00, sold by the attorney (rail member) · brand $174.00 · AI $2.10 (example) · coverage $4.00 · you $167.90
  margin  at least $100.20 when the first attorney signs ($349.00 − $175.00 attorney − $69.80 AI cap − $4.00 coverage) · $12.70 at the ladder's cap, the lower of 50% and what the floor leaves · −$78.80 after a decline and a second attorney
```

## Keys

| Key | Written | Left out | Does |
|---|---|---|---|
| `coverage` | `{ per_act: number; by: 'pool' \| 'member' \| 'either'; usd?: number }` | none | Insurance in force per act, who carries it (each member's own, verified; the Pool's; or either), and what it costs the brand per act, a ledger line. |

---

- Up: [Pool(): your marketplace](https://services.dev/docs/people/pool.md)
- Previous: [Integrity](https://services.dev/docs/people/pool/integrity.md)
- Next: [One Pool, several brands](https://services.dev/docs/people/pool/share.md)
