Industry Standard

DNS Verification

Prove domain control by adding a TXT record. The check cloud platforms and certificate authorities use.

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
How It Works

Add a single TXT record to verify control

§ 01

Get DNS Record

Call our API with the domain. We return a unique TXT record value to add to your DNS.

§ 02

Add TXT Record

Add the TXT record to your domain's DNS settings. Works with any DNS provider.

§ 03

Check the Record

When the record is in place, call the check endpoint. You have three checks, and DNS changes can take a while to spread, so check once the record resolves.

Skip Manual Setup

Don't want to add records manually?

Connect your DNS provider and we'll create the TXT record automatically. Works with Cloudflare, GoDaddy, Route53 and 51 more providers.

Try Auto-Verify

API Integration

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

2. Check the record

# Trigger DNS check after adding TXT record
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",
  "type": "domain",
  "channel": "dns",
  "status": "pending",
  "identifier": "example.com",
  "challenge": {
    "code": "A7B3X9",
    "expires_at": "2026-03-16T10:50:00Z",
    "record_type": "TXT",
    "record_name": "_proof.example.com",
    "record_value": "proof-verify=A7B3X9",
    "instruction": "Add a TXT record to your DNS..."
  },
  "created_at": "2026-03-15T10:50:00Z"
}