Proof Holdings vs Auth0
Auth0 verifies identity — who someone is. Proof Holdings verifies control — what someone controls. Prove a user owns a phone, an email, or a domain without collecting identity documents or building a user database.
Run Auth0 when you need an identity platform. Call Proof when you need proof: control of a phone, email, or domain, verified in one API call and returned as a portable ES256 token — no password database, no per-MAU bill, 300 free proofs a month.
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:
Same price · Any asset
The same price for every asset — phone, email, and domain today, with wallet and social coming soon. No per-seat or per-MAU fees — the meters that make rivals' bills jump.
- Free every month
- 300 proofs
- Pay as you go
- €0.03 / proof
- At volume
- €0.0079 / proof on the €79 plan
Feature Comparison
Swipe to compare →
| Feature | Proof Holdings | Auth0 |
|---|---|---|
| Core approach | Verify asset control (what you control) | Verify identity (who you are) |
| Identity documents required | No | Optional (social login, enterprise SSO) |
| Phone verification | Reverse OTP (Telegram, WhatsApp, SMS) | SMS OTP (via Twilio backend) |
| Email verification | Magic Link, OTP | OTP, Magic Link |
| Domain verification | DNS TXT, HTTP, Admin Email, Auto-Verify | No |
| Wallet verification | Coming soon (8 chains planned) | No |
| Social verification | Coming soon (OAuth proof of control) | 30+ social login providers (identity) |
| Proof tokens | ES256 JWT, portable, offline-verifiable | OIDC JWTs (session-bound, auth-flow-tied) |
| HITL approvals | Telegram/WhatsApp with signed proof tokens | CIBA (Developer Preview, OIDC tokens) |
| MCP server | 167 tools | No (SDK only for LangGraph/CrewAI) |
| Pricing model | Per-proof (any asset type) | Per-MAU (monthly active user) |
| User accounts required | No | Yes |
| SSO / session management | No | Yes |
| Identity data collected | None — identifiers only, encrypted at rest | Full user profiles |
| Ownership | Independent | Okta (acquired 2021) |
Pricing
Pricing model
Proof Holdings
Per-proof: €0.0079 (€79 plan). Pay only when verification happens.
Auth0
Per-MAU: $35-240+/mo. Pay for all users, verified or not.
Free tier
Proof Holdings
300 proofs/month (any asset type)
Auth0
25,000 MAU (B2C & B2B)
10,000 verifications/month
Proof Holdings
€79/mo (10,000 proofs, any asset type)
Auth0
$240+/mo (Professional B2C) + Twilio SMS fees for phone
Setup complexity
Proof Holdings
One API key. One endpoint. No passwords to store.
Auth0
Tenant setup, application config, rules/actions, user database
The Core Difference
Proof Holdings — "This person controls this phone number, this email, this domain." No identity documents. No profiles. No passwords. Just cryptographic proof of asset control — and because the asset is the credential, that same proof can BE the passwordless login.
Auth0 — "This person is John Smith, logged in via Google, with this email address." Full identity platform. User accounts, SSO, session management, social login.
For many use cases, you don't need to know who someone is. You need to know they control specific assets. A SaaS onboarding that verifies domain + admin email proves legitimacy without a passport. A marketplace that verifies phone + email + domain separates real merchants from throwaways — and wallet + social will extend the same proof when they ship.
Proof Tokens vs OIDC Tokens
Proof Holdings: ES256 Proof Tokens
- Proves asset control (what someone holds), not identity attributes
- Portable: share with any third party
- Verify offline with public key
- Not tied to a session or auth flow
- Includes hashed asset identifier (no identity data)
Auth0: OIDC ID Tokens
- Proves authentication in a session
- Tied to the issuing application
- Verify via JWKS endpoint
- Expires with the session
- Contains user profile data (PII)
AI Agent Integration
Both platforms support AI agent workflows, but with different approaches:
Proof Holdings — 167-tool MCP server. Agent creates verification or approval request. Human responds via Telegram/WhatsApp. Signed proof token returned. Works with Claude, LangChain, CrewAI, any MCP framework.
Auth0 — CIBA flow (Developer Preview). Agent requests authorization. User receives push/email/SMS notification via Guardian app. OIDC token returned. SDKs for LangGraph and CrewAI.
Key difference: Proof Holdings HITL works via native messaging (Telegram, WhatsApp) with no app install. Auth0 CIBA requires the Guardian app or custom notification channel setup.
Privacy
Auth0 collects and stores full user profiles: name, email, phone, social account data, login history. This is necessary for an identity platform but creates PII compliance obligations (GDPR, CCPA).
Proof Holdings stores hashed asset identifiers only. The proof token proves control without revealing the underlying asset to third parties. No user profiles, no login sessions, no identity data stored. GDPR-friendly by design.
When to use Auth0
- You need a full identity platform with SSO, user database, and session management
- You need enterprise features (SAML, LDAP, SCIM, MFA policies)
- You want 30+ social login providers out of the box
- Your app is login-centric and you need to know who users are
When to use Proof Holdings
- You need to verify asset control without collecting identity documents
- You need domain or multi-asset verification (wallet and social coming soon)
- You want portable cryptographic proofs, not session-bound tokens
- You need human-in-the-loop approvals delivered via messaging apps
- You want per-verification pricing, not per-user pricing
- You value privacy: no user profiles, no identity data, just proof of control
Frequently Asked Questions
Ready to try Proof Holdings?
300 free proofs per month. No credit card required.
Building with an AI agent? The 167-tool MCP server and test mode let an agent run a real verification right now — machine quickstart in llms-full.txt.