Everything your stack
needs from a read layer
From real-time CDC to auto-scaling — every capability ReflexDB ships with, explained in detail.
Real-time CDC sync
ReflexDB propagates row-level changes to the in-memory snapshot in under a second under normal load. No polling, no batch jobs, no stale reads.
- MySQL / MariaDB — binlog CDC via native replication protocol
- PostgreSQL — logical replication CDC via WAL decoding
- SQL Server — CDC change table polling (coming soon)
- Position persisted across restarts (binlog offset / LSN) — no full reload on reconnect
- Exponential backoff reconnect on stream loss
- Automatic fallback to poll mode if CDC is unavailable
- On-demand reload via
POST /reload - Read-replica support — point at a replica to avoid load on primary
Poll mode is available on all plans (minimum 300 s on Free, 5 s on paid). CDC sync modes (binlog, logical, cdc) are available on Pro and above.
# Binlog CDC stream connected host=db.prod.internal port=3306 position file=mysql-bin.003821 pos=94021 INSERT orders id=10482 status="pending" UPDATE orders id=10480 status="shipped" UPDATE orders id=10481 status="shipped" DELETE orders id=10477 snapshot swapped in 0.4 ms rows=184,201 lag 220 ms behind source
REST API generated from your schema
At build time, ReflexDB reads your database schema and generates a typed server with one endpoint per table. No code to write — declare your config and deploy.
- Filter on any column:
=,!=,<,>,IN,LIKE,ILIKE,IS NULL - Nested filter references — filter a parent by a condition on its children
- FK relation traversal — embed related rows in a single request
- Aggregations:
COUNT,SUM,AVGwith implicit GROUP BY ORDER BY(multi-field),LIMIT,OFFSET- OpenAPI 3 spec + interactive API explorer at
GET / - Column aliasing, field notes, and per-table row predicates via YAML config
# reflexdb.yaml tables: orders: fields: [id, status, total_cents, created_at] relations: customer: customers.id # Query with ReflexQL POST /query HTTP/1.1 Content-Type: text/plain orders(status = "shipped") { id status total_cents created_at customer { id name } } ORDER BY created_at DESC LIMIT 20
Right-sized instances with clean multipliers
Pick the instance size that fits your dataset. Compute units use clean power-of-2 multipliers — easy to reason about how many units a workload consumes.
- 5 sizes from nano (0.25 vCPU / 0.5 GB) to 2xlarge (4 vCPU / 16 GB) — larger instances available by request on Business+
- Each size maps to dedicated compute — pick what fits your dataset, ReflexDB manages the rest
- Compute auto-selected based on your schema size at build time
- Overage billed per compute unit at $25/unit — no surprise tiers
size vCPU RAM units/mo ──────────────────────────────────── nano 0.25 0.5 GB 0.85 small 0.25 1 GB 1.00 ← 1 unit medium 0.50 2 GB 2.00 large 1.00 4 GB 4.00 xlarge 2.00 8 GB 8.00 2xlarge 4.00 16 GB 16.00 # Pro plan: 4 units included # Example: 2× medium = 4 units exactly
Deploy instances close to your users
Choose a region per instance. ReflexDB routes all operations to the correct region automatically — one dashboard, multiple deployment targets.
- Ireland and Virginia available today
- Choose a region when creating each instance
- Isolated infrastructure per region — your data never shares compute with other customers
- Instance images deployed to all active regions at build time
- Available on all plans
See the regions page for current availability and the rollout roadmap.
# Set default region on a connection PATCH /connections/conn_01J… HTTP/1.1 { "defaultRegion": "us-east-1 (Virginia)" } # Override per instance at creation POST /databases HTTP/1.1 { "connectionId": "conn_01J…", "region": "eu-west-1 (Ireland)", "instanceSize": "large" }
Connect private databases inside a VPC
Your production database doesn't need to be publicly accessible. ReflexDB supports SSH tunnel connections — configure a jump host and the tunnel is established automatically.
- SSH jump host with private key authentication
- Private key stored in an encrypted secrets store
- Pre-flight connection test before every build and rebuild
- API key authentication on every generated endpoint
- Your data is never logged, stored, or accessible to ReflexDB staff
- GDPR-compliant: Europe (Ireland) default; data residency guaranteed
# Connection with SSH tunnel POST /connections HTTP/1.1 { "host": "10.0.1.15", "port": 3306, "username": "reflexdb_ro", "ssh": { "host": "bastion.internal.example.com", "port": 22, "username": "ec2-user", "privateKey": "-----BEGIN RSA..." } } # Pre-flight test runs on every build status: testing_connection → queued
Auto-scaling and auto-pause
Enterprise plans include horizontal auto-scaling — multiple replicas behind a load balancer that scale based on CPU utilisation. The Free tier pauses after two days of inactivity to keep shared infrastructure costs manageable.
- Auto-scaling with horizontal replicas (Enterprise)
- Query traffic automatically distributed across replicas
- Free tier auto-pauses after 2 days of inactivity
- Resume with any request — cold start is under 30 seconds
Auto-pause only applies to the Free tier. Paid plans run 24/7 with no automatic pausing.
# Instance running — 2 replicas GET /databases/db_01J… HTTP/1.1 { "status": "running", "instanceSize": "large", "region": "eu-west-1 (Ireland)", "runningReplicas": 2, "maxReplicas": 2, "endpoint": "https://db_01J….reflexdb.cloud" }
Full control plane via REST API
Every action in the dashboard is available via a documented REST API. Automate provisioning, rebuilds, and monitoring in your CI/CD pipeline.
- Long-lived management API keys (
rmk_…prefix) scoped to your account - OpenAPI 3 spec at
GET /openapi.json— import into any HTTP client - Interactive API reference at
docs.reflexdb.cloud - Provision, rebuild, terminate, and inspect instances programmatically
- Webhook subscriptions for instance lifecycle events
- Usage endpoint:
GET /account/usagereturns build credits and compute units consumed
# Trigger a rebuild via API key POST /databases/db_01J…/rebuild HTTP/1.1 Authorization: Bearer rmk_01J… { "reason": "schema change" } # Poll build status GET /databases/db_01J…/builds HTTP/1.1 { "builds": [{ "status": "running", "startedAt": "2026-05-30T14:22:01Z", "computeType": "small" }] }
Built-in MCP server for AI agents
Every ReflexDB instance includes a Model Context Protocol server that exposes your data as queryable tools. Connect Claude, Cursor, or any MCP-compatible client and let AI agents query your live database — no glue code, no extra infrastructure.
- MCP server auto-generated from your instance schema — no configuration required
- Query live data from Claude, Cursor, Windsurf, and other MCP-compatible tools
- CDC sync means AI agents always see the current state of your database
- Secured with the same API-key authentication as the REST endpoints
- Available on all plans at no additional cost
# claude_desktop_config.json { "mcpServers": { "reflexdb": { "url": "https://db_01J….reflexdb.cloud/mcp", "headers": { "Authorization": "Bearer rxk_live_…" } } } } # Claude now has live tools for your data User: "Top 5 products by revenue this month?" [tool: query] query: orders(created_at > "2026-05-01") { product_id SUM(total_cents) } LIMIT 5 ─── result (3 ms) ────────────────── Widget Pro $94,310 Basic Widget $61,200
Built for regulated industries and large teams
Business and Enterprise plans include the controls that security, compliance, and procurement teams require.
- Audit log export — full event history for every action
- 99.9% SLA (Teams), 99.95%+ SLA (Enterprise)
- Dedicated support with 4-hour response (Enterprise)
- Data Processing Agreement (DPA) included on all paid plans
- Annual contracts with invoice billing (Enterprise)
- Multi-user teams with seat management and invite flows
- TOTP / MFA on all accounts
feature Pro Teams Business Ent. ──────────────────────────────────────────────────── Real-time CDC ✓ ✓ ✓ ✓ MCP server ✓ ✓ ✓ ✓ Multi-region ✓ ✓ ✓ ✓ Custom subdomain ✓ ✓ ✓ Audit log export ✓ ✓ SLA 99.5% 99.9% 99.9% 99.95%+ Support 48 h 24 h 12 h 4 h
Ready to add a read layer to your stack?
Start with one free nano instance. No credit card required.