Email Verification
Verified inbox access with cryptographic proof. Magic links and OTP codes backed by proof tokens. High-deliverability infrastructure handles the complexity - you get cryptographic confirmation that a human accessed that specific inbox.
Why Proof-Backed Email?
Anyone can send an OTP email. The hard parts are deliverability, lifecycle, and evidence — and every point solution you bolt on is one more supplier to manage.
DIY or a Point Email Service
Wire up sending yourself, or add a specialised email-OTP vendor — either way you carry the plumbing.
Deliverability is a full-time job
SPF, DKIM, DMARC, IP reputation. Get it wrong and codes land in spam — the funnel stalls.
A point service is one more supplier
A specialised sender works, but that's another contract, SDK, and dashboard for a single asset type.
You still own the lifecycle
Code storage, expiry, retries, rate limits — the verification logic stays on your plate.
The result is a boolean
A verified flag in your own database — no evidence you can hand to a partner or auditor.
Proof Email Verification
One API call sends the challenge; you get back a cryptographic proof of inbox control.
Deliverability built in
High-deliverability infrastructure handles the complexity — nothing for you to run or warm up.
OTP or magic link, same API
Pick the UX per flow. Both routes end in the same verification and the same proof token.
Cryptographic proof token
A signed token that a human accessed that specific inbox — evidence that travels.
One supplier, every asset
The same integration verifies phone numbers, domains, social accounts, and wallets.
Simple and familiar email verification flow
Create Verification
Call our API with the email address. We send a verification email with OTP code or magic link.
User Verifies
User either enters the OTP code or clicks the magic link to prove email control.
Proof Generated
We verify the action and return a cryptographic proof token via webhook or redirect.
API Integration
Integrate email verification in minutes
1. Create Verification Request
curl -X POST https://api.proof.holdings/api/v1/verifications \
-H "Authorization: Bearer pk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "email",
"channel": "email",
"identifier": "[email protected]"
}'2. Verify the Proof Token
# After user enters the OTP code or clicks the magic link
curl -X POST https://api.proof.holdings/api/v1/verifications/VERIFICATION_ID/submit \
-H "Authorization: Bearer pk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"code": "847293"
}'Response Example
{
"id": "507f1f77bcf86cd799439011",
"type": "email",
"channel": "email",
"status": "verified",
"identifier": "[email protected]",
"verified_at": "2026-03-15T10:30:00Z",
"proof": {
"token": "eyJhbGciOiJFUzI1NiIs...",
"expires_at": "2026-04-14T10:30:00Z"
}
}