Appwrite vs Convex
Open-source BaaS for building full-stack apps
vs. The reactive database where queries are TypeScript code
Pricing tiers
Appwrite
Self-Hosted
Run Appwrite on your own infrastructure. MIT licensed — no usage limits.
$0 base (usage-based)
Cloud Free
Managed cloud. Hard caps: 1 team member, 1 database per project.
Free
Cloud Pro
From $15/member/month. 2 TB bandwidth, 150 GB storage, 200k MAU, 3.5M executions, unlimited databases + team members.
$15/mo
Cloud Scale
$599/month flat for the org. Higher included usage + advanced security. Deprecated in some regions — check.
$599/mo
Enterprise
Custom pricing. SOC 2, HIPAA (on request), dedicated infra, SLAs.
Custom
Convex
Starter (Free)
Free with overage via usage-based billing. Great for prototypes.
Free
Professional
$25/developer/month. Overage: $2/M function calls. Daily backups, email support, custom domains.
$25/mo
Business / Enterprise
From $2,500/month. SAML/SSO, SLA, dedicated deployments, Slack Connect support.
$2500/mo
Free-tier quotas head-to-head
Comparing free on Appwrite vs starter on Convex.
| Metric | Appwrite | Convex |
|---|---|---|
| bandwidth gb month | 5 GB/month | — |
| databases per project | 1 databases | — |
| db storage gb | — | 0.5 GB |
| deployments | — | 40 deployments |
| egress gb month | — | 1 GB/month |
| file storage gb | — | 1 GB |
| function calls month | — | 1000000 calls/month |
| function duration s | 30 seconds | — |
| function executions | 750000 exec/month | — |
| mau | 75000 users/month | — |
| storage gb | 2 GB | — |
| team members | 1 members | 6 users |
Features
Appwrite · 13 features
- Account (Auth) — User authentication: email/password, magic URLs, phone OTP, anonymous, 30+ OAuth…
- Avatars — Generated avatars, country flags, credit-card icons, QR codes, favicons.
- Databases — NoSQL collections with attribute types, indexes, permissions per document/collec…
- Events System — Unified event bus: subscribe in Functions, Webhooks, Realtime using event string…
- Functions — Serverless functions in 13+ runtimes (Node, Python, Go, Ruby, PHP, Dart, Deno, S…
- Messaging — Multi-channel messaging: Push (FCM/APNs), SMS (Twilio/Vonage/Msg91), Email (Mail…
- Migrations — Import from Firebase, Supabase, NHost, or another Appwrite project.
- Permissions (ACLs) — Per-document / per-collection ACLs: Role.user(), Role.team(), Role.any(), Role.g…
- Realtime — WebSocket subscriptions to events: database changes, auth, storage, function exe…
- Sites — Deploy static and SSR frameworks (Next, Nuxt, SvelteKit, Astro, Remix) direct fr…
- Storage — File buckets with access control, auto-transforms (image preview), antivirus, en…
- Teams — Group users with shared access + roles. Used for row-level permissions on resour…
- Webhooks — HTTP callbacks on any Appwrite event. Signed with x-appwrite-webhook-signature.
Convex · 18 features
- Actions — Non-deterministic functions for external I/O (fetch, AI APIs, email). Cannot rea…
- Authentication — Convex Auth (built-in) or BYO provider (Clerk, Auth0, Kinde, WorkOS). ID tokens …
- Convex Agents — AI agent framework with durable memory, threads, tool use. Works with OpenAI / A…
- Convex Auth — First-party auth library: passwords, magic links, OAuth, phone — stored in your …
- Convex Components — Reusable backend modules (rate limiter, workflow, aggregate, action-retrier, etc…
- Cron Jobs — Recurring schedules defined in convex/crons.ts. UTC, cron-style patterns.
- Durable Workflows — Long-running multi-step workflows with retries and at-least-once guarantees.
- Exception Reporting — Auto-capture errors to Sentry, Axiom, Datadog.
- File Storage — Upload/download via storage API. Returns storage IDs referenced in documents.
- Full-Text Search — BM25 search index on table fields. withSearchIndex query helper.
- HTTP Actions — Expose public HTTP endpoints for webhooks, OAuth callbacks, third-party integrat…
- Log Streams — Stream function logs to Axiom, Datadog, Sentry. Pro+.
- Mutations — Transactional write functions. All reads + writes in one mutation are ACID; conf…
- Preview Deployments — Every Git branch gets its own isolated deployment. Integrates with Vercel/Netlif…
- Queries — Deterministic read-only TS functions. Automatically cached and re-run when under…
- Real-Time Subscriptions — useQuery auto-subscribes; server invalidates when data a query read changes. No …
- Scheduler — schedule.after / schedule.at — enqueue functions to run later. Durable, survives…
- Vector Search — Native vector index on tables. withIndex + filter fields. Up to 4096 dims.
Developer interfaces
| Kind | Appwrite | Convex |
|---|---|---|
| CLI | Appwrite CLI | Convex CLI |
| SDK | Android SDK (Kotlin), Apple SDK (Swift), Dart Server SDK, Deno SDK, Flutter SDK, Kotlin Server SDK, .NET Server SDK, Node.js Server SDK, PHP Server SDK, Python Server SDK, React Native SDK, Ruby Server SDK, Swift Server SDK, Web SDK (browser) | Android / Kotlin Client, iOS / Swift Client, JavaScript/TypeScript Client, Next.js Integration, Python Client, React Client (useQuery), Rust Client, Svelte Client, Vue Client |
| REST | REST API | Deploy / Dashboard API, HTTP Actions |
| GRAPHQL | GraphQL API | — |
| MCP | Appwrite MCP Server | — |
| OTHER | Realtime WebSocket | WebSocket Subscriptions |
Staxly is an independent catalog of developer platforms. Outbound links to Appwrite and Convex are plain references to their official websites. Pricing is verified against vendor pages at publication time — reconfirm before buying.
Want this comparison in your AI agent's context? Install the free Staxly MCP server.