Skip to main content
Use this recipe when you want to prove that a domain belongs to the wallet behind your app, site, or profile.

How It Works

  1. Add a DNS TXT record to your domain
  2. Create a proof that verifies the record matches your wallet
  3. Use the proof for domain-gated access or verification

Setup

Step 1: Add DNS TXT Record

Add a TXT record at _neus.<yourdomain.com>:
neus=<your-wallet-address>
Example:
_neus.example.com TXT "neus=0x1234567890abcdef1234567890abcdef12345678"

Step 2: Create Domain Proof

const proof = await client.verify({
  verifier: 'ownership-dns-txt',
  data: {
    domain: 'example.com',
    walletAddress: '0x...',
  },
  walletAddress: '0x...',
});

Step 3: Verify Proof

GET /api/v1/proofs/check?verifierIds=ownership-dns-txt&address=0x...

Propagation Time

DNS changes typically propagate within minutes but can take up to 24 hours depending on your DNS provider.

Use Cases

Use CaseDescription
Org onboardingProve your team controls the public domain
Brand trustLink the domain to the wallet behind your NEUS presence
Public proof displayShow a reusable proof page for domain control