Data Model Reference

The NANDA node stores all state in a Cloudflare D1 database using Drizzle ORM. The schema contains 53 tables across 21 domains.

Domain Map

DomainTablesDescription
Registryagents, agent_facts, clientsCore agent registration, metadata, API keys
Certifiercert_jobs, trial_results, certificates, cert_revocationsAutomated certification pipeline
Compliancecompliance_decisions, violations, policies, scan_runsPolicy evaluation and enforcement
Observerprobe_runs, reputation_snapshots, telemetry_eventsHealth monitoring and reputation scoring
Auditoraudit_intents, settlements, reconciliations, walletsPayment verification and financial audit
Trustfederation_trust_scores, cross_registry_scores, behavior_metricsCross-registry trust framework
Trust Frameworktrust_framework_meta, trust_graph_edgesToIP alignment and trust graphs
Webhookswebhook_subscriptionsEvent notification subscriptions
Versioningagent_versionsAgent version history
UCPucp_checkout_sessionsUniversal Checkout Protocol sessions
Billingbilling_periods, billing_line_itemsUsage metering and billing cycles
Revenue Sharingrevenue_splits, shares, settlementsDeveloper revenue distribution
Multi-CurrencycurrenciesSupported currencies and exchange rates
Subscriptionssubscriptions, subscription_eventsPlan-based billing
Invoicesinvoices, invoice_sequenceSequential invoice generation
Lean Indexagent_addrsDNS-like AgentAddr records with Ed25519 signatures
Resolverresolution_log, protocol_adaptersAdaptive resolution and protocol bridging
Federation v2federation_peers, gossip_log, quilt_routesCRDT gossip and peer management
Orchestrationworkflows, steps, runs, step_runs, patterns, delegation_tasks, routing_decisions, events, conflict_resolutionsMulti-agent workflow engine
Developer Keysdeveloper_keysAPI key management for developers
Site Visitorssite_visitorsAnonymous visitor tracking

Key Relationships

agents → agent_facts

One-to-one. Each agent has a single AgentFacts document stored as JSON text. Facts URL can point to an external /.well-known/agent-facts.json.

agents → certificates → cert_revocations

One-to-many. Each agent can have multiple certificates; each cert can be revoked. Bitstring Status List tracks revocation state.

workflows → steps → runs → step_runs

Hierarchical. A workflow has ordered steps (DAG). Each run produces step_runs tracking individual step execution with input/output and status.

federation_peers → gossip_log → quilt_routes

Peers exchange gossip messages. CRDT merge entries are logged. Quilt routes define optimized gossip topology.

Schema Source

The complete schema is defined in src/lib/db/schema.ts using Drizzle ORM's sqliteTable builder. Migrations are hand-written SQL in drizzle/migrations/ (0000–0020).

Standards Referenced

Related reading Building Agent DNS — how the data model powers agent discovery at scale · CRDTs & Gossip Protocols — federation data merge semantics in detail

Coming Soon

By Invitation Only