Ecosystem Architecture Vision Principles
The Agentic Ecosystem · v0.1

From null.

Infrastructure for AI agents that work together.

Auth. CRM. Memory. Matching. Knowledge. — Five services, one token, zero human intervention. Your agents register, authenticate, store data, sync CRMs, map relationships, and close deals. You watch the audit log.

AUTH CRM MEM MELT NEXUS your agent
oauth 2.1dynamic client registrationjwt tokensagent-to-agent authcrm pipelinescontact scoringauto enrichmentkey-value storageevent sourcingmcp-nativeaudit trailgdpr-nativesub-50ms writesfuzzy matchingdach-optimizedknowledge graphrelationship intelligencewarm introstemporal factsberlin, eu oauth 2.1dynamic client registrationjwt tokensagent-to-agent authcrm pipelinescontact scoringauto enrichmentkey-value storageevent sourcingmcp-nativeaudit trailgdpr-nativesub-50ms writesfuzzy matchingdach-optimizedknowledge graphrelationship intelligencewarm introstemporal factsberlin, eu

The Ecosystem

Five services. One token.
Zero glue code.

Each service is a standalone microservice with its own API. Together, they form the infrastructure layer your agents need to operate autonomously. One OAuth token grants cross-service access.

live
AUTH
oauth.nul.bot

OAuth 2.1 Authorization Server. Agents register themselves, get JWT tokens, and access every service in the ecosystem — no human in the loop.

  • Dynamic Client Registration (RFC 7591)
  • JWT Access Tokens (RS256, 1h TTL)
  • Cross-service scopes (crm:*, vault:*)
  • PKCE mandatory, refresh token rotation
  • Master Agent delegation
  • Full audit log for every auth event
# Agent self-registers and gets a token POST oauth.nul.bot/register { "client_name": "sales-bot", "scope": "crm:read crm:write" } → client_id + client_secret POST oauth.nul.bot/token grant_type=client_credentials → eyJ... (JWT, cross-service)
live
CRM
crm.nul.bot

The CRM that agents actually use. Contacts, companies, deals, pipelines — all through one API call. Sub-50ms writes, MCP-native.

  • Unified entity model (contacts, companies, deals)
  • Agent-to-agent pipelines (shared state)
  • Auto-enrichment (company data, social, funding)
  • Full-text search + filtered queries
  • Interaction logging (calls, emails, meetings)
  • EU AI Act ready — decision logging built in
# Agent creates a contact in under 50ms POST crm.nul.bot/v1/entities { "entity_type": "contact", "properties": { "name": "Sarah Chen", "email": "sarah@acme.io", "company": "Acme Corp" }, "source": "linkedin-bot" } → entity_id, version: 1, created: true
live
MEM
mem.nul.bot

Agent memory that survives sessions. Key-value storage with event sourcing, anonymous mode, and shareable links. One curl, no signup.

  • Key-value store with JSON values
  • Event sourcing (every mutation versioned)
  • Anonymous mode — no auth required to start
  • Share links for humans to view agent data
  • Namespace isolation + public namespaces
  • Encrypted in transit and at rest
# Agent stores state — picks up next session POST mem.nul.bot/v1/kv { "namespace": "project-x", "key": "research-state", "value": { "step": 7, "findings": ["..."], "next": "evaluate pricing" } } → version: 1, stored
live
MELT
melt.nul.bot

Match · Enrich · Load · Transfer. Intelligent CRM sync with DACH-optimized fuzzy matching. Catches duplicates automatically — even REWE vs Rewe GmbH vs REWE Group SE & Co. KG.

  • 4-stage pipeline: Match → Enrich → Load → Transfer
  • DACH-optimized fuzzy matching (GmbH, AG, KG, SE)
  • Multi-strategy scoring (exact, suffix, token, phonetic)
  • HubSpot adapter built in, extensible to any CRM
  • CLI + MCP Server for agent integration
  • 80/80 tests passing, 4.633 LOC
# Match two company names POST melt.nul.bot/v1/match { "source": "REWE Group SE & Co. KG", "target": "Rewe GmbH", "locale": "de-DE" } → score: 0.94, strategy: "suffix_normalized" → match: true, confidence: "high"
live
NEXUS
nexus.nul.bot

Knowledge Graph API for relationship intelligence. Persons, companies, temporal facts, entity-annotated stories, bidirectional relations, warm intro paths via BFS, relationship scores, and decay detection. Fuzzy search powered by pg_trgm. API-first, built for AI agents.

# Register and get a token POST nexus.nul.bot/v1/auth/register { "email": "you@example.com", "password": "...", "fullName": "Your Name" } # Add a person POST nexus.nul.bot/v1/persons { "name": "Henri Kühnert", "source": "manual" } # Find warm intro path GET nexus.nul.bot/v1/graph/path?from=henri-kuehnert&to=bjoern-borgman → path: [henri-kuehnert, ..., bjoern-borgman]
## For AI Agents NEXUS is an API-first Knowledge Graph for relationship intelligence. Any AI agent with a JWT or API token can: - Store and query people, companies, and their relationships - Add temporal facts that auto-version (supersede old values) - Create entity-annotated stories (free text with linked entities) - Find warm intro paths between any two people (BFS graph traversal) - Track relationship health via interaction signals and decay scores - Search across all entities with fuzzy matching (pg_trgm) Base URL: https://nexus.nul.bot/v1 Auth: Bearer JWT or API token via /v1/auth/register + /v1/auth/api-token

One token. Five services.
Full audit trail.

Your agent discovers the ecosystem through OAuth, gets a single JWT, and uses it everywhere. Every action is logged. Every state change is versioned. You stay in control.

Your Agent 1. GET oauth.nul.bot/.well-known/oauth-authorization-server → discovers registration_endpoint, scopes, token_endpoint 2. POST oauth.nul.bot/register → client_id + client_secret (self-registration, no human) 3. POST oauth.nul.bot/token → JWT access_token (RS256, 1h, cross-service scopes) ├────────────────┬────────────────┬────────────────┬────────────────┐ crm.nul.bot mem.nul.bot melt.nul.bot nexus.nul.bot ???.nul.bot CRM · Deals Memory · KV Fuzzy Match Knowledge Graph Your service └────────────────────────┴────────────────────────┘ Audit Trail Every action logged. Every state versioned. GDPR-native. Frankfurt, EU.

What's next

The ecosystem grows.

AUTH, CRM, MEM, MELT, and NEXUS are the foundation. Every new service plugs into the same token, the same audit trail, the same infrastructure. Here's what's on the horizon.

FLOW
flow.nul.bot

Workflow orchestration. Define multi-agent sequences, conditional branching, retry logic. The DAG engine for your agent fleet.

planned
WIRE
wire.nul.bot

Agent-to-agent messaging. Async communication, event queues, pub/sub channels. Agents talk to agents — structured, audited.

planned
BILL
bill.nul.bot

Usage-based billing for agent services. Metered API calls, token consumption, storage usage. Your agents generate revenue.

planned
SCAN
scan.nul.bot

Compliance monitoring. EU AI Act reporting, automated risk assessment, decision logging dashboards. Built for regulated markets.

planned
GATE
gate.nul.bot

API gateway for the ecosystem. Rate limiting, request routing, load balancing, and analytics across all nul.bot services.

planned
YOUR.BOT
???.nul.bot

Build your own service on nul.bot infrastructure. Same auth, same audit trail, same developer experience. Plug into the ecosystem.

open

How we build

Principles.

Every service in the ecosystem follows these rules. No exceptions.

01
Agent-first, human-watchable

The primary user is always the AI agent. The API is the UI. But humans can see everything — dashboards, audit logs, share links. Control without friction.

02
One token, all services

A single OAuth 2.1 JWT grants scoped access across the entire ecosystem. No per-service auth, no key management headaches, no integration tax.

03
Every action audited

Every API call, every state transition, every agent decision — logged, timestamped, attributed. Not because compliance demands it. Because autonomous agents require accountability.

04
Zero friction to start

No account needed to store your first value. No credit card needed for your first 500 contacts. Self-registration for agents. The barrier to entry is one curl.

05
EU-native, not EU-patched

Data in Frankfurt. GDPR by design. EU AI Act preparation built into the architecture — not bolted on after a compliance audit. Berlin-built infrastructure.

06
Services compose, not compete

Each service does one thing well. They share state through APIs, not databases. New services plug in — they don't replace. The ecosystem grows by addition, not by bloating.

oauth.nul.botcrm.nul.botmem.nul.botmelt.nul.botnexus.nul.botflow.nul.botwire.nul.botbill.nul.botscan.nul.botgate.nul.bot???.nul.bot oauth.nul.botcrm.nul.botmem.nul.botmelt.nul.botnexus.nul.botflow.nul.botwire.nul.botbill.nul.botscan.nul.botgate.nul.bot???.nul.bot

From null to everything.

Start with one service. Add another. Your agents handle the rest. Free during early access. No credit card. No seat licenses. Just APIs.