Resolution & Discovery
NANDA provides a DNS-like resolution system for agents. The Lean Index maps agent IDs to signed endpoint records (AgentAddr), while the adaptive resolver selects the best endpoint using multi-strategy scoring. SafeSearch filters results by trust and compliance, and the Switchboard bridges across protocols.
Lean Index & AgentAddr
Every registered agent gets an AgentAddr record — an Ed25519-signed, KV-cached record containing the agent's endpoint URLs, TTL, and cryptographic provenance.
AgentAddr Record Fields
| Field | Description |
|---|---|
agent_id | Unique agent identifier |
public_key_hex | Ed25519 public key (hex-encoded) used for signature verification |
facts_url | Primary URL pointing to the agent's AgentFacts document |
private_url | Optional private/internal URL (not publicly advertised) |
resolver_url | Optional override URL for adaptive resolution |
ttl_seconds | Cache TTL (default: 300s). KV minimum is 60s. |
signature_hex | Ed25519 signature over canonical JSON of all signable fields |
signer_id | Identity of the signing node (e.g. nexartis-nanda-node) |
quilt_type | Federation quilt type: native, mirror, or proxy |
# Resolve an agent by ID
curl https://nanda.nexartis.com/resolve/my-agent-id
# Public discovery of all AgentAddr records
curl https://nanda.nexartis.com/.well-known/nanda-index Signature Verification
AgentAddr records use canonical JSON serialization (sorted keys, no whitespace)
for deterministic signing. Any party can verify a record by importing the embedded public_key_hex as an Ed25519 key and verifying the signature_hex against the canonical form.
Adaptive Resolution
The POST /resolve endpoint performs context-aware resolution. The
resolver selects one of three strategies based on the request:
Resolution Strategies
Static
No context provided → returns endpoints from AgentFacts in order, scored by position (1.0, 0.9, 0.8…). Used for simple lookups.
Rotating
Agent has a resolver_url but no context → round-robin across the endpoint pool with
health awareness. Unhealthy endpoints are deprioritized (moved to end) rather than removed.
Adaptive
Context body provided → full composite scoring with geo proximity, trust, capability match, and health. Returns endpoints ranked by composite score.
Scoring Weights
The adaptive strategy computes a composite score per endpoint:
composite = (geo × w_geo) + (trust × w_trust) + (capability × w_cap) + (health × w_health) | Factor | Scoring |
|---|---|
| Geo proximity | Same country = 1.0, same region = 0.7, different region = 0.3, unknown = 0.5 |
| Trust score | Normalized 0.0–1.0 from reputation snapshots |
| Capability match | Intersection / required capabilities (1.0 if no requirements) |
| Health | 70% success rate + 30% latency score (p95 < 5s). Unknown = 0.5 |
Context Parameters
{
"requester_location": "US",
"required_capabilities": ["text-to-text"],
"protocol_preference": "a2a",
"min_trust_score": 0.7
} SafeSearch
SafeSearch mode filters agents by trust thresholds, jurisdictions, and compliance status. Enable
it by passing SafeSearch parameters to the /search endpoint:
curl "https://nanda.nexartis.com/search?q=translation&min_trust=0.7&jurisdiction=EU" SafeSearch filters include:
min_trust— Minimum trust score threshold (0.0–1.0)required_certs— Only return agents with specific certificationsjurisdiction— Filter by compliance jurisdiction (e.g. EU, US)content_flags— Exclude agents with specific content flags
Switchboard (Protocol Bridge)
The Switchboard bridges between protocols (A2A ↔ MCP ↔ NLWeb), allowing agents registered with one protocol to be discovered and called via another. It auto-discovers an agent's supported protocols by probing well-known endpoints.
- Auto-discovery —
nanda_discover_agentprobes a URL for A2A, MCP, and NLWeb support - Protocol adapters — Registered per-agent in the
protocol_adapterstable - Export —
nanda_export_agentgenerates metadata in any target protocol format
API Endpoints
| Method | Path | Description |
|---|---|---|
| POST | /resolve | Adaptive resolution with context body |
| GET | /resolve/:agent_id | AgentAddr lookup by ID (KV cache → D1 fallback) |
| GET | /.well-known/nanda-index | All AgentAddr records (public) |
| GET | /search?min_trust=&jurisdiction= | SafeSearch filtered discovery |
| POST | /api/switchboard/discover | Auto-discover agent protocols |
| GET | /api/switchboard/adapters/:agent_id | List protocol adapters |
MCP Integration
Resolution and discovery are available via MCP tools: nanda_resolve_agent, nanda_discover_agent, nanda_list_adapters, and nanda_export_agent.