Now in public beta

Ship apps with auth, billing & notifications built in

Multi-tenant backend platform with subdomain isolation. Auth, billing, notifications, and status pages — all managed through one dashboard.

Platform

Everything your app needs

Four services, one platform. Each isolated per tenant with its own subdomain, API keys, and configuration.

Authentication

Multi-tenant auth with OIDC, PKCE, MFA, passkeys, and hosted login pages. Per-tenant JWKS, session management, and user provisioning.

OIDC / OAuth 2.0MFAPasskeysHosted Login

Billing

Product catalog, entitlements, and credit systems. RevenueCat and Stripe integrations with webhook-driven sync.

RevenueCatStripeEntitlementsCredits

Notifications

Push notifications, email, and SMS. Device management, templates, and delivery tracking across all channels.

Push / APNS / FCMEmailSMSTemplates

Status Pages

Public status pages per tenant with components, incidents, and real-time updates. Webhook alerts on status changes.

ComponentsIncidentsWebhooksPublic API

Architecture

Subdomain-isolated multi-tenancy

Each tenant gets dedicated subdomains across all services. Full isolation with zero configuration.

Authmyapp.aldero.io
Billingmyapp.billing.aldero.io
Notifymyapp.ntf.aldero.io
Statusmyapp.status.aldero.io

Sandbox environments use myapp-sandbox.*.aldero.io

Developer Experience

SDKs for every stack

First-class Dart and TypeScript SDKs with auto-refresh, typed responses, and zero boilerplate.

Dart / Flutter
import 'package:aldero/aldero.dart';

final aldero = AlderoClient(
  config: AlderoConfig(
    tenantSlug: 'myapp',
    apiKey: 'bil_sk_...',
  ),
);

// Auth
final user = await aldero.auth.login(
  email: 'user@example.com',
  password: 'secret',
);

// Billing — check entitlements
final entitlements = await aldero.billing
    .getEntitlements(userId: user.id);

// Notifications — send push
await aldero.notifications.send(
  userId: user.id,
  title: 'Welcome!',
  body: 'Thanks for signing up.',
);
TypeScript / Node.js
import { AlderoClient } from '@aldero/sdk';

const aldero = new AlderoClient({
  tenantSlug: 'myapp',
  apiKey: 'bil_sk_...',
});

// Auth
const user = await aldero.auth.login({
  email: 'user@example.com',
  password: 'secret',
});

// Billing — check entitlements
const entitlements = await aldero.billing
  .getEntitlements(user.id);

// Notifications — send push
await aldero.notifications.send({
  userId: user.id,
  title: 'Welcome!',
  body: 'Thanks for signing up.',
});

Start building today

Free during beta. Set up your first tenant in under 5 minutes.

Get Started Free