Skip to main content

Introduction

EdgeBase is the first Backend-as-a-Service built entirely on serverless edge infrastructure. Auth, Database, Realtime, Storage, Functions — the entire stack runs natively on workerd, Cloudflare's open-source runtime. This means automatic horizontal scaling with zero configuration, near-zero cost at any scale, and physical data isolation by default. It runs everywhere — on the cloud edge, in a Docker container, or directly on any Node.js server. No vendor lock-in, MIT licensed.

Why EdgeBase?

FirebaseSupabasePocketBaseEdgeBase
DatabaseNoSQL (Firestore)PostgreSQLSQLiteSQLite
Auth Cost$275/100K MAUIncluded in $25/moFreeFree
Cold Start~200ms~500msN/A~0ms
Egress$0.12/GB$0.09/GBServer-dependent$0
Self-HostNoComplexSingle binary3 ways
RealtimeYesYesYesYes
Edge DeployNoNoNoYes
Open SourceNoYes (AGPL)Yes (MIT)Yes (MIT)

Scales Automatically

Every other BaaS funnels traffic through a single database. When your app grows, you need replicas, connection pooling, and sharding. EdgeBase gives each user/tenant its own Durable Object with embedded SQLite — more users means more instances, not more load on a bottleneck. 10 users and 10 million users run the same code and config.

Runs Everywhere

Deploy your backend in whichever way suits your project:

ModeCommandRequirementsBest For
Cloud Edgenpx edgebase deployCloudflare accountProduction, global low-latency
Dockernpx edgebase docker runDockerSelf-hosted, single container
Node.jsnpx edgebase devNode.jsLocal development, VPS

Same code, same behavior across all three modes. No vendor lock-in.

No Cost Explosion

Start free, scale without fear. No per-user auth charges (Firebase charges $4,415/mo at 1M MAU). No egress fees (R2 = $0). Idle instances cost $0 (DO Hibernation). Start at $5/month on the edge (account-level — covers unlimited projects), or self-host for free.

0ms Cold Start

Built on workerd -- your API responds instantly with no containers to spin up.

Fully Open Source

MIT licensed. Export your data anytime. Run it anywhere.

Core Features

  • Database -- SQLite-backed storage across D1 and Durable Objects, with full SQL support including JOINs, FTS5 full-text search, and automatic schema management.

  • Authentication -- Email/password, OAuth (13 providers: Google, GitHub, Apple, Discord, Microsoft, Facebook, Kakao, Naver, X, Line, Slack, Spotify, Twitch), and anonymous auth. PBKDF2 password hashing via Web Crypto API.

  • Realtime -- WebSocket-based subscriptions for live data changes, Presence for tracking online users, and Broadcast for ephemeral messaging. Hibernation API for cost efficiency.

  • Storage -- R2-backed file storage with $0 egress, signed URLs, multipart upload with resume, and per-bucket access rules.

  • Functions -- Database triggers (afterInsert, afterUpdate, afterDelete), auth hooks (beforeSignUp, onTokenRefresh, etc.), cron-scheduled functions, and HTTP endpoints.

  • Push Notifications -- Register devices, send to users/topics/devices, and broadcast. Managed via Service Key API.

  • Admin Dashboard -- Built-in management UI at /admin for browsing data, managing users, and monitoring your backend.

Architecture

Client SDK ──→ Worker (Hono) ──→ Durable Objects (isolated DB blocks, realtime)
──→ D1 (auth + single-instance DB blocks)
──→ R2 (File Storage)
──→ KV (OAuth State, Cache)

Single-instance database blocks such as shared default to D1, while isolated multi-tenant blocks (instance: true or DB-level access) route to Durable Objects with embedded SQLite. This provides natural data isolation and independent scaling:

  • shared -- A single-instance database for shared data (e.g., posts, products), D1 by default.
  • workspace:{id} -- One Durable Object per workspace for multi-tenant isolation.
  • user:{id} -- One Durable Object per user for personal data (GDPR-friendly deletion).

Tables that need SQL JOINs share the same Durable Object by being defined under the same databases.{namespace}.tables block.

The same architecture runs identically on cloud edge, Docker, and Node.js. KV and R2 are emulated locally in Docker/Node.js mode.

SDK Support

EdgeBase provides SDKs for 14 languages:

LanguagePackageRegistry
JavaScript/TypeScript@edgebase/web, @edgebase/react-nativenpm
Flutter/Dartedgebase_flutterpub.dev
Swift (iOS)edgebase-swiftSPM
Kotlin (Android)dev.edgebase:edgebase-client-kotlinMaven Central
Java (JVM)dev.edgebase:edgebase-android-javaMaven Central
Scala (JVM)dev.edgebase:edgebase-admin-scalaMaven Central
PythonedgebasePyPI
C# (Unity/.NET)EdgeBaseNuGet / UPM
Gogithub.com/edgebase/sdk-goGo Modules
PHPedgebase/sdkPackagist
Rustedgebase-admincrates.io
C++ (Unreal)Source distributionGitHub Releases
Rubyedgebase_adminRubyGems
Elixiredgebase_adminHex

Next Steps