Blackmoat Intelligence Integration
How DMTR integrates Blackmoat private market intelligence into the platform via @dmtr/intelligence and the /v1/intelligence API.
Overview
DMTR integrates Blackmoat private market intelligence — a curated corpus of 2,500+ startups, 1,100+ investors, 57,000+ funding transactions, and narrative intelligence documents — into the platform as a first-class subsystem. The integration provides structured company profiles, transaction histories, key people, and valuation metrics alongside DMTR's ownership and transferability infrastructure.
The two systems occupy complementary positions:
| Capability | Blackmoat | DMTR | Integrated |
|---|---|---|---|
| Company discovery and profiling | Yes | No | Yes |
| Funding round and deal graph | Yes | No | Yes |
| Valuation and operating metrics | Yes | No | Yes |
| Key people and investor graph | Yes | No | Yes |
| Canonical ownership state | No | Yes | Yes |
| Transfer feasibility evaluation | No | Yes | Yes |
| Consent chain orchestration | No | Yes | Yes |
Architecture
The integration introduces a new @dmtr/intelligence package that abstracts intelligence data access:
Chrome Extension ──→ DMTR API (/v1/intelligence/*) ──→ @dmtr/intelligence
│ │
├── /v1/positions (DMTR core) ├── SqliteProvider (dev)
├── /v1/transfers (DMTR core) └── PostgresProvider (prod, planned)
└── entity_crosswalk@dmtr/intelligence package
Located at packages/intelligence/, this package provides:
IntelligenceProviderinterface — abstract API for entity lookup, search, transactions, people, documents, snapshots, and entity resolutionSqliteProvider— reads from the same better-sqlite3 instance as the DMTR API (development mode)EntityResolver— TypeScript port of Blackmoat's Python entity resolution algorithm (alias → exact → fuzzy matching with Levenshtein distance)- Zod schemas for all intelligence types (
IntelEntity,IntelPerson,IntelTransaction,IntelSnapshot,IntelDocument,EntityMatch) - CURIE ID system —
FC:ORG:*,FC:PERSON:*,FC:DEAL:*format from Blackmoat
Entity crosswalk
The entity_crosswalk table links Blackmoat entity IDs to DMTR position entity IDs:
CREATE TABLE entity_crosswalk (
blackmoat_id TEXT NOT NULL,
dmtr_entity_id TEXT NOT NULL,
confidence REAL DEFAULT 1.0,
source TEXT DEFAULT 'manual',
PRIMARY KEY (blackmoat_id, dmtr_entity_id)
);This enables the /enrich endpoint to compose intelligence data with DMTR position data in a single response.
Try it — Start the API with
pnpm devand open http://localhost:3100. The Intelligence Discovery section at the top of the demo page provides a live entity search and enrichment explorer. Search for "Saronic" or "Anduril" to see the enrichment response rendered with metrics, transactions, people, and the DMTR transferability badge.
Intelligence API
All endpoints are mounted under /v1/intelligence/ on the Hono API.
| Endpoint | Method | Description |
|---|---|---|
/v1/intelligence/entities/:slug | GET | Full entity profile |
/v1/intelligence/entities | GET | Search entities by ?q= query string |
/v1/intelligence/entities/:slug/transactions | GET | Transaction history |
/v1/intelligence/entities/:slug/people | GET | Key people |
/v1/intelligence/entities/:slug/documents/:type | GET | Intelligence documents by type |
/v1/intelligence/entities/:slug/documents | GET | All documents |
/v1/intelligence/entities/:slug/snapshots | GET | Time-series metrics |
/v1/intelligence/resolve | POST | Entity resolution: { name, type? } → ranked matches |
/v1/intelligence/enrich/:slug | GET | Composite enrichment: entity + transactions + people + snapshots + documents + DMTR positions + transferability |
Enrichment response
The /enrich/:slug endpoint is the key integration point, designed for the Chrome extension's "Know" tab:
{
"entity": {
"entity_id": "FC:ORG:saronic",
"slug": "saronic",
"display_name": "Saronic Technologies",
"entity_type": "startup",
"description": "Autonomous surface vessels for naval defense...",
"headquarters": "Austin, TX",
"founded_year": 2021,
"tags": ["defense", "autonomous-vehicles", "maritime"]
},
"transactions": [...],
"people": [...],
"snapshots": [...],
"documents": [...],
"dmtr_positions": [...],
"transferability": {
"transferable": true,
"restriction_count": 5,
"dmtr_entity_ids": ["pos-rd-gp-a-saronic", "pos-rd-gp-b-saronic", "pos-rd-gp-c-saronic", "pos-rd-gp-d-saronic"]
}
}Seed data
The development environment seeds a curated subset of Blackmoat data:
| Data type | Count | Coverage |
|---|---|---|
| Entities | 20 | All Megalith portfolio companies + major VC firms + landmark tech companies |
| People | 23 | Founders, CEOs, and key investors |
| Transactions | 24 | Primary rounds and secondary transactions |
| Deal participants | 42 | Investor participation in deals |
| Snapshots | 31 | Valuation, total raised, headcount, revenue metrics |
| Documents | 6 | Company context and competitive analysis |
| Crosswalk entries | 4 | Saronic DOIV positions → DMTR position mappings |
No external database is required for development. Intelligence data is seeded into SQLite alongside Patient Zero positions when the API starts.
What's deferred
The following are planned but not yet implemented:
- PostgresProvider — production Supabase/Postgres connection via
BLACKMOAT_DATABASE_URL - Full corpus import — script to import the complete 1.4 GB Blackmoat dataset
- MCP server — intelligence tools as MCP resources and tools
- Bidirectional sync — DMTR execution events feeding back into intelligence
- Collateral and lending engine — pledging intelligence-enriched positions
- Lender marketplace — two-sided lending with intelligence-driven haircuts