# Cohesivity — Pricing Cohesivity has three subscription tiers plus a 72-hour ephemeral exploration window. Every claimed tier comes with a monthly **fluid** balance (USD credits) the account can spend on OpenAI, Deepgram, and Exa per-call usage, plus a **bucket** of monthly limits across infra services (Postgres, legacy D1, redis, object storage, vector storage, hosting, realtime, Steel Browser, social login, email, weather, geocoding). When a bucket metric runs out, the next request automatically buys a small overuse block from fluid. When fluid is also exhausted, that offering pauses for the rest of the month or until you top up. D1 quotas below apply only to tenants that already have an active legacy database; new tenants use Postgres. See your live billing state any time with: `GET https://cohesivity.ai/api/status` (returns `account.billing`, `account.experiments`, `bucket_usage`, recent `notifications`). --- ## Ephemeral (free, no signup) Anyone can spin up a tenant for 72 hours with the quickstart, no account required. Tight per-request limits make it suitable for scaffolding and one-shot agents, not for serving real users. - 1 project, 72-hour claim window - 5,000 Vercel edge requests, 0.5 GB fast data transfer - Inbox at `@inbox.cohesivity.app`: 5 outbound emails across the tenant lifetime, 1 recipient per message, no vanity or webhook - Existing legacy D1 only: 250K rows read, 50K rows written; 100K Redis commands - OpenAI Responses (gpt-5-nano) and embeddings (text-embedding-3-small) at 5/min, 100 lifetime requests each; no image generation - Exa core retrieval (`/search`, `/contents`, `/findSimilar`, `/answer`, `/context`) at 5/min - Steel Browser: 10 lifetime browser minutes, 3 lifetime scrape calls, 3 lifetime session starts, 1 active session; scrape-only stateless tool surface A breach of any of these caps pauses the whole tenant for the remaining 72-hour window. Hosted tenants redirect to the tenant's recovery `claim_url` (manual-key fallback); infra-only tenants return structured paused errors carrying the same recovery URL. The primary claim path is the one-click `POST /api/claim/url` flow shown in the Claimed Free section below — `claim_url` exists only as the manual-key fallback. Claim before expiry to keep the tenant. --- ## Claimed Free — $0 / month After the primary one-click claim flow completes (`POST https://cohesivity.ai/api/claim/url` → human opens `https://cohesivity.ai/c/` → agent polls `https://cohesivity.ai/api/wait`), the account becomes Free. Keep the management key agent-side; `https://cohesivity.ai/claim/` is recovery/manual-key only. - 10 projects (tenants) per account - **$5 / month** OpenAI + Exa fluid grant (use it or lose it monthly) - 100K Vercel edge requests, 20 GB fast data transfer, 60 deploys - Existing legacy D1 only: 10M rows read, 1M rows written - 500K Redis commands - 10K object-storage uploads, 50 GB upload, 10 GB live storage - 1M vector-db read units, 500K write units - Inbox: 100 outbound emails, 200 recipients, 100 MB private storage, fixed 30-day retention - 5K social-login auth events, 5K stored users - 5K realtime token mints, 500K published messages, 25K history reads, 50 concurrent sockets - OpenAI Responses (gpt-5-nano, gpt-5-mini, gpt-5.4-nano, gpt-5.4-mini), embeddings (text-embedding-3-small + 3-large), and gpt-image-2 image generation - Exa adds deep search and `deep-reasoning` search types - Steel Browser: 60 browser minutes, 20 scrape calls, 1 active session --- ## Plus — $20 / month - 30 projects per account - **$20 / month** OpenAI + Exa fluid grant (your full subscription comes back as fluid credit) - 1M edge requests, 200 GB fast data transfer, 200 deploys - Existing legacy D1 only: 100M rows read, 10M rows written - 5M Redis commands - 100K object-storage uploads, 500 GB upload, 100 GB live storage - 10M vector-db read units, 5M write units - Inbox: 1,000 outbound emails, 2,000 recipients, 1 GB private storage, fixed 30-day retention - 50K social-login auth events, 50K stored users - 50K realtime token mints, 5M published messages, 250K history reads, 500 concurrent sockets - OpenAI full launch catalog: all Free models plus gpt-5, gpt-5.1, gpt-5.2, gpt-5.4, gpt-5.5, with higher per-minute limits - Exa unlocks `/websets` and `/monitors` - Steel Browser: 600 browser minutes, 200 scrape calls, 2 active sessions --- ## Pro — $100 / month - 100 projects per account - **$100 / month** OpenAI + Exa fluid grant - 5M edge requests, 1 TB fast data transfer, 600 deploys - Existing legacy D1 only: 500M rows read, 50M rows written - 25M Redis commands - 500K object-storage uploads, 2.5 TB upload, 500 GB live storage - 50M vector-db read units, 25M write units - Inbox: 5,000 outbound emails, 10,000 recipients, 5 GB private storage, fixed 30-day retention - 250K social-login auth events, 250K stored users - 250K realtime token mints, 25M published messages, 1.25M history reads, 2,500 concurrent sockets - Same provider feature surface as Plus, 3-20× higher quantity caps - Steel Browser: 3,000 browser minutes, 1,000 scrape calls, 5 active sessions --- ## How fluid works Fluid is a single USD wallet shared across every tenant in your account. Two things spend it: 1. OpenAI, AI Gateway, Deepgram, and Exa per-call costs. Successful usage is billed at provider cost plus 10%, rounded up to the nearest cent per settled charge; there is no monthly bucket. 2. Overuse blocks bought automatically when a monthly bucket metric runs out (e.g. you used 1,000,000 edge requests; the 1,000,001st request buys a small block from fluid and proceeds). Steel Browser blocks are 20 browser minutes for $0.05 and 50 browser scrape calls for $0.50; ephemeral tenants never buy overflow. Steel Browser pricing uses the public Scale rate of $0.08/browser-hour. Plus/Pro allow 30/60-minute hard caps, which exceed the Launch plan's 15-minute maximum, so Launch economics cannot activate the published surface. Monthly grants land at the start of every UTC month and do not roll over. **Topups never expire.** Use: - `POST https://cohesivity.ai/api/billing/topup` with body `{ "amount_cents": 2000 }` to add $20 of fluid. `amount_cents` is Cohesivity wallet fluid in USD cents; range is `500..50000`. Cohesivity converts that to the Razorpay merchant currency and returns `merchant_amount_minor` for auditability. Response carries `checkout_url` (a `https://cohesivity.ai/t/` link) that 302-redirects to Razorpay’s hosted payment page — card / UPI / netbanking / wallets all available there. Wallet credit lands via the `payment_link.paid` webhook within seconds; topups never expire. - `POST https://cohesivity.ai/api/billing/topup/x402` with body `{ "amount_cents": 2000 }` — the AGENT self-pay rail: pay USDC on Base via x402, no human, no checkout page. Two phases on one endpoint — a no-payment POST returns a 402 challenge (`accepts[0].maxAmountRequired` atomic USDC), then re-POST the same body with an `X-PAYMENT` header to verify + settle + credit (idempotent on the settlement tx). A tighter `[500, 20000]` USD-fluid-cent range ($5..$200); credits the same wallet. Requires a claimed `coh_man_*` key and a deploy with `X402_*` configured — when live, a `topup_x402_url` field appears on the 402 bodies, `/api/status` `account.billing`, and `/api/observability` `fluid_*` advisories. Use a standard x402 client (`x402-fetch`/`x402-axios`) with a signer; the payer private key MUST come from a shell env var, never from chat. - `POST https://cohesivity.ai/api/billing/subscription` with body `{ "plan": "plus" | "pro" }` to upgrade the tier. Response carries `checkout_url` (a `https://cohesivity.ai/u/` link) that 302-redirects to Razorpay’s subscription auth page (UPI Autopay / card / netbanking). - `POST https://cohesivity.ai/api/billing/subscription/cancel` to cancel the subscription - `GET https://cohesivity.ai/api/me` to see your account, wallet, and subscription state - `GET https://cohesivity.ai/api/status` (with `Authorization: Bearer `) to see live tenant + bucket usage + notifications Agents typically fire these endpoints on the user’s behalf and hand back the `checkout_url` from the response. The Cohesivity URL is fully self-sufficient — the human does NOT need to be signed in to Cohesivity to pay it. They can open it on any device, in any browser, while signed in to a different account, or signed out entirely; the order’s `notes.cohesivity_user_id` (set server-side at create time) determines which Cohesivity account gets credited, NOT the active session at click-time. The Razorpay-hosted page handles payment and receipt email; the wallet credits via webhook. --- ## Failed calls do not cost anything Metered provider proxies (OpenAI, Deepgram, Exa, Weather, Geocoding, and Steel Browser scrape) reserve quota in preflight and revoke it synchronously if the upstream fails. A request that returns a non-OK upstream status burns no quota; any small overflow block bought during admission remains reusable for its billing window. OpenAI, AI Gateway, Deepgram, and Exa are fluid-only after success; Weather and Geocoding are bucket-only until bucket exhaustion triggers a fluid overuse block. Steel Browser sessions reserve their requested maximum and settle to actual whole minutes at terminal release. --- ## Per-resource limits Every offering page below `/offerings/` shows the same numbers in machine-readable form, plus the rate-limit ceiling, fluid-overflow flag, and a worked example. The summary on this page is the headline; the offering pages are the published source of truth.