Vercel
Vercel feature flags: the Flags SDK, Edge Config, and what Vercel Flags now costs
Vercel's flag story changed in April 2026 and most write-ups have not caught up. There are now four separate things wearing the same name, and only one of them actually manages flags. This page separates them, gives you the current published prices, and is honest about the one trade-off the App Router forces on you.
The short answer
"Vercel feature flags" now means four things. Vercel Flags is a first-party managed provider with a dashboard, targeting rules, reusable segments, weighted splits, progressive rollouts and per-flag change history with one-click restore; it went generally available on April 16, 2026. The Flags SDK is the free, open-source, vendor-neutral library that reads flags from whatever adapter you give it, including LaunchDarkly, Statsig, PostHog and Vercel Flags itself. Edge Config is a low-latency key-value store people often use to hold flag values, with no targeting logic of its own. Flags Explorer is the Vercel Toolbar override UI for development. Pricing: Vercel Flags is $0.03 per 1,000 flag requests on Pro, where a page evaluating ten flags counts as one request. The genuine trade-off that has not gone away is that awaiting a flag in a React Server Component makes the route dynamic.
Last updated July 2026 · verified against vercel.com/docs and flags-sdk.dev
01 · Four things, one name
Which of these do you actually mean?
This is the single most confused topic in the Next.js ecosystem right now, largely because the answer was different six months ago.
| Thing | What it is | Manages flags? |
|---|---|---|
| Vercel Flags | First-party managed provider with a dashboard. GA April 16, 2026. | Yes. A PM can flip a toggle. |
| Flags SDK | Open-source vendor-neutral adapter library for Next.js and SvelteKit. | No. It reads from an adapter you supply. |
| Edge Config | Low-latency global key-value store. | No. Storage only, you write the logic. |
| Flags Explorer | Vercel Toolbar override UI for development. | No. Local overrides only. |
If you read an article claiming Vercel has no flag UI, no targeting engine, no rollout control and no change history, it was written before February 2026 and every one of those claims is now wrong.
02 · Set it up
One declaration per flag, and an adapter you can swap
The Flags SDK's design is genuinely good: a flag is a declared object with a key, an adapter and an identify function, and you call it like a function. The adapter is the seam, so moving from Edge Config to Vercel Flags to LaunchDarkly is a one-line change at the declaration rather than a rewrite of every call site.
Adapters published on npm include Vercel, LaunchDarkly, Edge Config, GrowthBook, Statsig, PostHog, Optimizely, Split, Hypertune, Bucket and HappyKit. Worth knowing before you plan around one: the Vercel and LaunchDarkly adapters have shipped recently, while most of the others have not been updated since November 2025.
// flags.ts · npm install flags @flags-sdk/vercel
import { flag, dedupe } from 'flags/next';
import { vercelAdapter } from '@flags-sdk/vercel';
type Entities = {
user?: { id: string; email: string; plan: string };
};
// dedupe() ensures identify runs ONCE per request, not once per flag.
// Skip it and a page reading six flags does six session lookups.
const identify = dedupe(async (): Promise<Entities> => {
const session = await getSession();
if (!session?.user) return {};
return {
user: {
id: session.user.id,
email: session.user.email,
plan: session.user.plan,
},
};
});
export const premiumFeature = flag<boolean, Entities>({
key: 'premium-feature',
adapter: vercelAdapter(), // swap for launchdarkly/statsig/posthog/edgeConfig
identify,
});
// In a server component:
// const on = await premiumFeature();
// NOTE: awaiting a flag in an RSC makes the route DYNAMIC.
// To keep it static, use the precompute pattern in Middleware.
The same declaration works with a plain decide() function and no provider at all, which is a reasonable way to start. If you are wiring flags into a Next.js app more broadly, our Next.js feature flags guide covers the server and client component split in detail.
03 · The spec sheet
Published limits and prices, in one table
From Vercel's docs and changelogs in July 2026. One warning: Vercel's own Edge Config pricing tables still show older flat rates that a November 2025 changelog superseded with per-unit billing. The per-unit figures below are the current ones.
| Dimension | What Vercel documents |
|---|---|
| Vercel Flags status | Public beta February 2026, generally available April 16, 2026 |
| Vercel Flags price | $0.03 per 1,000 flag requests on Pro. Enterprise custom. |
| What counts as a flag request | One page request evaluating ten flags from the same source project counts as one request. Each additional source project counts separately. |
| Hobby flag requests | Up to 10,000 per month |
| Flag and segment limits | 100 each on Hobby and Pro Trial. 10,000 each on Pro and Enterprise. Archived flags still count. |
| Flag size limits | 200KB per flag or segment, 10MB total per project |
| Targeting | Entities, attributes, reusable segments, ordered rules with multi-filter matching, fallthrough outcomes. 32 entity types, 32 attributes per entity, 10,000 rules per environment. |
| Rollouts | Weighted split bucketed by entity attribute, plus progressive rollout with scheduled steps and a fallback variant |
| Change history | Per-flag Activity showing who changed what and when, with one-click restore of a prior config |
| Org-wide audit logs | A separate Vercel product, Enterprise only |
| Propagation | Vercel Flags replicates globally in milliseconds. Edge Config writes take up to 10 seconds. |
| Edge Config latency | Vast majority of reads within 15ms at P99, often under 1ms. Read optimizations only on Edge and Node.js runtimes. |
| Edge Config store size | 8KB Hobby, 64KB Pro, 512KB Enterprise |
| Edge Config price (Pro) | $0.000003 per read, $0.01 per write, per the November 2025 changelog |
| Flags Explorer overrides | 150 per month on Hobby, Pro and Enterprise alike, then $250 per month for unlimited |
| Flags SDK | Free and open source. Next.js App Router, Pages Router, Middleware, and SvelteKit. |
| Works outside Vercel | Yes, via SDK keys for manual authentication. OIDC auth is the Vercel-only convenience path. |
| OpenFeature | Supported via @vercel/flags-core/openfeature |
| Experiment analytics | Flag values annotate Web Analytics and Runtime Logs. No documented significance testing, confidence intervals or lift calculation. |
| Flag type | Immutable after creation |
| Archiving a flag | The SDK stops serving it and your app falls back to the in-code default, or errors if no default is set |
04 · The walls
Four real trade-offs, now that the old complaints are fixed
The interesting thing about Vercel Flags going GA is that it invalidated most of the standard criticism. These are what is genuinely left.
Wall 1
Flags make App Router routes dynamic
This is the real one and it is structural, not a product gap. Awaiting a flag in a React Server Component means the route can no longer be statically rendered, which for a content-heavy site is a meaningful performance and cost change. Vercel is upfront about it and ships the precompute pattern as the answer.
Wall 2
Precompute trades one problem for another
The precompute pattern encodes flag combinations into a URL segment in Middleware so pages stay static. It works. It also means permutations grow exponentially with the number of flags and the cardinality of each, so build times inflate and cache hit rates degrade. Vercel documents this cost themselves. It is fine for three flags on a landing page and unworkable for thirty across an app.
Wall 3
No statistics engine
Vercel annotates page views and events with flag values in Web Analytics and Runtime Logs, which tells you what happened per variant. What is not documented anywhere is significance testing, confidence intervals or lift calculation. The docs point you at Web Analytics or your own warehouse. If you want a rollout that stops itself on a guardrail metric, that logic is yours to build.
Wall 4
The estate has to be mostly Vercel and mostly JavaScript
The Flags SDK covers Next.js and SvelteKit. If your flags also need to be evaluated in a Go service, an iOS app and a Python data pipeline, per-project SDK keys and a JavaScript-first SDK get awkward fast. This is a very good answer for a Vercel-hosted frontend and a partial answer for a heterogeneous estate.
The tripwire · 150 overrides
The Toolbar override limit is the same on every plan, including Enterprise
Flags Explorer lets a developer override a flag value locally to test a variant, and it is capped at 150 overrides per month on Hobby, Pro and Enterprise alike, after which unlimited costs $250 per month. One override is one click of the apply button. On a team of eight actively developing behind flags, 150 clicks a month is a fortnight. It is a small number that is easy to miss when evaluating, and it does not scale away by upgrading your plan.
05 · The honest fork
Should you just use Vercel Flags? If you are on Vercel, probably.
Use Vercel
Stay put if all of this is true
- Your application is a Next.js or SvelteKit app hosted on Vercel, and that is most of your surface area.
- You want targeting, segments and progressive rollouts without adding a vendor, a bill or an SSO integration.
- Batched flag requests suit you: a page reading ten flags costs one request, which makes $0.03 per 1,000 very cheap.
- You are happy measuring results in Web Analytics or your own warehouse rather than a built-in stats engine.
- A handful of ops toggles is all you need, in which case Edge Config alone at $0.000003 per read is cheaper still.
We will say this plainly: for a team fully on Vercel, Vercel Flags is a strong product at a good price and adding us on top would be an extra vendor for no clear gain. Take the feature flag best practices and stay where you are.
You need more
Look further when any of this is true
- Your flags have to be evaluated across a heterogeneous estate: backend services, mobile apps, non-JavaScript languages.
- You need real experiment analysis with significance testing and guardrail metrics, not flag-tagged page views.
- You are fighting the precompute permutation explosion because you have more than a handful of flags on static routes.
- You need approval workflows or change-request gating on flag edits.
- You need org-wide audit logging without an Enterprise contract.
- Your team burns through 150 Toolbar overrides a month and $250 for the privilege is not appealing.
A hosting-independent feature flags platform gives you one evaluation core across every language and runtime, built-in A/B testing, and a kill switch that is not tied to where you deploy.
06 · FAQ
Questions people actually search
Does Vercel have feature flags?
Yes, and this is newer than most articles suggest. Vercel Flags, a first-party managed flag provider with a dashboard, targeting rules, segments and progressive rollouts, entered public beta in February 2026 and went generally available on April 16, 2026. Before that Vercel offered only the Flags SDK, which reads from a provider you supply.
How do I use feature flags in Vercel?
Install the Flags SDK and declare each flag with the flag() helper from flags/next, giving it a key, an adapter and an identify function that returns your user entities. The adapter decides where the value comes from: Vercel Flags, LaunchDarkly, Statsig, PostHog, Edge Config or your own decide() function. Call the flag like a function in a server component.
Is Vercel Flags free?
On Hobby you get up to 10,000 flag requests per month and a 100-flag limit. Pro is billed at $0.03 per 1,000 flag requests with a 10,000-flag limit. Usefully, a single page request evaluating ten different flags from the same source project counts as one flag request, not ten, so the meter is kinder than it first looks.
How much do Vercel feature flags cost?
Vercel Flags is $0.03 per 1,000 flag requests for Pro teams, with Enterprise pricing custom. Edge Config, if you use it to store flags instead, is billed on Pro at $0.000003 per read and $0.01 per write. The Flags SDK itself is free and open source. The Flags Explorer override tool caps at 150 overrides per month on every plan.
What is Vercel Edge Config used for?
Edge Config is a low-latency global key-value store for small pieces of configuration you read on almost every request: kill switches, maintenance mode, IP blocks, redirects. Vercel documents that the vast majority of reads complete within 15ms at P99, often under 1ms. It is storage only, so any targeting or bucketing logic is yours to write.
Does Next.js have built-in feature flags?
Next.js itself does not ship a flag system. The Flags SDK is a separate open-source package that works with Next.js App Router, Pages Router and Middleware, as well as SvelteKit. It is maintained by Vercel but is not part of the Next.js framework, and it works outside Vercel too when you authenticate with SDK keys rather than OIDC.
Can you use the Vercel Flags SDK outside Vercel?
Yes. The Flags SDK is open source and portable, and Vercel documents SDK keys for manual authentication including applications outside Vercel. The Vercel-only part is OIDC authentication, which is the default convenience path. There is also OpenFeature support for teams standardizing on that specification across frameworks.
Do feature flags break static rendering in Next.js?
Awaiting a flag inside a React Server Component makes that route dynamic, which is the real cost of flags on the App Router. The documented workaround is the precompute pattern: Middleware encodes flag combinations into a URL segment so pages stay static. It works, but permutations grow exponentially with flag count, inflating build times and hurting cache hit rates.
Early access · launching soon
Flags that follow your code, not your host
One evaluation core across every language and runtime, unlimited flags and seats, flat per-team pricing. Join the early-access list, no card required.
No card required · your data stays yours
Keep exploring
More feature flag resources
- AWS Feature Flags
- Azure Feature Flags
- Harness Feature Flags
- Trunk Based Development
- Canary Deployment Made Simple With Feature Flags
- Feature Toggle Management for Engineering Teams
- Gradual Rollout
- Feature Flag Kill Switch
- React Feature Flags
- Next.js Feature Flags
- Node.js Feature Flags for APIs and Backends
- Python Feature Flags for Django, Flask and FastAPI