One API for the whole business.
Hosting, a Postgres database, sign-in, email, AI, payments and company formation, behind one key, with usage and limits in one place. Built for builders and the agents that work for them.
$ vibiz --help vibiz — website, database and sign-in for a new business, in one command vibiz login log in from the browser: prints a link, you click Authorize, a new agent key is saved here [--key <vz_sk_…>] [--api <url>] [--no-browser] or save a key you already have vibiz signup the same as login: no account yet? one is opened for you on the way vibiz whoami the account and key this machine uses vibiz logout forget this machine's key (a browser login's key is revoked too) vibiz init <name> [--resources a,b|none] create a project here (default: hosting, database, auth, analytics). Any one alone works for an app on another host: --resources email, auth, ai, analytics… or none (payments, files, web data, social, company …
The parts that take money and sign people in.
Server-side calls on one key, VIBIZ_APP_KEY. Every example below is on its product page, with plain HTTP for when the package isn't installed.
import { redirect } from 'next/navigation';
import { vibiz } from '@vibiz/app';
import { currentUser } from '@/lib/auth/server';
export default function Pricing() {
async function upgrade() {
'use server';
const user = await currentUser();
if (!user) redirect('/sign-in');
const { url } = await vibiz.payments.checkout({
lookup_key: 'pro-monthly',
user: user.id,
success_url: 'https://acme-bakery.vibiz.app/billing/success',
cancel_url: 'https://acme-bakery.vibiz.app/pricing',
});
redirect(url);
}
return (
<form action={upgrade}>
<button type="submit">Upgrade to Pro · $15/month</button>
</form>
);
}
A hosted checkout per click. Vibiz is the merchant, so it works from the first call. Read the docs
import { vibiz } from '@vibiz/app';
export async function POST(req: Request) {
let event;
try {
event = await vibiz.webhooks.receive(req); // only VIBIZ_APP_KEY needed
} catch {
return new Response('bad signature', { status: 400 });
}
if (await alreadyHandled(event.id)) return new Response('ok');
switch (event.type) {
case 'payment.succeeded':
await markPaid(event.data.object.user, event.data.object.amount_cents);
break;
case 'subscription.canceled':
await downgrade(event.data.object.user);
break;
}
return new Response('ok');
}
Signed events for payments, subscriptions and withdrawals. Verify the raw body, dedupe on id. Read the docs
import { redirect } from 'next/navigation';
import { vibiz } from '@vibiz/app';
import { currentUser } from '@/lib/auth/server';
export default async function Dashboard() {
const user = await currentUser();
if (!user) redirect('/sign-in');
const pro = await vibiz.payments.hasActive(user.id, 'pro-monthly');
return (
<main>
<h1>Hi {user.name}</h1>
<p>{pro ? 'You are on Pro.' : 'You are on the free plan.'}</p>
</main>
);
}
Email, magic links and Google sign-in per project, with an empty development copy. Read the docs
'use server';
import { vibiz } from '@vibiz/app';
export async function orderReady(order: { id: string; email: string; name: string }) {
await vibiz.email.send({
to: order.email,
subject: 'Your order is ready',
text: `Hi ${order.name}, order ${order.id} is ready for pickup today.`,
from: 'orders',
reply_to: 'owner@acme-bakery.com',
});
}
Send from orders@<your-slug>.vibiz.app. 50 a day per project, no DNS to set up. Read the docs
import OpenAI from 'openai';
import { vibiz } from '@vibiz/app';
const openai = new OpenAI(vibiz.ai);
export async function POST(req: Request) {
const { messages } = await req.json();
const stream = await openai.chat.completions.create({
model: 'vibiz/fast',
messages,
stream: true,
});
return new Response(stream.toReadableStream());
}
OpenAI-compatible, every major lab's models on one key, metered per call. Read the docs
Everything a new business needs online.
Each one is a resource a project has or an action it runs, all on one key, under the Vibiz name.
Hosting
Deploy a folder to its own address. Previews, instant promote and rollback.
POST /v1/projects/:id/deploymentsDatabase
Postgres per project, with an empty development branch agents can use safely.
GET /v1/projects/:id/dev/envSign-in
Email and password, magic links, Google, GitHub and Vercel, per environment.
PATCH /v1/projects/:id/auth/settingsSend from <mailbox>@<slug>.vibiz.app with DKIM, SPF and DMARC already set.
POST /v1/projects/:id/actions/email.sendAI
One OpenAI-compatible gateway for chat, images, video, speech and transcription.
POST /v1/ai/chat/completionsPayments
Sell plans from the first call. Vibiz is the merchant; identity only to withdraw.
POST /v1/app/payments/checkoutCompany formation
A US LLC or C-Corp in any state, with the registered agent and the EIN.
GET /v1/company/catalogAnalytics and replay
Cookieless analytics on by default, and masked session replay when you want it.
GET /v1/projects/:id/analyticsUsage, limits and keys
What every tool, model, key and end user cost, and how close you are to the limits.
GET /v1/usageBuilt for the agent doing the work.
Claude Code, Codex and Cursor get every product as MCP tools, the facts they would otherwise guess from vibiz_docs, and skills that load when a task needs them.
- Agent keys can't leak production. They build and run; live money and production secrets answer
403 owner_onlywith the step to tell you. - Development by default. An empty database branch, its own sign-in and test-mode payments.
- Readable by machines. Every page as markdown, plus llms.txt and llms-full.txt.
$ claude mcp add vibiz --env VIBIZ_API_KEY=vz_sk_… -- vibiz mcp $ curl -fsSL https://app.vibiz.app/skills/vibiz-payments.tar.gz | tar -xz -C ~/.claude/skills $ vibiz docs vibiz docs payments Payments: how money moves vibiz docs app-payments Payments in the app (@vibiz/app) vibiz docs webhooks Webhooks: Vibiz tells the app when someone pays vibiz docs company Company formation: cost and what is needed vibiz docs keys Keys and environments vibiz docs usage Usage, cost and limits vibiz docs connectors Custom connectors: the user’s own APIs through Vibiz vibiz docs social Social: posting, approvals and ads vibiz docs console-urls Console links $ vibiz docs payments | grep 96.80
Open the console, get a key, deploy.
Vibiz Stack is in private beta. Sign in with your Vibiz account to see your projects, payments, spend and keys.