Plans
Which plan a Service needs, as check derives it from your files. What each plan adds, the limits, the floor no plan sells, the Live gate, and the take, which falls as the plan rises and sits only on the value your brand adds.
Which plan does a Service like yours need? check reads it off your files, line by line. Every key runs on every plan in test, so you build the whole Service on Free. On Free, services.dev earns only when your Service gets paid, and there is no trial clock: each gated key runs three paid live jobs, however long they take.
$ npx services.dev check
services/translation.ts · 14 lines · $89 per job, within 48 hours, charged on file's receipt.
plan Launch (services.dev) · roles.translator.pool at services/translation.ts:6 · subject at :13 · clocks at :14
every key runs in test on any plan · deploy --live asks for Launch
take your plan's take on each released charge · never on the translator's $30.00check --fit free prints the rewrite that stays on Free: sign the act yourself, and leave out the subject and the clock. You can also answer it before you write a file. Each yes names the line that needs a plan, and your plan is the highest one any yes names:
| If yes | The line | Plan |
|---|---|---|
| Do AI, you and up to two staff do every step, on your builder.domains address? | every key, in test | Free |
| Will anyone beyond you and two staff do a step? | Pool({...}) | Launch |
| Will a member earn a share of what the job wins? | pay: { share } | Team |
| Does a buyer send a security questionnaire? | no key | Scale |
Free sells finished work on your builder.domains address, with you and two staff as the only people. Launch adds your own domain, your own people, and work that recurs or is paid on its outcome. Team adds a market: tiers, a door of your own, and members paid a share of the win. Scale adds what a buyer's security review asks for.
Each reference Service, rung by rung: what it sells, who does the steps, and the run that prints its plan. Every rung is derived from the Service's own files.
# Free · four Services AI delivers alone, each at a price per job
# who: AI delivers every job; nobody signs
# sides: AI is the whole cost: no pay line, and the take sits on all of each price
# Launch · Translation, signed by a sworn translator from lingua's own Pool
# who: up to five sworn translators sign, $30 an act
# sides: a signed job leaves $59.00 of $89.00 after the translator's $30.00, and the take sits on the $59.00 alone| Adds | Key |
|---|---|
| API, CLI, MCP, SDK, Site, Docs and every app, on builder.domains | Service({...}) |
| The brand's own words on every surface | Brand.words |
| Adversarial and "yes, and" review, any lenses, any rounds | review |
| A person approves the jobs you pick | human: 'risky' |
| A fixed share of delivered jobs checked | human: { sample } |
| The seven asks: sign, consent, answer, upload, direct, decide, grant | deliver.<step>.ask |
| Your own code as a step, citing the rule it follows | deliver.<step>.by |
| Filings with typed receipts and repair windows | deliver.<step>.submit |
| Deadlines, ends, policy, signals, talk and nested Services | within, ends, policy |
| Dates the world sets on a job, with rungs that run steps and moves | clocks |
| Per job, per unit, by tier, self-help and an approval upgrade | price |
| Release on delivery, acceptance or a receipt | price.release |
| Pass-through fees at cost | price.lines |
| You and your staff, as signers and reviewers | roles.<r> |
| Test and live keys, and buyer OAuth |
On Launch, a Pool's members come from three places, and only the Pool you own has a cap of five:
| From | One line | Roster · rules · name members see | Placement | Plan |
|---|---|---|---|---|
| A Pool you rent | pool: 'gigs.expert/translators' | the operator's, throughout | theirs, on each Task it fills | Launch |
| Your own Pool | Pool({...}), at /<pool> on your brand | yours · yours · your brand | none | Launch |
| An existing door | door: 'gigs.expert' | the door's · yours · the door | the door's, on each Task it fills | Launch |
Past five members, rent a door's Pool and pay placement per Task, or open your own door on Team and pay none; the plan card shows which costs less. Time and outcome pricing need no market, so they sit here.
| Limit | Free | Launch | Team | Scale |
|---|---|---|---|---|
| Signers: you and your staff | 3 | |||
| Members in Pools you own | none | 5 | 50 | Unlimited |
| Members in a Pool you import | none | Unlimited | Unlimited | Unlimited |
| Tenants | none | none | 10 | 25 and up |
| Rules regions | 1 | 1 | Unlimited | Unlimited |
| The audit log | 7 days | 30 days | 90 days | 400 days |
At a limit, the next member, tenant or region answers the same OFFER; nothing already running stops.
What keeps a reserved act lawful, a member paid and a refusal uncharged runs on every plan. A floor row names no number: your services.dev plan sets how many people you seat, never whether an act is lawful.
Each gated key runs three live jobs before your services.dev plan is asked for. A job counts when its charge releases, so the sample ends on money you were paid. Then deploy --live answers OFFER, with the plan, each key that needs it and the cure (take the first real job):
| When | What happens |
|---|---|
| A sample is spent | Jobs already ordered finish. A key with a lower form runs it: a falling sample holds, cascade runs as 'feed' |
| A key has no lower form | A new order answers not_live, the waitlist in next; no buyer is charged |
| An OFFER is within your ceiling | Your coding agent accepts it and records plan.accepted; above it, hand_to_person brings it to you |
| A key's jobs take months to release | Three live jobs run in flight at a time, and a fourth live order answers OFFER. Each counts once its charge releases, and the console's plan card dates the end |
| You downgrade | A job, a subject with its clocks, and a paid cycle keep the plan they started under |
| A Pool would wait | Members are told on the delivery portal first, Pool health shows the date, and standby is paid to its term |
The gate reads each Service, not the folder. apis.tax sells transcripts on Free while its annual return's sample runs.
Each dollar of a released charge has one claimant. services.dev's take sits on one line: the value your brand adds.
you = charge − tax − processing − AI − pay − pass-through − coverage − placement − nested Services − services.dev's take
npx services.dev ledger --claims job_7Hq2 # linguajob_7Hq2 · Translation, signed · $89.00 released on delivery
line amount claimant services.dev's take
The translator's pay $30.00 the sworn translator $0
lingua's value added $59.00 lingua the take
AI $0.84 comes out of lingua's line. The take sits on $59.00 and nowhere else.The take applies only when a charge releases, reverses with it, and falls as your services.dev plan rises. A line leaves its base only with its proof, and check fails double_take when a definition would put two claims on one dollar.
| Line | The take |
|---|---|
| Member pay, pass-through, coverage, a licensed fee | None: each leaves the base with its proof |
| Placement | None: one claim, the door operator's, paid per Task and never out of the member's fee |
| A nested Service | On its own line, once |
| An outcome price | Held with the share, and reversed with it inside outcome.window |
A plan pays for itself once the take it saves passes its price: your month's take base, times the gap between the two takes, against the gap between the prices.
Each charge runs on behalf of your account, and each month's statement shows every dollar services.dev touched: your plan's Stripe subscription, the take withheld at each release, the debits made outside a charge, and on an outcome price the month's netting of lost cost, returned as one transfer on take.credited:
→ GET /owner/statements/stm_2026-11 # api.forsale: everything services.dev charged, withheld, debited and returned in November 2026
plan Launch · $— a month · services.dev's own Stripe subscription, billed to your card …4242 on 1 Nov
withheld the take on $10,200.00 of won bases · 3 charges released, each withheld as your share transferred · le_ per charge
debits $5,500.00 · py_… for setters, nurturers, placement and AI on the month's lost deals · each on its own deal's ledger
netting won bases $10,200.00 less lost cost $5,500.00 · the month's base $4,700.00, never below zero
credited take.credited · the take on $5,500.00, returned as one transfer, tr_…N26, to acct_…F0r5 on 1 Dec
The owner console prints the services.dev plan your files need, each key's sample, and what each key you wrote would have saved on your own jobs. Thirty days before a schedule would spend a sample, it offers plan.ahead, which your agent accepts within the ceiling. Buyers and members never see it.
→ GET /owner/plan # the owner console's plan card, for a tax brand on Launch
← plan · Launch (services.dev) · your files need Team for 2 keys
needs Team · Pool.standby at pools/preparers.ts:32 · 3 of 3 sampled jobs released · new Tasks fill on the ladder
Team · subject.of_record.custodian at services/annual-return.ts:31 · 1 of 3 sampled jobs released
Next: Money, every way a Service earns and pays, or the plans side by side on pricing.