Email Verification
Prove domain control through the domain's admin mailbox. We send a code to one of its standard admin addresses, and whoever reads that mailbox enters it.
Verify ownership via administrative email
Request Verification
Call our API with the domain. We send a code to one of the domain's standard admin addresses.
Receive OTP Code
Whoever reads that mailbox (admin@, administrator@, webmaster@, hostmaster@, postmaster@) receives the code.
Confirm & Verify
Enter the OTP code to prove email access. Instant verification upon confirmation.
Supported Email Prefixes
We send the code to one of the 5 standard admin addresses — the list the CA/Browser Forum Baseline Requirements define (v2.3.1, 4 October 2026, §3.2.2.4.4).
Certificate authorities are phasing this method out — not recommended since 15 March 2026, not allowed from 15 March 2028 — because a shared mailbox can be compromised or mismanaged. For the strongest proof of a domain, use DNS or HTTP.
API Integration
Email verification made simple
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": "domain",
"channel": "email",
"identifier": "example.com",
"email_prefix": "admin"
}'2. Submit the code
# Confirm OTP code received via email
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": "ABC123"}'Response Example
{
"id": "507f1f77bcf86cd799439011",
"type": "domain",
"channel": "email",
"status": "pending",
"identifier": "example.com",
"challenge": {
"expires_at": "2026-03-16T10:50:00Z",
"method": "domain_email",
"instruction": "Check your domain admin email for a verification code"
},
"created_at": "2026-03-15T10:50:00Z"
}