SaaS identity
Email/password, magic links, passkeys, sessions.
WHOSPAPS is one hosted control plane for classic SaaS login, wallet identity, Stripe billing, API keys, and the entitlements every app actually enforces.
identity.resolved200billing.projected200entitlement.granted200When identity, wallet verification, checkout, API keys, and entitlements live apart, every app inherits the glue. SPAPS gives that glue one hosted authority.
Email/password, magic links, passkeys, sessions.
WHOSolana, Ethereum, Bitcoin, and Base.
PROOFCheckout, subscriptions, webhooks, customer sync.
MONEYProvisioned after subscription, scoped per consumer.
WHERERevenue state projected into usable access tiers.
WHATOne hosted service decides: who this is, what they paid for, which app is asking, and what opens next.
Classic SaaS auth and wallet identity sit beside each other in the same hosted backend—not in separate vendor worlds.
Checkout and subscription state project into the tiers your products enforce.
An active subscription unlocks application provisioning. Raw secret keys are shown once; only their hashes remain on the server.
OpenAPI, a Python client, and a TypeScript SDK keep consumers on the same nouns.
SPAPS operates the hosted API at api.sweetpotato.dev. Customers integrate through scoped keys instead of deploying the backend.
Field-level PII encryption, immutable admin audit logs, signed webhooks, and outbound destination guards.
SPAPS gets more useful as your product surface grows. The consumer changes. The hosted authority does not.
The $99/month developer plan includes up to three staging applications. Subscribe, provision an application, save the one-time secret, and point your SDK at the hosted API.
Start the paid developer subscription. There is no free tier or trial.
Mint a scoped staging app and save the raw API keys when they are shown.
Use the TypeScript or Python SDK against api.sweetpotato.dev.
# After your paid subscription provisions an app key.
$ npm install spaps-sdk
$ export SPAPS_API_URL=https://api.sweetpotato.dev
$ export SPAPS_SECRET_KEY=spaps_sec_••••••••
$ npx spaps connect
connected: api.sweetpotato.dev
# One snapshot of identity + access.
$ curl https://api.sweetpotato.dev/api/auth/session-context \
-H "X-API-Key: $SPAPS_PUBLISHABLE_KEY" \
-H "Authorization: Bearer $USER_JWT"
{
"user": "user_42",
"application": "studio",
"tier": "grow"
}
# Bind checkout to the same identity.
$ curl -X POST \
https://api.sweetpotato.dev/api/stripe/checkout-sessions \
-H "X-API-Key: $SPAPS_PUBLISHABLE_KEY" \
-H "Authorization: Bearer $USER_JWT" \
-H "Content-Type: application/json" \
-d '{"mode":"subscription", ...}'
SPAPS is pre‑1.0. Contracts can still move. It is a proprietary hosted SaaS: customers pay for access, receive scoped API keys, and integrate the service rather than receiving deployment rights.
No claim to replace SAML, SCIM, workforce identity, or broad federation platforms.
No storage, functions, hosting, and every-database-feature product sprawl.
The service and code are proprietary. A package or repository checkout is not permission to deploy, modify, or redistribute SPAPS.
Subscribe, provision a scoped application, and make your first request against the hosted control plane.