Start
Plans and limits
What each plan allows over the API and MCP: job caps, per-minute budgets, Free's monthly loads, the monthly search pool and its lanes.
Every call runs under the tier of the key's workspace, the same tier that governs the web: Free, or the Bench, Shop or Works plan. There are no API-only tiers and no per-call charges: you pay for solver time, not calls. Linear and sheet solves are unlimited on every plan, with no daily or monthly cap. What a tier sets is how big a job may be, how many calls a minute, how many solves run at once, and how much full-speed search time nests and loads get a month.
By plan
| Plan | Solves and job starts a minute | Free calls a minute | Linear and sheet job | Nest parts | Nests and loads a month | Longest search | Solves at once |
|---|---|---|---|---|---|---|---|
| Free | 6 | 60 | 500 cuts, 5 stock lengths or sheet sizes | — | 5 loads | 15 s | 1 |
| Bench | 30 | 300 | Unlimited | 500 | 10 hours, about 600 one-minute nests or loads | 60 s | 2 |
| Shop | 30 | 300 | Unlimited | 2,000 | 25 hours, about 500 three-minute nests or loads | 3 min | 3 |
| Works | 30 | 300 | Unlimited | No cap | 80 hours, about 480 ten-minute nests or loads | 10 min | 4 |
"Free calls" are the calls that do no solving: checks, job status, plans, exports, usage and the saved parts and spaces lists, and on the MCP server initialize and tools/list too. An MCP ping or notification counts only against the per-address budget. Solves and job starts are the rest. The OpenAPI document is neither: it needs no key and counts only against the per-address budget. The job caps apply to linear cut lists (cuts and stock lengths) and sheet cut lists (parts and sheet sizes); nests count parts instead. Only Free caps linear and sheet jobs; every paid plan takes jobs up to the engine's ceiling. Free has no nesting and plans 5 loads a month.
Per-minute budgets
Three budgets apply, each over a calendar minute: the count starts again when the clock's minute turns.
- Solves and job starts per workspace:
POSTto the linear and sheet solves, nests and loads. - Free calls per workspace: everything else.
- Calls per address: 600 a minute from one IP address, whichever workspace.
A call past a budget gets 429 with one problem saying so. Wait for the next minute and retry. A 429 is also the answer when every solve slot of the workspace is busy (the "solves at once" column), and when the workspace already has 5 nests, or 5 loads, waiting to start.
The API and MCP count their per-minute budgets apart from each other and from the web.
Job caps
A linear cut list past its tier's cap on cuts or stock lengths, or a sheet cut list past its cap on parts or sheet sizes, is refused with 422. Each such problem names the plan that takes the job in its upgrade field, so a client can show the way up. A nest past its tier's part count is refused the same way.
Loads on Free
Free plans 5 loads per workspace each calendar month (UTC), single-stage, at full speed. A load that failed does not count. The sixth load in a month is refused with 403, its problem's upgrade naming the Bench plan:
{
"errors": [
{
"field": null,
"message": "The Free plan plans 5 loads a month, and this month's are used. The Bench plan plans loads within its 10-hour monthly pool of solver time.",
"upgrade": "bench"
}
]
}
The count starts again on the first of the month. Usage reads the loads used and left.
The search pool and its lanes
Nests and loads search for a while; linear and sheet solves search within the tier's search time too, but never touch the pool. Each paid plan has a monthly pool of full-speed search time, shared by the web, the API and MCP. Most jobs finish well inside their longest search, so the pool holds at least as many jobs as the table shows: about 600 one-minute nests or loads on Bench, 500 three-minute ones on Shop and 480 ten-minute ones on Works. Past the pool, nests and loads still run. A job reports the lane it searched in:
| Lane | When | What it means |
|---|---|---|
full_speed |
Pool left this month | The tier's whole search on its cores |
slower |
Pool spent | Half the search, on one core; never fails, never billed extra |
deep |
Pool spent, asked for, on the Works plan | The tier's whole search on its cores, started once nothing else of the workspace is running or waiting |
Ask for the deep lane with "deep": true in a nest or load request. While pool is left, a job runs at full speed whatever it asks. Below the Works plan the request is refused with 403. Usage reads what is left in the pool and which lane the next job runs in unless it asks for the deep lane.
Features by plan
Some request options belong to a plan. Asked for on a lower tier, the request is refused with 403, one problem per option at its first field, rather than quietly dropped.
- Free has miter cuts, DXF export and single-stage load planning.
- Bench unlocks roll stock, the cost target, materials, rush parts, end finishing and true-shape nesting, and lifts the caps on cuts, stock lengths and sheet sizes.
- Shop unlocks nest remnants and sheet defects in nests.
- Works unlocks the deep lane, pallet labels, linked load stages and the load cost target, and comes with a 99.9% uptime SLA.
The pricing page on nestsolver.com has the plans side by side.
The Bench pass
The Bench pass gives an account the Bench plan for 72 hours for $5, paid once through Stripe Checkout on the Billing page. Nothing renews and no card is kept. The 72 hours start when the payment is confirmed. A pass bought while one runs starts when that one ends. While it runs, the API and MCP work under Bench's limits, like the web. When it ends, the account is back on Free with nothing to cancel. A subscription to a higher plan takes over; someone with a paid subscription can't buy a pass.