Back to guides
Compare·September 21, 2026·9 min read

Dyad vs Bolt.new vs bolt.diy: models, deployment and costs

Three AI app builders, two confusingly shared names, and one question that separates all of them: how the model bill reaches you.

Last reviewed on .

bolt.diy and Bolt.new share a name and almost nothing else. Bolt.new is a hosted service that sells you tokens and picks the model for you; bolt.diy is a separate MIT-licensed repository you run yourself and point at any OpenAI-compatible endpoint — and it has merged no code since February 7, 2026. Dyad is the third option: an actively released desktop app that also takes your own key, with a Node.js install as the price of admission. Choose on how you want the model bill to reach you: that single question separates all three, and it is the one a feature table tends to bury.

Two name collisions to clear first, because both of them produce plausible-looking wrong answers. github.com/stackblitz/bolt.new is a third artefact: the 2024 open-source snapshot of an older hosted version, MIT, 16,558 stars, last pushed December 17, 2024. It is not today's hosted product and it is not bolt.diy. And a different company, JuliaHub, ships an unrelated product also called Dyad for physics-based modelling and simulation, with its own published price list that includes a $20-per-month tier — numerically identical to Dyad Pro. A screenshot reading "Dyad, $20/month" can come from either product. Separately, "Bolt" is also a ride-hailing operator, an e-commerce checkout company, and Slack's app framework; none of their pricing belongs on this page.

Which product is which

NameWhat it isWho runs itCode activity
Bolt.newHosted AI app builder, browser only, tokens bought from BoltYou run nothing; StackBlitz operates itLive product, running a dated feature preview
bolt.diySelf-run open-source app builder, model chosen per promptYou run it, locally or on your own hostMIT, 19,890 stars, no commit on main since 2026-02-07
stackblitz/bolt.new2024 snapshot of an older hosted version — not a current optionNobody; use bolt.diy instead if you want the open-source lineMIT, last pushed 2024-12-17
DyadOpen-source desktop app builder, installed on your machineYou run it; Dyad Tech, Inc. publishes itv1.15.0 released 2026-09-11; repo pushed 2026-09-18

Repository figures read from the GitHub API on September 19, 2026. The StackBlitz link is explicit in Bolt's help documentation, which routes privacy, terms and team billing to stackblitz.com. bolt.diy's README still describes it as "the official open source version of Bolt.new", which its commit log does not currently support — both facts are reported here rather than one of them chosen.

Who should pick which

bolt.diy over Bolt.new when you need the model to be your decision and the code to run on hardware you control. You get per-prompt model choice across the providers its README lists, keys you supply, and deployment to Netlify, Vercel or GitHub Pages. The costs are real: you host it, you accept a seven-month merge freeze and a dependency set pinned to the previous AI SDK generation, and the generated app runs in StackBlitz's WebContainer, whose API the README says "requires licensing for production usage in a commercial, for-profit setting". Migration is cheap in one direction only — code generated in either tool is ordinary web code, but nothing carries your Bolt.new chat history across.

Bolt.new over bolt.diy when you want zero operational surface. There is nothing to install, nothing to keep patched, and hosting is part of the product: the Bolt Cloud plans give the free tier up to 10 GB bandwidth and 333,333 requests a month with a "Made in Bolt" badge, and paid accounts up to 30 GB and 1 million requests, counted across the whole account rather than per project. The price is that every lever is Bolt's. You pick an agent, not a model; you buy tokens, not API capacity; and you cannot reduce the bill by supplying a cheaper key, because there is nowhere to put one.

Dyad over both when you want bring-your-own-key without inheriting a stalled repository. It is the only one of the three that is both actively released and openly BYOK, and its free tier needs no sign-up at all. The tradeoffs are local: you must install Node.js to run the apps it generates, and in released v1.15.0 selecting a custom provider with Dyad Pro on drops the request out of Dyad's Pro engine entirely. Note also that the plans page advertises "Downloadable for macOS & Windows" while release v1.15.0 actually ships .deb, .rpm and .AppImage builds as well — the marketing page understates Linux support.

Execution, permissions and deployment

DyadBolt.newbolt.diy
Where it runsElectron desktop app you installHosted, in the browserYou run it; also ships an Electron build
Where generated apps executeYour machine, via your Node.js installBolt's infrastructureStackBlitz WebContainer in the browser
Model choiceBuilt-in providers plus any custom OpenAI-compatible endpointNone exposed — you pick an agent, Bolt picks the modelPer prompt, across the providers its README lists
Your own API keyYes, and the free tier assumes itNo published mechanismYes, that is the point of the project
DeploymentGitHub sync, then any cloud hostBolt Cloud, with bandwidth and request quotasNetlify, Vercel or GitHub Pages
Extra licence obligationNone stated for generated appsNone stated; Bolt says the code you create is yours to use commerciallyWebContainer API licence for commercial production use

Sources, all checked September 19, 2026: Dyad's publishing guide, which states you can deploy a Dyad app anywhere including your own cloud provider and lists GitHub, Supabase and Neon integrations; Bolt's agents documentation ("Bolt handles model selection behind the scenes"); and bolt.diy's README.

What each one actually costs

PlanPublished priceWhat it includes
Dyad Free$0No sign-up required; bring your own API key; community support
Dyad Pro$20 / month200 AI credits a month, Pro modes for large codebases, Dyad Academy
Dyad Max$79 / month900 AI credits a month, prioritised office hours, credit reloads at the same price
Bolt.new Free$01M tokens a month plus a 300K daily cap; free tokens do not roll over
Bolt.new ProFrom $25 / monthStarts at 10M tokens a month, no daily limit; larger allotments are higher-priced Pro tiers
Bolt.new Teams$30 / month per memberBilled separately from Pro; free members cannot prompt
Bolt.new EnterpriseNot publishedOwn AWS or Azure tenant, SSO, SOC 2 Type 2 — sales-gated
bolt.diy$0 to installMIT; you pay your model provider, your hosting, and the WebContainer licence if commercial

Dyad prices from its plans page; Bolt prices from its pricing page and billing documentation, all read September 19, 2026. Three gaps worth knowing before you budget. First, Dyad publishes no dollar or token value for one AI credit — its credits guide gives only the formula "Number of tokens x Cost per token = AI credits used", so 200 credits cannot honestly be converted into an amount of work. Second, two of Bolt's own pages disagree about annual billing: the pricing page advertises saving "up to 28%" with yearly billing while the billing document says "yearly pricing at 10% off", and that same document's own worked example of $25 a month against $216 a year is a 28% gap. Take the plan price shown in your own checkout, not either percentage. Third, Bolt accepts credit and debit cards only for Pro and Teams, and states that subscriptions are non-refundable.

One dated item, because it expires soon: Bolt is running Bolt Forge as a research preview "from September 14 to October 14, 2026", using the open-source models GLM 5.3, GLM 5.3 Flash, Kimi K3 and DeepSeek v4 Pro. It is included at no extra cost with individual Pro plans, is not available on Teams or Enterprise, and is otherwise reachable through Bolt Lite, a standalone $9-a-month plan you join a waitlist for. The page's own timeline graphic says Lite subscribers keep Forge after the preview ends while Pro subscribers lose access to it — a research preview by Bolt's own description, so confirm the terms in your account before planning around it.

Bringing your own key: three different answers

This is the section that decides whether a gateway is relevant to you at all, and the three products give three genuinely different answers.

Dyad accepts any OpenAI-compatible endpoint, as a custom provider. The path in Dyad's custom models documentation is Settings, then AI Providers, then Add Custom Provider, with three fields: ID (which cannot be changed later), Display Name and API Base URL. You then open that provider and use Add Custom Model, whose Model ID "must match exactly what's specified in the provider's API documentation", alongside Name, Description, Max Output Tokens and Context Window. The protocol is not negotiable: the shipped v1.15.0 source comments // Assume custom providers are OpenAI compatible for now before constructing an OpenAI-compatible client from your base URL, and it throws if the base URL is empty. Dyad's built-in Anthropic provider is constructed with no base-URL parameter at all, so an Anthropic-protocol endpoint cannot be substituted there — a gateway has to go in as a custom OpenAI-compatible provider. For Kunavo that base URL is https://api.kunavo.com/v1. Dyad's documentation gives no example URL and never says whether /v1 belongs in the field, so that specific recommendation is inferred from how the underlying SDK appends its path, and has not been runtime-tested here.

The plan boundary matters more than the setup. Turbo Edits and Smart Context are Dyad Pro modes — that page says Pro members get access to them, and says nothing about custom providers either way. What the shipped code does say is where the request goes. In released v1.15.0, turning Pro on while a custom provider is selected logs "Dyad Pro enabled, but provider … does not have a gateway prefix defined. Falling back to direct provider connection" and quietly uses your endpoint without the Pro engine. Unreleased code on main replaces that fallback with an explicit error instructing you to turn Pro off to use your own key. Describe your own setup from v1.15.0 behaviour; treat main as a direction of travel only.

Bolt.new publishes no key field at all. Its full documentation index lists 93 pages and none of them covers API keys, providers, model selection or self-hosting, and the FAQ states that Bolt doesn't currently have a public API, CLI or SDK for driving it from outside the product. The Enterprise page sells tenant isolation, and names no custom model endpoint. So on everything Bolt publishes, there is no place to put a gateway key — this one or any other — and therefore no documented way to reduce a Bolt.new bill by supplying one. What an unpublished enterprise arrangement allows is not something an outside reading can settle, and that limit is the honest answer here.

bolt.diy is built around the idea. The relevant provider is OpenAI-like, which its README places in Settings under the Providers tab, in the Local Providers group, described as "Connect to any OpenAI-compatible API endpoint". Keys entered through that UI are stored in browser cookies. The environment-variable route is two names, and there is a trap immediately behind them:

.env.local
# bolt.diy reads these two names in .env.example and in the provider module.
# The API root must be the one that serves /models, because that is the path
# bolt.diy calls to discover your model list.
OPENAI_LIKE_API_BASE_URL=https://api.kunavo.com/v1
OPENAI_LIKE_API_KEY=your_key_here

# Read ONLY when the /models call fails: in the released provider module this
# list is a fallback inside the catch branch, not an override. When discovery
# succeeds, every model it returns is registered with maxTokenAllowed: 8000.
# Format, from the code comment: path/to/model1:limit;path/to/model2:limit
OPENAI_LIKE_API_MODELS=claude-sonnet-4-6:<context-limit>

The trap is in the provider module: bolt.diy discovers your models by calling GET {baseUrl}/models with a bearer token, then registers every model it finds with maxTokenAllowed: 8000 — the figure the app displays and budgets against, so a 200K-context model is treated as an 8K one. OPENAI_LIKE_API_MODELS is not the escape hatch it looks like: in the released module that variable is read only inside the catch branch, after the /models request fails, and it is referenced nowhere else in the repository. Note also that bolt.diy's README and its .env.example disagree on variable names for some providers — the README uses OLLAMA_BASE_URL where the code reads OLLAMA_API_BASE_URL — so trust .env.example. The OpenAI-like names happen to match in both. And as in Dyad, the Anthropic protocol is closed: bolt.diy's Anthropic provider declares no base-URL key and fetches api.anthropic.com directly.

A worked cost estimate for the BYOK route

These figures are token arithmetic, not measured task costs and not a bill ceiling. App builders are output-heavy because whole files are rewritten, so assume two shapes: a small iteration sending 120,000 input tokens and receiving 25,000 output, and a larger one at 400,000 in and 60,000 out. Both assume no cache hits. Rates are live Kunavo catalog prices per million tokens.

ModelInput / output per 1MSmall iterationLarger iteration
Claude Haiku 4.5$0.40 / $2.00$0.098$0.280
Gemini 3.8 Flash$0.525 / $2.625$0.129$0.368
GPT-5.6 Terra$0.70 / $4.20$0.189$0.532
Claude Sonnet 4.6$1.20 / $6.00$0.294$0.840
Claude Sonnet 5$2.00 / $10.00$0.490$1.400

Read the spread rather than the winner. Under these assumptions the same larger iteration is $0.280 on Claude Haiku 4.5 and $1.400 on Claude Sonnet 5. Cheapest listed rate and cheapest way to finish the work are separate questions: a model that needs three attempts at a low rate can cost more than one that needs a single attempt at a high one, and no price table settles that for your codebase. What this comparison cannot do is put Bolt.new on the same axis — Bolt's token allotment is its own accounting unit with no published conversion to model tokens, so 10 million Bolt tokens and 10 million API tokens are not the same quantity.

Kunavo's catalog amount is a billing floor rather than a cap: when the upstream reports its charge, the bill is the greater of catalog cost and upstream cost times the applicable markup. Cache charges and external tools sit outside this example. The minimum top-up is $10 in prepaid credit, which is a funding minimum rather than a task fee or a subscription — see billing details.

Point either BYOK client at one endpoint

Kunavo publishes no client-specific setup page for Dyad or bolt.diy, and neither has been runtime-tested here against api.kunavo.com — everything above was read from each project's own documentation and released source. The pattern is the same for both: an OpenAI-compatible base URL of https://api.kunavo.com/v1, a key, and the exact model id from the catalog. Start with the quickstart, confirm the request shape in the chat completions reference, and check the model catalog for the id to type into Dyad's Model ID field or bolt.diy's model list. The OpenAI-compatible base URL doc covers the same pattern for any other client that takes a base URL. Create a Kunavo account when you are ready to fund a key, then run one bounded task and read the charge your account actually recorded.

Weighing gateways rather than builders? OpenAI-compatible API covers the protocol, OpenRouter alternatives the incumbent comparison, and AI coding model comparison the model choice these builders hand back to you.

FAQ

What is the difference between bolt.diy and Bolt.new?

They share a name and a lineage, not a product. Bolt.new is a hosted service operated by StackBlitz: you sign in, you buy tokens, and you choose an agent rather than a model — Bolt's documentation says it handles model selection behind the scenes, and publishes no API-key field. bolt.diy is the MIT-licensed repository stackblitz-labs/bolt.diy that you run yourself, where choosing the model per prompt is the headline feature and you supply every key. The pricing is therefore not comparable: Bolt.new Free gives 1 million tokens a month with a 300K daily cap and Pro starts at $25 a month, while bolt.diy costs nothing to install and bills you only through whatever model provider you point it at, plus your own hosting. One more warning: github.com/stackblitz/bolt.new is a third thing — the 2024 open-source snapshot of an older hosted version, last pushed December 17, 2024 — and it is neither the current product nor bolt.diy.

Is bolt.diy still maintained?

The repository is live and not archived, but the cadence is the honest answer. The newest commit on main is dated February 7, 2026, and the three most recently merged pull requests all landed that same day. Since then 56 pull requests have piled up open, including ones created on September 14, September 5 and September 1, 2026 with no replies. The latest GitHub release is v1.0.0 from May 12, 2025. Its AI SDK dependencies are pinned to the previous SDK generation, with @ai-sdk/anthropic at 0.0.39 and @ai-sdk/openai at 1.1.2. There is no pinned announcement issue and no release note explaining the pause, so read this as a merge freeze of more than seven months rather than an announcement that the project is over. Figures read from the GitHub API on September 19, 2026.

Dyad vs Bolt: which should I use?

Pick Dyad if you want the model bill to be yours to control. Dyad is a desktop app you install, its free tier requires no sign-up and explicitly expects you to bring your own API key, and it lets you add any OpenAI-compatible endpoint as a custom provider. Pick Bolt.new if you would rather not manage keys, models or a local Node.js install at all, and you accept that the meter is Bolt's: tokens are purchased from Bolt, model selection happens behind the scenes, and Bolt's documentation index publishes no API-key, provider or self-hosting page. The practical dividing line is that an API gateway can lower a Dyad bill, and that nothing Bolt publishes gives you anywhere to put a gateway key at all.

bolt.diy vs Dyad: which is better for bring-your-own-key?

Both accept an OpenAI-compatible endpoint, and Dyad is the safer bet in 2026 on maintenance grounds alone. Dyad shipped v1.15.0 on September 11, 2026 and its repository was pushed to on September 18, 2026; bolt.diy has merged nothing since February 7, 2026. The configuration differs too. Dyad takes an ID, a Display Name and an API Base URL in Settings, then a Model ID entered by hand for each model. bolt.diy takes OPENAI_LIKE_API_BASE_URL and OPENAI_LIKE_API_KEY, discovers models automatically by calling GET /models on your base URL, and then registers every model it discovered that way with a token limit of 8000. OPENAI_LIKE_API_MODELS does not lift that: in the released provider module it is read only when the /models call fails. bolt.diy also runs generated apps in StackBlitz's WebContainer, whose API its README says requires a licence for production use in a commercial setting; Dyad runs them with your local Node.js instead.

Can I use my own API key with Bolt.new?

Bolt publishes no way to do it. Its complete documentation index — 93 pages covering building, design systems, cloud hosting, integrations, settings and billing — contains no API-key page, no provider page, no model-selection page and no self-hosting page, and the FAQ states that Bolt doesn't currently have a public API, CLI or SDK for controlling it from outside the product. The Enterprise page sells deployment into your own AWS or Azure tenant, which is infrastructure isolation rather than bring-your-own-model, and names no custom endpoint. That is an exhaustive search of what Bolt publishes, not a denial on Bolt's behalf: an unpublished enterprise arrangement cannot be ruled out from the outside. If bring-your-own-key is a requirement, bolt.diy or Dyad is the shape of product that offers it.

Does Dyad Pro work with a custom provider?

Not through Dyad's Pro engine, in the version that ships today. Turbo Edits and Smart Context are documented as modes Dyad Pro members get access to; Dyad's documentation does not say whether a custom provider can reach them. In released v1.15.0, if Dyad Pro is on and the selected provider has no gateway prefix — which is the case for a custom provider, since Dyad's own code notes that gatewayPrefix is not part of the custom-provider schema — Dyad logs that it is falling back to a direct provider connection and uses your endpoint without routing through the Pro engine at all. Unreleased code on main turns the same situation into an explicit error telling you to turn off Dyad Pro to use your own key. Dyad's documentation says nothing either way, so this is a reading of the source rather than a published rule, and it can change in any release.

How much do 10 million Bolt tokens cost in real model tokens?

There is no published conversion, and treating Bolt's token allotment as if it were model tokens is the easiest way to get this comparison wrong. Bolt's own token documentation explains tokens as fragments of text and says project size drives how fast they burn, but publishes no rate and no mapping to any model's tokenizer. It also does not publish the price of a token reload, saying only that the price per reload varies by plan. So Bolt Pro's 10 million tokens at $25 a month and 10 million tokens billed at a per-million API rate are two different units with a coincidentally similar name. Compare the two routes by running the same feature through both and reading each account's own meter.

Checked September 19, 2026: dyad.sh plans, pricing and documentation; bolt.new pricing and the support.bolt.new documentation index; and the GitHub API for dyad-sh/dyad, stackblitz-labs/bolt.diy and stackblitz/bolt.new. Dyad behaviour claims were read at released tag v1.15.0 and bolt.diy's at main. Nothing on this page was runtime-tested against Kunavo's endpoint, and Kunavo token rates come from the live catalog, so every dollar example here is illustrative token arithmetic rather than a measured task cost.