For however you build
your products.

Eight backend services — auth, email, AI models, memory, storage, jobs, verify and abuse control — running today across a dozen of our own products. Each comes with a real usage allowance included; you pay more only when you outgrow it.

48seconds

From asking your agent to a working sign-in page. It provisions the service, writes the code and tells you where to look.

add the mcp server
claude mcp add --transport http smart-services \
  https://app.smart-services.io/mcp \
  --header "x-api-key: $SS_KEY"

✓ 8 services available to your agent
your editor
Y

Add sign-in to this app. Email codes and Google, no passwords.

I’ll set that up with Smart Services.

service_enable("auth")smart_services_docs("auth")

Auth is on. I’ve added the provider config, the callback route and your env vars. Sign-in is live at /api/auth/signin — try it.

✓ 3 files changed·48 seconds

What you didn’t do

  • Read the docs
  • Find the right endpoint
  • Wire up the client
  • Configure a callback
  • Debug a redirect URI

What €20.00 a month gets you

All eight services, each with real usage included. Switch on what you need and pay more only when you outgrow it.

Auth

A hosted sign-in page on your brand: one-time email codes plus Google and LinkedIn, with account linking handled. Free to your first 100 users, and a real OIDC provider — PKCE only, so there is no client secret to leak.

Included100 usersthen from €10.00/mo

Email

Transactional email as a single POST, with delivery tracked per message. Send through us, or bring your own SMTP and keep your deliverability. Add IMAP and every message is filed to your Sent folder, so replies thread in your normal mail client.

Included1K emails/mothen from €10.00/mo

AI models

One OpenAI-shaped endpoint in front of every provider. Bring your own keys and the spend stays on your account — we never mark them up. Name a model, or name a capability and let us keep a tested one behind it.

Includedincluded

Memory

Two ways to remember: semantic chunks for search, and sourced claims that carry a verbatim citation per statement — for answers that must not invent.

Included100MBthen from €10.00/mo

Storage

S3-compatible object storage with presigned uploads and CDN delivery, so user files never touch your own server.

Included500MBthen from €5.00/mo

Jobs

Register a schedule, we call your URL when it is due. Postgres is the source of truth — we lost every cron on the platform once, and never again.

Includedincluded

Verify

Check an address before you trust it: syntax, disposable-domain lists, and live MX lookups, behind a shared DNS cache.

Included1K/mothen from €5.00/mo

Abuse Control

Sliding-window rate limits and SSRF-safe URL validation. On by default for every app — a security guard should never be something you opt into.

Includedincluded

AI models

One endpoint. Every provider.
Your keys.

An OpenAI-shaped endpoint in front of OpenAI, Anthropic, Google and Ollama. Bring your own keys and the spend stays on your account at your negotiated rate — we take nothing on top and never resell you tokens. The routing is the product; a margin on somebody else’s inference is not.

Capability routing

Models retire.
Your app won’t notice.

Name a capability, attach a competence test. We score every new model against it and keep the best one wired in — so a provider retirement is a config change on our side, not a 3am page on yours.

capability "extraction"

✓ qwen3.5:9b      0.94
✓ gpt-oss:20b     0.91
✗ deepseek-v4     retired

serving qwen3.5:9b
  • Keys encrypted per app with AES-256-GCM and a key derived from the app id — one app’s keys cannot be read in another’s context, and no endpoint ever returns them.
  • Automatic fallback. Name an ordered list and a failed model hands off to the next before your caller notices.
  • Point at your own Ollama and the models never leave your network.
  • Share one key across your apps by reference, instead of pasting it into each.

Email

Send from your own mailbox.
Read the reply where you always do.

One POST sends a message. Use our transport, or bring your own SMTP and keep the deliverability you already built — a reputation you spent years on should not be something a vendor rents back to you.

The bit everyone else skips

A message sent through an API is invisible to the mailbox it claims to come from. Your mail client never saw it, so when the reply arrives there is nothing to thread against and no history to quote.

Add IMAP and we file every sent message into your Sent folder. The conversation continues in the client you already use — no inbox to build, no thread view, no second place to check.

  1. 1You POST — one call, your sender, your signature.
  2. 2We send over your SMTP, or ours, and track delivery.
  3. 3We file it to your Sent folder over IMAP.
  4. 4They reply — and it threads in your mail client, like any other conversation.

Auth

No client secret.
Nowhere. Ever.

A real OIDC provider with a hosted sign-in page on your brand: one-time email codes, Google and LinkedIn, account linking handled. PKCE only — there is no client secret in the entire portfolio, so there is none to leak, rotate, or find in a repo three years from now.

  • Identities stay separate. The subject we issue is scoped to your app, so a user is not a portfolio-wide identifier you did not ask to share.
  • Hitting a billing ceiling never locks your users out. At the limit new sign-ups are refused; everyone who already has an account keeps signing in.
  • Webhooks signed with the JWKS keypair you already fetch at sign-in. No shared secret, no HMAC, nothing new to store — and every future event type costs you nothing.
  • We dogfood it. This console signs in through the same flow your users get.

When someone steals an email address

An attacker who reaches a logged-in session can change the account’s email and lock the owner out. Most providers send a notice to the old address and consider the job done.

We send the old address a way to contest it. If they do, the change is reverted and we tell your app to sign that user’s other sessions out — because we cannot revoke your session cookie, only you can. Reverting the address without killing the sessions leaves the attacker signed in.

POST /your-auth-events
Authorization: Bearer <RS256 JWT>

{
  "type": "email_change.contested",
  "sub": "usr_01J8QK…"
}

→ revert, and sign them out

Not open yet.
Get in first.

Thirty-five years of production tech, so you don’t reinvent the wheel — eight services running today across a dozen products. We are not taking general signups while billing is being finished. Leave your address and we will come to you when we open, in the order people joined.

Invite Only

We are in Invite-Only mode for now. Drop your email below to get on the waiting list below.

No newsletter. We will not pass your address on.

Or read the docs first →