Verifier: ownership-dns-txt. Optional — not required to create a gate or run VerifyGate.
Steps
-
TXT at
_neus.<yourdomain> (DNS host/name is often _neus when the zone is your apex or subdomain).
wallet=<your-wallet-or-account-address>
Example for Ethereum (use lowercase hex so it matches what NEUS expects):
The verifier reads wallet= only (not neus= or other prefixes).
-
Proof — include at least
domain in data. You may omit data.walletAddress when the same request carries a verified top-level walletAddress (typical signed proof); the service fills in that signer address before the DNS check. The TXT line must use the same wallet or account address NEUS uses for the proof.
const proof = await client.verify({
verifier: 'ownership-dns-txt',
data: { domain: 'example.com', walletAddress: '0x...' },
walletAddress: '0x...',
});
-
Check
GET /api/v1/proofs/check?verifierIds=ownership-dns-txt&address=0x...
DNS can take minutes to propagate (sometimes longer per provider). Last modified on June 4, 2026