Cryptographic Proof

Domain Verification

Cryptographic domain proof in minutes. DNS TXT, HTTP file, or admin email verification — the DNS and HTTP checks cloud platforms and certificate authorities use. Essential for vendor onboarding, partnership verification, and business transactions.

Proof Holdingsproof.holdings · verification api
AttestationNº 2026-0063
subjectteam.management
methodDNS TXT · _proof.team.management
challengeproof-verify=8f2c… published in the zone
resolved14:11:04 UTC
verdictOwnership provenonly the zone's operator can publish this record
Mintedph_ctl_9d4c…f10 · ES256

Why Automated Domain Proof?

Vendor onboarding usually means webmaster email threads and screenshots — or yet another verification supplier. The platforms standardised DNS challenges years ago; Proof Holdings automates that standard and hands you portable evidence.

Manual Checks or Another Vendor

Chase the webmaster yourself, or contract a point domain-verification service — either way the answer goes stale.

Webmaster threads and WHOIS squinting

Days of back-and-forth to answer one question: do they actually control the domain?

Screenshots as evidence

Unverifiable and instantly stale — control can change the day after the check.

A point service is one more supplier

Specialised domain-verification vendors exist, but that's another contract and another headache for a single check.

Every partner audits differently

No standard artifact — each counterparty reinvents the checklist from scratch.

Domain Verification with Proof Holdings

The same challenge methods the big platforms use, automated end to end, ending in a signed proof.

The industry-standard methods

DNS TXT, HTTP file, or admin email — the DNS and HTTP checks cloud platforms and certificate authorities use.

Auto-DNS does the setup

We recognise 146 DNS providers from a domain's nameservers; on 54 of them we create the TXT record for you.

A signed, portable proof

Proof token plus verified_data — evidence any counterparty can check, re-runnable with one API call.

One supplier, every asset

The same integration verifies emails and phone numbers — social accounts and wallets are planned.

How It Works

Industry-standard domain control verification

§ 01

Create Verification

Call our API with the domain name. We generate a unique verification token and instructions.

§ 02

User Proves Ownership

Domain owner adds a DNS TXT record (manually or auto-created via registrar), hosts a file, or confirms via webmaster email.

§ 03

Proof Generated

We verify the record/file exists and return a cryptographic proof of domain control.

Auto-DNS Technology

Automatic DNS Provider Detection

We detect your DNS provider automatically from nameserver records. For supported providers, we can create the verification TXT record for you - no manual DNS editing required.

146
DNS Providers Detected
54
With Auto-Create TXT

Supported Providers Include

cloudflare logo
Cloudflare
godaddy logo
GoDaddy
aws logo
AWS
google cloud logo
Google Cloud
azure logo
Azure
digitalocean logo
DigitalOcean
namecheap logo
Namecheap
vercel logo
Vercel
netlify logo
Netlify
ovh logo
OVH
hetzner logo
Hetzner
porkbun logo
Porkbun

+ 134 more we recognise, including regional registrars and managed DNS services

API Integration

Integrate domain verification seamlessly

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": "dns",
    "identifier": "example.com"
  }'

2. Check the record or file

# Trigger verification check after setup
curl -X POST https://api.proof.holdings/api/v1/verifications/VERIFICATION_ID/verify \
  -H "Authorization: Bearer pk_live_YOUR_API_KEY"

Response Example

{
  "id": "507f1f77bcf86cd799439011",
  "status": "verified",
  "attempts": 1,
  "max_attempts": 3,
  "verified_at": "2026-03-15T10:55:00Z",
  "verified_data": {
    "domain": "example.com",
    "record_found": "_proof.example.com",
    "record_value": "proof-verify=A7B3X9",
    "all_records": ["proof-verify=A7B3X9"]
  },
  "proof": {
    "token": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9...",
    "expires_at": "2027-03-15T10:55:00Z"
  }
}