Vercel brings first-party storage to its frontend cloud
Vercel has announced a suite of serverless storage products — Vercel KV, Vercel Postgres, Vercel Blob, and Vercel Edge Config — built in partnership with infrastructure providers Upstash and Neon. The move reflects the growing trend of server-first and edge-first frameworks, where data is fetched inside server components rather than shipped as client-side JavaScript.
For new projects, the sheer number of backend and database options can be overwhelming. Vercel aims to reduce that friction by offering storage that is open, easy to adopt, and designed to scale alongside its compute offerings.
Vercel KV: Redis-compatible durability
Key-value stores remain a go-to for rate-limiting, session management, and application state. Vercel KV provides a serverless, Redis-compatible database that can be written to and read from Vercel's edge network in user-specified regions with minimal configuration.
Built with Upstash, Vercel KV persists data both in memory and on disk by default, meaning it can safely hold state without data loss on server crashes. The following example shows how to use it for storing user preferences:
import kv from '@vercel/kv';
export async function getPrefs() {
const prefs = await kv.get('prefs');
return prefs || {};
}
export async function updatePrefs(prefs: Record<string, string>) {
return kv.set('prefs', prefs);
}
Vercel Postgres: SQL for the serverless era
For relational workloads, Vercel Postgres delivers a fully managed, scalable SQL database in partnership with Neon. It is designed to work with the Next.js App Router, Server Components, and other frameworks like Nuxt and SvelteKit, allowing developers to fetch, insert, update, and delete data directly inside React Server Components.
import { sql } from '@vercel/postgres';
import { redirect } from 'next/navigation';
async function create(formData: FormData) {
'use server';
const { rows } = await sql`
INSERT INTO products (name)
VALUES (${formData.get('name')})
`;
redirect(`/product/${rows[0].slug}`);
}
export default function Page() {
return (
<form action={create}>
<input type="text" name="name" />
<button type="submit">Submit</button>
</form>
);
}
This approach enables powerful server-first data mutations while reducing the amount of client-side JavaScript. Vercel Postgres also works with Next.js Server Actions, announced separately at this year's conference.
Vercel Blob: Simple file storage without buckets
Vercel Blob targets unstructured data such as images, PDFs, CSVs, and large media files. Its API is built on web standards and requires no bucket configuration or heavyweight SDKs, making it an alternative to services like Amazon S3 for files that are programmatically uploaded or generated at build time.
import { put } from '@vercel/blob';
export async function PUT(request: Request) {
const form = await request.formData();
const file = form.get('file') as File;
const blob = await put('avatars/user-42.png', file, { access: 'public' });
return Response.json(blob);
}
Common use cases include avatars, screenshots, cover images, videos, and other assets that benefit from being served through Vercel's global network.
Availability and next steps
Hobby and Pro users can start with Vercel KV and Vercel Postgres today via starter templates for Next.js. Vercel Blob is in private beta, with early access available by request.
These products build on Vercel's existing integrations with database partners such as Supabase, PlanetScale, and MongoDB. Documentation covers pricing, limits, and usage. Vercel notes that the earlier Vercel KV and Vercel Postgres products have been sunset, and alternative KV and Postgres solutions remain available through the Vercel Marketplace Storage category with automatic provisioning and unified billing.



