Open Capital Protocol is the open standard for venture capital data. Machine-readable. Interoperable. Verifiable.
Today, every fund, platform, and data vendor speaks its own dialect. Portfolio companies export CSVs. LPs receive bespoke PDFs. AI tools can't connect the dots because the dots aren't standardized.
OCP defines the entities, schemas, API shape, and compliance rules so that capital data can flow freely — between funds, platforms, and AI systems — without brittle integrations.
{ "ocpVersion": "1.0.0", "fundId": "550e8400-e29b-41d4...", "name": "Acme Ventures I", "vintage": 2022, "fundSize": 100000000, "currency": "USD", "strategy": "early-stage", "confidenceScore": 0.95, "updatedAt": "2024-01-15T10:30:00Z" }
OCP connects them — for funds, platforms, LPs, and the AI tools being built on top.
OCP defines nine entity types that model the complete lifecycle of venture capital — from fund formation through exits. Each primitive has a versioned JSON Schema, TypeScript type, and compliance requirements.
The SDK ships with validators, TypeScript types, and a compliance test suite. Get from zero to passing all 15 compliance checks in a few hours.
$ npm install @ocp/sdk
import { validateFundProfile } from '@ocp/sdk' const result = validateFundProfile(data) if (result.valid) { console.log('Valid OCP fund profile') } else { console.error(result.errors) }
$ npx ocp-compliance \ --url https://your-api.example.com \ --fund your-fund-id \ --key ocp_key_your_api_key ✓ Fund profile returned valid OCP data ✓ Portfolio companies schema valid ✓ Financial snapshots schema valid ✓ Authentication enforced ... 15/15 tests passed
The reference implementation is a Hono server deployable to Cloudflare Workers. Fork it, swap in your data layer, and you're OCP-compliant out of the box.
import { FundProfile, PortfolioCompany, FinancialSnapshot, Instrument, LPCommitment, Contact, ValidationResult, OCP_VERSION } from '@ocp/sdk'
app.get('/ocp/v1/funds/:id', async (c) => { const fund = getFund(c.param('id')) if (!fund) return c.json( { error: 'not_found' }, 404 ) return c.json({ data: fund, ocpVersion: OCP_VERSION }) })
OCP isn't a platform. It's a layer underneath your platform — the standard that makes your data portable, your LP relationships smoother, and your AI investments worthwhile.
A GenNote is a new financial instrument designed for the age of AI — a convertible note with structured, machine-readable terms that can be issued, tracked, and exercised programmatically via OCP.
A GenNote is only programmable if all parties can read the same data in the same format. OCP provides the shared schema so that:
OCP is in active development. Developer preview gives you access to the spec, SDK, reference server, and a direct line to the team building it.
No spam. No sales calls. Just protocol updates and access when we're ready.
We'll reach out when developer access opens. In the meantime, the spec and SDK are live on GitHub.