Comparison

Proof Holdings vs Stytch

Stytch is a full customer-auth platform — logins, sessions, and a user store you run. Proof Holdings verifies control of an asset and hands back a portable, signed proof token. Both are passwordless; only one issues an attestation you can give to a third party.

Verdict

If you need login plus a user store, Stytch is excellent. When what you actually need is proof of control you can hand to a third party, that's Proof — per-verification instead of per-MAU, no directory to run.

One API · One key

One key does what a stack of vendors does

Every platform on this page wants to run your user directory. Proof is a single API you call from your own stack — the same reverse-OTP flow issues a signed, offline-verifiable ES256 token for each of these:

Flat price · Any asset

€0.0079/ proof

One flat price for every asset — phone, email, and domain today, with wallet and social coming soon. No per-seat, no per-MAU, no per-verification tiers — the meter that makes every rival's bill jump.

Free every month
300 proofs
Pay as you go
€0.03 / proof
At volume
€0.0079 / proof

Feature Comparison

Swipe to compare →

FeatureProof HoldingsStytch
Core jobVerify asset control → portable proof tokenAuthenticate users → managed session
Passwordless (no stored password)YesYes
Reverse OTP (user sends the code)YesNo
Phone / email verificationReverse OTP (Telegram, WhatsApp, SMS), magic link + OTPSMS/email/WhatsApp OTP, magic links
Domain verificationDNS TXT, HTTP, admin email, auto-verifyNo
Wallet / socialComing soonWallet login + passkeys (live)
OutputES256 proof token — portable, offline-verifiableManaged session + JWT, tied to your app
User database / session managementNoYes
2FA / step-upReverse OTP (dogfooded)Yes
SSO / SCIM / RBACNoYes
Fraud / device fingerprintingNoYes
HITL approvals for AI agentsTelegram/WhatsApp with signed tokensNo
Pricing modelPer-proof (any asset type)Usage-based, per-MAU
PII storedNone (hashed identifiers)Full user profiles
OwnershipIndependentTwilio (acquired Nov 2025)

Pricing

Pricing model

Proof Holdings

Per-proof: €0.0079 (Business). You pay when a verification happens.

Stytch

Usage-based per-MAU (from ~5¢/MAU per Stytch; exact via their calculator).

Free tier

Proof Holdings

300 proofs/month, any asset type

Stytch

10,000 MAU — with MFA, SSO, RBAC, SCIM ungated (unusually generous)

Verification-only use

Proof Holdings

Charged per verification, no per-user meter

Stytch

Every monthly active user counts, verified or not

Full login platform

Proof Holdings

Not what Proof does — no sessions or user store

Stytch

Complete: login, sessions, MFA, SSO, fraud, prebuilt UI

A login building block, not a login platform

Stytch runs your authentication: it logs users in, issues and manages sessions, stores the user record, and orchestrates MFA, SSO, RBAC and fraud signals. You adopt Stytch as the front door to your app.

Proof Holdings works at the moment of trust: a person proves control of a specific asset — a phone, an email, a domain (wallet and social coming soon) — and you get a signed ES256 token you can hand to anyone. You can build login on that — passwordless, and account-less if you want, since the asset control is the credential (Proof runs its own login and 2FA this way) — but there's no user directory, session manager, or SSO to operate.

They overlap on the passwordless moment and diverge on scope. If you need a full login system — a stored user directory, sessions, SSO, RBAC — that's Stytch. If you want passwordless login *without* a user database, or to *prove control of an asset* and hand that proof to a third party — often for someone who will never have an account in your system — that's Proof.

Passwordless, but portable

Both are passwordless — the business stores no password to breach and the user remembers none. The difference is what you get back.

Stytch returns a session bound to your application. Proof returns a proof token: an ES256 attestation that a specific asset was verified at a specific time, portable to any third party and verifiable offline with a public key. A session says "this user is logged in right now." A proof token says "this person controls this domain" — and stays true after the session ends.

Proof's phone verification also uses Reverse OTP: the user sends a code to the service (via Telegram, WhatsApp or SMS) instead of receiving one. That sidesteps SMS delivery failure and SIM-swap interception entirely — a channel Stytch (and every server-initiated-OTP platform) doesn't offer.

When to use Stytch

  • You need a full customer-authentication platform: login, sessions, and a managed user store
  • You want MFA, SSO/SAML, SCIM, and RBAC orchestrated for you
  • You want built-in fraud, bot, and device-fingerprinting in the same stack
  • You want wallet login or passkeys today (Stytch ships both)
  • You want prebuilt UI components as well as headless APIs

When to use Proof Holdings

  • You need to verify control of an asset — often for a person with no account in your system
  • You need domain verification (DNS/HTTP/admin-email), which Stytch doesn't do
  • You want a portable, offline-verifiable proof token, not a session bound to your app
  • You want human-in-the-loop approvals delivered over Telegram/WhatsApp with a signed token
  • You'd rather pay per verification than per monthly active user
  • You want SIM-swap-resistant phone verification via Reverse OTP

Frequently Asked Questions

Ready to try Proof Holdings?

300 free proofs per month. No credit card required.

Building with an AI agent? The 176-tool MCP server and test mode let an agent run a real verification right now — machine quickstart in llms-full.txt.