Your workflow has a price. See it before your client does.
Drop an n8n export below. MarginKit shows what each AI node costs per run, where the real loops are, and where a retry storm will quietly burn your margin — before you commit to a fixed quote.
Drop your n8n workflow .json here
or
Export from n8n: open the workflow → menu (…) → Download
Unlimited workbench
Your verified Unlimited access enables local fixes, drift checks and model-cost comparisons.
Everything runs in this browser. Plans are proposals only: review every diff, confirm risky graph changes, and validate quality before changing production.
Agency delivery
Agency tools run locally. Your logo is read from this device into a data URI; it is never uploaded.
No logo selected.
Choose a tool to inspect a local result.
See it in action
A one-minute walkthrough on a real, public n8n template with 26 nodes — an email assistant with four AI agents. The validation corpus contains 100 workflows. Every number and every finding on screen comes from actually running the analyzer on it. Nothing is mocked up, and the spread it finds is $164 to $1,291 a month.
What it detects
Five failure modes turn a profitable delivery into a loss — or into a support ticket you cannot bill for. MarginKit finds them before production does.
Most expensive failure
AI agents with no iteration budget
This export contains maxIterations set to 100. One tool
returning a 404 or malformed JSON upstream can make the agent retry until your credit
runs out — a common failure pattern worth testing before delivery.
Two public incident reports describe large, unexpected bills after retrying
failed tools; the amounts depend on provider, traffic and time window.
MarginKit flags an unbounded agent, a budget above 10, and every agent tool with no
error path.
Per-node AI cost, as honest ranges
Real n8n node types, including models resolved through ai_languageModel
links. Low / typical / high — never fake precision. 83 catalogued models priced as of August 29, 2026.
Real loop detection
Actual cycle detection in the workflow graph — not keyword guessing. An AI node inside a loop multiplies its cost per iteration; MarginKit flags it.
Beyond cost
The things that damage the client
A key typed into a node instead of n8n's credential store travels inside the export you email to a client. A retry on a "send" delivers the message twice. An agent that reads an inbox, holds tools and can reply is the structure indirect prompt injection needs. MarginKit finds all three — and for secrets it reports where, never what.
Retry storms & hidden paid APIs
Node-level retryOnFail / maxTries that multiply a failing
paid call, plus HTTP nodes hitting OpenAI, Anthropic & co. directly.
Everything MarginKit does
The browser analyzer is the free front door. Free, Audit Pass, Unlimited and Agency are available through the secure browser unlock service. No workflow content is uploaded and no third-party telemetry is required.
Adjustable payload assumption: set the typical runtime payload in the analyzer when expressions inject data that is not present in the export. The report shows the assumption beside the estimate so you can change it and see the cost range move.
Understand — Free & Audit Pass
Cost, margin and risk
- Cost per run and per month as low / typical / high ranges, never a fake single number.
- Workflow Graph & Side-Effect Map showing graph paths and which nodes can call external systems or perform irreversible actions.
- 83 models priced across OpenAI, Anthropic, Google, DeepSeek, Qwen, Kimi, GLM, MiniMax, Mistral, Grok and Llama — including OpenRouter-style ids.
- Model resolution through node links, so a model attached via
ai_languageModelis priced against the node that actually uses it. - Production readiness score out of 100, derived from the findings — not a vibe.
- Evidence-linked findings: each result names the pattern, affected node, cost exposure and recommended fix.
- An explicit "what this report does not know" section on every report. Assumptions are stated, never hidden.
Control — Unlimited
Fix it and keep it fixed
- Workflow Fixer — prepares an explicit plan, shows the diff, and requires confirmation for changes that can alter execution or cost.
- Credentials are not exposed: MarginKit inspects only the references and parameter locations needed for detection; secret values are never displayed, logged or transmitted. Graph-changing fixes are identified as such.
- Cost drift tracking — accept a baseline, then see what changed and what it now costs when the workflow is edited.
- Deterministic gate verdict — review a repeatable cost and risk decision before changing production.
- Evidence-honest model optimizer — identifies cheaper same-family candidates and labels proposals when quality evidence is insufficient.
Bill it — Agency
Turn the analysis into revenue
- White-label reports — your agency name, logo and contact details. Your brand, not ours.
- Client quote generator — estimated monthly cost, recommended price to bill, estimated margin, proposed optimizations and the savings they unlock.
- Editable before export: adjust the quote, then produce a print-ready branded document.
- Terms and assumptions included, so the number you hand a client is defensible.
- Portfolio analysis across a whole batch of workflows.
- 10 browser devices — release them yourself at any time.
Every tier
Trust and privacy by construction
- Your workflow is not uploaded. Analysis stays in this browser. A same-origin counter may receive only an allowlisted event and bounded model or node identifiers — never the workflow, its name or credentials.
- No MarginKit account, no hosted workflow server. Licences are keys, not logins.
- No third-party telemetry. Optional product counters are first-party and aggregate; workflow content is never stored or transmitted.
- Shared browser/CLI cost and core-risk results, enforced by a parity suite across a public corpus of real workflows. CLI-only controls are listed separately.
- Secret-free by design: history, baselines and bills of material store metrics only, never nodes or credentials.
- Deterministic estimates — the same workflow, run assumptions and pricing snapshot produce the same estimate.
Every finding MarginKit can report
| Finding | Severity | What it means for your invoice |
|---|---|---|
AGENT_ITERATIONS_UNBOUNDED | High | An AI agent with no iteration budget — an abnormal input can keep billable rounds running. |
AGENT_ITERATIONS_HIGH | High | A budget above 10 is a blank cheque the first time an input goes wrong. |
AGENT_TOOL_NO_ERROR_PATH | Medium | An agent tool with no error handling — the documented trigger of the runaway loop. |
LOOP_DETECTED | Medium | A real cycle in the workflow graph, found by graph analysis, not keyword guessing. |
AI_INSIDE_LOOP | High | Cost multiplies per iteration, and the instructions are re-sent every time. Batching typically cuts it by about three. |
RETRY_STORM | High | Chained retries multiply: three nodes at five tries each is up to 125 paid calls for one run. |
RETRY_NO_BACKOFF | Medium | Retries with no wait hammer a failing paid API at full speed. |
CHEAPER_MODEL_AVAILABLE | Medium | A cheaper same-family candidate exists; verify quality before switching. |
PREMIUM_MODEL | Medium | A top-tier model priced well above the field, with no cheaper sibling identified. |
LARGE_CONTEXT | Medium | A context window large enough that a single run can cost more than a day of the rest. |
PAID_API_HTTP | Medium | An HTTP node calling a paid API directly — real spend that sits outside the model estimate. |
EMBEDDING_COST_NOT_BILLED | Medium | Embeddings are billed but easy to forget, especially when a RAG store is rebuilt on a schedule. |
NON_TEXT_MODEL_PRICED_SEPARATELY | Medium | Image and audio model resources use provider units such as per-image or per-minute pricing, not text-token heuristics. |
COMMUNITY_NODE_UNVERIFIED | Medium | Third-party node packages the workflow depends on. n8n's own docs: a community node has full machine access and receives decrypted credentials. |
CODE_NODE_DANGEROUS_API | High | A Code node reaching for process.env, require() or child_process — the host process, and every secret it holds. |
HARDCODED_SECRET | High | A live-looking credential typed into a node instead of n8n's encrypted store. It travels inside the export you email to a client. MarginKit reports the location only, never the value. |
UNSUPPORTED_AI_NODE | High | An unrecognized LangChain AI node may make model calls whose cost is not included in the estimate. |
UNCOUNTED_LLM_TOOL | Medium | An AI tool may execute a paid model or API outside the static cost estimate. |
DELEGATED_SUBWORKFLOW | Medium | A sub-workflow may contain additional AI spend that is not included in this analysis. |
FALLBACK_MODEL_MORE_EXPENSIVE | Medium | A fallback model costs more than the primary and can increase spend after a failure. |
PINNED_DATA_PRESENT | High | Real execution data is embedded in the export and may be shared unintentionally. |
AGENT_UNTRUSTED_INPUT_WITH_ACTIONS | High | The "lethal trifecta": untrusted input, an agent with tools, and a way to act on the world. Text in an email body becomes instructions the model follows. |
RETRY_ON_SIDE_EFFECT | High | A retry on a send or a write repeats the action. A timeout after it succeeded looks identical to a failure — so the client gets two emails, or two charges. |
CONTINUE_ON_FAIL_MASKS_ERROR | Medium | Continue-on-fail over an external action records a failed step as a completed one, and passes an error object downstream as if it were data. |
SCHEDULE_HIGH_FREQUENCY | Medium | The trigger's real cadence, derived from the export. Polling every minute is 43,200 runs a month, not the 100 a day you assumed. |
WHOLE_PAYLOAD_TO_MODEL | Medium | {{ $json }} sends every field of the upstream item — including the ones the model never reads — as billed input tokens. |
UNBOUNDED_PAGINATION | Medium | Pagination with no page ceiling. 200 records in staging, 50,000 in production, identical export. |
WEBHOOK_NO_DEDUPE | Medium | Paid AI behind a webhook with no de-duplication — retries and re-deliveries pay full price twice. |
NO_ERROR_WORKFLOW | Low | Nothing tells you when a paid step starts failing. Reported only when there is real exposure to alert on. |
MODEL_DEPRECATED | Medium | A model scheduled for retirement — a working workflow that will stop working. |
UNKNOWN_MODEL | Low | A model we cannot price. Flagged openly rather than silently guessed. |
NO_AI_NODES | Info | No AI node found — there is no model spend to estimate here. |
NO_MAJOR_RISK | Info | Nothing actionable found. Reported only when the workflow genuinely earns it. |
Compare, line by line
| Capability | Free$0 | Audit Pass$9 / 30 days | Unlimited$99/yr | Agency$249/yr |
|---|---|---|---|---|
| Estimated monthly cost range | ||||
| Production readiness score | ||||
| Finding counts by severity | ||||
| One finding explained in full | ||||
| Every finding explained, with the node and the fix | — | |||
| Exportable report (HTML, Markdown, JSON) | — | |||
| Hardcoded credential locations | — | |||
| Workflow Fixer — reviewable plan, diff, confirmation and export (Unlimited/Agency included) | — | — | included | included |
| Local cost drift with portable JSON baselines (Unlimited/Agency included) | — | — | included | included |
| Deterministic gate verdict and budget review (Unlimited/Agency included) | — | — | included | included |
| Evidence-honest model optimizer (Unlimited/Agency included) | — | — | included | included |
| White-label reports — your brand, not ours (Agency included) | — | — | — | included |
| Printable client quote (Agency included) | — | — | — | included |
| Portfolio and agency revenue dashboard (Agency included) | — | — | — | included |
| Devices | 1 | 1 | 3 | 10 |
See every detection and which tier shows it →
Appareils (navigateurs) — libérables toi-même à tout moment.
Findings are static analysis of your exported JSON. They describe cost and reliability exposure, not a security or compliance certification.
Pricing
Start free. Buy a 30-day pass to understand one evolving workflow. Unlimited and Agency browser checkout is open, with browser workbench access after license activation.
Discover
Free
$0
Do I have a problem?
- Estimated monthly cost range
- Production readiness score
- High / Medium finding counts
- 1 finding fully explained
Understand
Solo — Workflow Audit Pass
$9/30 days
What exactly is happening, and why?
- One evolving workflow
- 30 days from first activation
- Full cost, margin & risk report
- All recommendations explained
- Evidence-linked explanation for every finding
- Machine-readable report and one-workflow CI output
- Exportable HTML report
Control
Unlimited
$99/year
Fix it, test it, control it.
- Everything in the Audit Pass, for unlimited workflows
- Reviewable Workflow Fixer plan, diff, confirmation and export
- Local cost drift, portable baselines and deterministic gate verdict
- Evidence-honest model optimizer
- 3 devices (browsers) — release them yourself at any time
Make Money
Agency
$249/year
Price it, prove it, bill it.
- Everything in Unlimited
- White-label reports — your brand, not ours
- Printable client quote, portfolio and agency revenue dashboard
- 10 devices (browsers) — release them yourself at any time
Unlimited ($99/year) and Agency ($249/year) are available browser workbench tiers and unlock after license activation. Other platforms are not included.
Model pricing data updated: August 29, 2026.
Questions
Is my workflow uploaded anywhere?
No. The workflow analysis makes no network request and runs entirely in your browser.
The workflow file, name and credentials never leave the page. The hosted page may send
a separate first-party aggregate event such as upload_parse_success; it
contains no workflow content. License verification is separate and sends only the key,
device ID and one-way workflow identity hashes.
How accurate are the estimates?
They are honest ranges, not predictions. MarginKit counts the prompt text present in
your export; data injected at runtime by {{ expressions }} is unknown at
compile time and is stated as an assumption, never hidden. Every report ends with
"What this report does not know".
Which models are priced?
83 catalogued models as of 2026-08-29 cover OpenAI (GPT), Anthropic (Claude Opus / Sonnet /
Haiku), Google Gemini, DeepSeek, Qwen, Kimi, GLM, MiniMax, Mistral, Grok and Llama —
including OpenRouter-style ids like moonshotai/kimi-k2.6. Provider prices
outside this snapshot, self-hosted infrastructure, arbitrary community nodes and unknown
models are not exact prices; they are visibly marked and must be verified before quoting.
New models are added through the pricing-sync process, but no catalogue can promise a
price for a model released after its last verified refresh.
What's the difference between the Workflow Audit Pass, Unlimited and Agency?
The Workflow Audit Pass ($9) covers one evolving workflow for 30 days from first activation and unlocks its full cost, margin and risk report. Unlimited ($99/year) adds unlimited workflows, browser Workflow Fixer, cost drift, gate verdict and model optimizer. Agency ($249/year) adds white-label reports, client quotes, portfolio analysis and an agency revenue dashboard. Both workbench tiers unlock in the browser after license activation.
Does MarginKit modify or break my workflow?
The analyzer is read-only — it never writes to your file. The Workflow Fixer prepares a reviewable plan and requires confirmation for execution- or graph-changing fixes. MarginKit reads structural credential references and scans literal parameters for exposed-secret locations, but never displays, logs or transmits secret values. Every exported fix is re-validated as an n8n workflow.
Does it support Make.com or Zapier?
Not today. MarginKit analyzes n8n workflow exports. Other platforms stay out of scope until the n8n product is proven with paying customers — we would rather be exact on one platform than vague on three.
Why not just use ChatGPT or Claude?
ChatGPT and Claude can reason about a workflow if you paste it in and ask. What they can't do: measure your actual cost from real executions, remember what a workflow cost last month and flag the drift, apply the same pricing table across every run instead of guessing a number that changes each time, or gate a CI pipeline with a deterministic exit code. MarginKit isn't competing with the reasoning — it's the deterministic layer underneath it.
I lost my license key. What do I do?
Open Lemon Squeezy My Orders and retrieve the receipt or key using the purchase email. If it is still missing, contact support with the receipt — do not send your workflow or a secret key in a public message.
How do I move my license to another computer?
On the old computer, open the unlock panel and choose Release this device. Then enter the same key on the new computer. If the old computer is unavailable, contact support with the receipt and request an activation release.
What happens when my Audit Pass expires?
Buy a new Audit Pass and enter its key in the same unlock panel. The report remains local; the expired pass is not silently renewed.
How do I upgrade to Unlimited?
Open the Unlimited checkout on this page and activate the license in the browser analyzer. Your existing Audit Pass remains separate, and you can manage receipts and billing through the Lemon customer portal.
How do I request a refund?
Use the Lemon Squeezy receipt's support or refund route within the applicable purchase terms, and include the order number. Never include your workflow or license key in the request.