Object Model
Position Object overview: canonical schema, field maturity levels, vehicle classes, and example structure.
What is a Position Object
The Position Object is the atomic, machine-readable representation of a private market position. It encodes rights, restrictions, obligations, economic terms, and compliance state in a canonical schema. Every position in DMTR—whether an SPV LLC interest, fund LP interest, or direct holding—is modeled as a Position Object.
Canonical schema overview
The Position Object schema is organized into logical blocks: entity_id, version, status, owner, asset (issuer, vehicle class, underlying, terms, governing document), economic_rights (preference, carry, waterfall), transfer (transferability, restrictions, consent chain), compliance (KYC, AML, accreditation, ITAR, CFIUS), valuation, encumbrances, tokenization, provenance, and metadata. Lifecycle events are stored as separate PositionEvent records with hash chain integrity.
Field maturity levels
Canonical
Canonical fields are stable, fully specified, and guaranteed across all Dark Matter environments. They form the core of the schema and are safe for production use.
Conditional
Conditional fields are available when certain conditions are met (e.g., vehicle class, document type). They are documented and supported but may not appear on every Position Object.
Planned
Planned fields are in design or early implementation. They are documented for roadmap visibility but should not be relied upon in production until promoted to conditional or canonical.
Vehicle classes
Vehicle classes categorize the legal structure of the position: lp_interest, gp_interest, doiv_gp_interest, doiv_lp_interest, doiv_membership_interest, spv_llc, fund_lp, direct, feeder, and other. Each vehicle class may have class-specific fields and semantics. The vehicle_class field drives conditional schema behavior.
Example object
{
"entity_id": "meg-2026-047",
"status": "active",
"owner": "part-allocator-001",
"asset": {
"issuer": { "name": "Acme Corp DOIV LLC", "jurisdiction": "US-DE" },
"vehicle_class": "doiv_membership_interest",
"underlying": { "company": "Acme Corp", "sector": "defense" }
},
"economic_rights": { "preference": "pari_passu", "cost_basis": "4200000" },
"transfer": { "transferable": true, "restrictions": [] },
"compliance": { "kyc_status": "cleared", "aml_status": "cleared" },
"valuation": { "current_mark": { "value": "5000000", "currency": "USD", "as_of": "2026-03-01", "provenance": "gp_mark" } },
"tokenization": { "status": "not_tokenized" }
}This example shows an active DOIV membership interest with pari-passu preference, no transfer restrictions, cleared KYC/AML, and a GP mark. Lifecycle events are stored as separate PositionEvent records — not embedded on the position. See Position Object for full schema details.