Serverless Database

The best data store for the agent era.

Create a SQLite database in minutes. No servers and no setup, behind one HTTPS endpoint that your backend, your scripts and your agents can all reach.

Your agents need to remember things.Conversations. Preferences. Tasks. Results.So where does it all go? Into SQLite.

Why SQLite, and why here.

Every agent already speaks SQL

Real tables. Real transactions. Nothing to babysit.

One HTTPS endpoint

Any app can reach it: your backend, your scripts, your agents.

MCP built in

Agents plug straight in. They create tables, store what they learn and remember it next time.

Serverless means serverless

You pay only for rows read, rows written and storage. Nothing else.

From your code

Connect, then write SQL.

The client matches Cloudflare D1's interface: prepare, bind, run, batch. Anything written for D1 works without changes.

users.ts@dcubix/d1
import { connect } from '@dcubix/d1'

const db = connect({
  url: 'https://<id>-sqlite.dcubix.cloud',
  token: process.env.DCX_DB_KEY,
})

const { results } = await db
  .prepare('SELECT * FROM users WHERE id = ?')
  .bind(1)
  .all()
Pricing

Pay for what it used. Nothing else.

Storage by the gigabyte, rows by how many you read and write. HTTP requests are free when you connect through a binding.

All prices

Serverless Database

  • Storage$1 per GB, per month
  • Rows read$1 per billion
  • Rows written$1 per million
  • HTTP requestsFree through a binding$1 per million

A 2 GB database: 500 million rows read, 2 million written, 1 million HTTP requests

Storage: 2 GB$2.00
Rows read: 500 million$0.50
Rows written: 2 million$2.00
HTTP requests: 1 million$1.00
About$5.50 a month

Questions

Does it work with my ORM?

The @dcubix/d1 client gives you the same interface as a Cloudflare D1 binding, so the D1 drivers for Drizzle and Kysely work with it unchanged.

Where can I call it from?

From any server-side runtime with fetch. An API key has full control of its database, so keep it in server-side code.

Are batches transactions?

Yes. A batch runs as one transaction: if one statement fails, all of them are rolled back.

Give your agents a memory.

Connect a repo and see it live in a couple of minutes.

Start for free