Skip to main content

OCTA Schema

OpenCap Stack is fully aligned with the Open Cap Table Alliance (OCTA) v2.0 schema — the industry standard for interoperable equity data. This means cap table data can be exported, imported, and shared with any OCTA-compatible tool (Carta, Pulley, AngelList, law firm platforms).


Core Entities

Stakeholder

{
"id": "stakeholder_abc123",
"name": "Jane Doe",
"email": "jane@startup.com",
"type": "FOUNDER",
"title": "CEO",
"companyId": "co_xyz789",
"address": {
"line1": "123 Main St",
"city": "San Francisco",
"state": "CA",
"country": "US",
"postalCode": "94105"
},
"taxId": "***-**-1234",
"createdAt": "2024-01-01T00:00:00Z"
}

Types: FOUNDER INVESTOR EMPLOYEE ADVISOR BOARD_MEMBER CONSULTANT


ShareClass

{
"id": "sc_series_a",
"name": "Series A Preferred",
"type": "PREFERRED",
"totalShares": 10000000,
"authorizedShares": 12000000,
"pricePerShare": 1.00,
"liquidationPreference": 1.0,
"participationRights": "NON_PARTICIPATING",
"conversionRatio": 1.0,
"dividendRate": 0.08,
"isConvertible": true,
"votesPerShare": 1,
"companyId": "co_xyz789"
}

Types: COMMON PREFERRED OPTIONS_POOL WARRANT CONVERTIBLE_NOTE


EquityGrant

{
"id": "grant_def456",
"grantNumber": "GRANT-MP34648T-FF2DB6F9",
"stakeholderId": "stakeholder_abc123",
"shareClassId": "sc_options_pool",
"quantity": 100000,
"grantType": "OPTION",
"strikePrice": 0.10,
"fairMarketValue": 0.50,
"vestingSchedule": "4_YEAR_1_YEAR_CLIFF",
"grantDate": "2026-01-01",
"vestingStartDate": "2026-01-01",
"cliffDate": "2027-01-01",
"fullyVestedDate": "2030-01-01",
"status": "APPROVED",
"companyId": "co_xyz789"
}

Grant types: OPTION RSU WARRANT RESTRICTED_STOCK PHANTOM_STOCK

Vesting schedules: 4_YEAR_1_YEAR_CLIFF 3_YEAR_MONTHLY 2_YEAR_6_MONTH_CLIFF IMMEDIATE CUSTOM


SAFENote

{
"id": "safe_ghi789",
"investorId": "stakeholder_investor1",
"investmentAmount": 500000,
"valuationCap": 10000000,
"discountRate": 0.20,
"safeType": "POST_MONEY",
"status": "ACTIVE",
"issueDate": "2026-01-15",
"convertedDate": null,
"convertedShareClassId": null,
"proRataRights": true,
"mfnProvision": false,
"companyId": "co_xyz789"
}

SAFE types: PRE_MONEY POST_MONEY MFN (Most Favored Nation)


Valuation409A

{
"id": "val_jkl012",
"valuationDate": "2026-03-01",
"commonStockFMV": 0.50,
"preferredStockFMV": 1.00,
"company409AValue": 15000000,
"methodology": "INCOME_APPROACH",
"provider": "Internal",
"status": "APPROVED",
"expiresAt": "2027-03-01",
"notes": "Pre-Series B 409A",
"companyId": "co_xyz789"
}

OCTA Export Format

Export a full cap table as OCTA-compliant JSON:

curl https://api.opencapstack.com/api/v1/cap-table/export?format=octa \
-H "Authorization: Bearer $TOKEN"

OCTA v2.0 export envelope:

{
"schema_version": "2.0",
"generated_at": "2026-05-13T00:00:00Z",
"company": {
"id": "co_xyz789",
"name": "Startup Inc.",
"formation_date": "2023-01-01",
"jurisdiction": "DE",
"tax_id": "XX-XXXXXXX"
},
"stakeholders": [...],
"share_classes": [...],
"equity_grants": [...],
"safe_notes": [...],
"valuations": [...],
"cap_table_snapshot": {
"as_of_date": "2026-05-13",
"total_authorized": 20000000,
"total_issued": 12500000,
"fully_diluted": 14000000
}
}

Import from Other Platforms

Import OCTA-compliant exports from Carta, Pulley, or other platforms:

curl -X POST https://api.opencapstack.com/api/v1/cap-table/import \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d @octa_export.json

The importer validates the OCTA schema, deduplicates stakeholders by email, and maps share class types automatically.


Interoperability

OpenCap Stack's OCTA alignment means data flows freely between:

PlatformDirectionFormat
CartaExport from Carta → Import to OpenCap StackOCTA v2.0 JSON
PulleyBidirectionalOCTA v2.0 JSON
AngelListImport from AL → OpenCap StackOCTA v2.0 JSON
Law firm platformsExport for legal reviewOCTA v2.0 JSON
Custom toolsREST API or MCPNative JSON or OCTA

For the full OCTA specification: opencaptablecoalition.com