Scope by region: `dig +short aaaa iad.<appname>.internal` (use any region you deployed to).
Use discovery forms for routing groups: `<appname>.internal` = all started machines; `top3.nearest.of.<appname>.internal` = the N closest; `global.<appname>.internal` = alias for all.
Use TXT queries for metadata: `dig +short txt _instances.internal` (started machines with app/6PN/region), `dig +short txt regions.<appname>.internal`, `_apps.internal` (all apps in the org), `_peer.internal` (all WireGuard peers).
Known gotchas
AAAA records only cover STARTED machines; for deployed-but-stopped data add the `all.` prefix, e.g. `all.regions.<appname>.internal` and `all.vms.<appname>.internal`.
Most client DNS libraries use only the FIRST address in a multi-address AAAA record; a few round-robin. Don't assume the platform load-balances for you.
The server only resolves for hosts already on the 6PN (a Machine, or a laptop connected via `fly wireguard`), not from the public internet.
Give your agent this knowledge — and 17,500+ more routes
One MCP install gives any agent live access to the full route map across 6,000+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?