Sublease a slot between tenants (4(a)(7) playbook)
Reassign a slot's tenant_assignment from one hyperscaler to another using the same Section 4(a)(7) secondary-transfer mechanics DMTR uses for fund interest re-allocations.
Overview
A tenant may need to assign part of its allocation to another counterparty for a defined period — for example, subleasing 50 MW of a 200 MW allocation for a six-month batch-inference engagement. The sublease uses the same secondary-transfer mechanics DMTR applies to fund interest transfers under Section 4(a)(7).
The schema primitive is SubleaseRequest. The exemption pathway, consent flow, and compliance checks reuse the existing core rights engine.
Step 1 — Construct the SubleaseRequest
{
"sublease_id": "sub-pampa-001",
"parent_assignment_id": "ta-pampa-jv-001",
"new_tenant_participant_id": "aws-llc",
"sublease_capacity_mw": 50,
"requested_start": "2027-09-01",
"requested_end": "2028-03-01",
"exemption_pathway": "section_4a7",
"requires_landlord_consent": true,
"requires_grid_operator_notice": false
}The exemption_pathway selects the secondary-transfer regime. For private slots inside a Compute SPV LLC structure, section_4a7 is the standard path. For slots issued from a fund-of-funds vehicle, section_4a112 may apply.
Step 2 — Run the existing 4(a)(7) check
The core check4a7Resale evaluates the exemption requirements against the underlying Position. The slot's parent Position must have transfer.restrictions[].type === "section_4a7_resale" for the check to apply:
import { rightsEngine } from "@dmtr/core";
const verdict = rightsEngine.evaluate({
position: parentPosition,
buyer: awsParticipant,
seller: anthropicParticipant,
hasPreExistingRelationship: true,
platformAccessRestricted: true,
});If verdict.exemption_pathway === "section_4a7" and verdict.allowed === true, the sublease proceeds.
Step 3 — Decompose if needed
If the sublease is for less than the parent assignment, decompose the slot first:
curl -X POST https://sandbox-api.dmtr.ai/v1/energy/slots/slot-pampa-jv-phase1/decompose \
-d '{
"blocks": [
{ "slot_id": "slot-pampa-jv-phase1-block-A", "capacity_mw": 50 },
{ "slot_id": "slot-pampa-jv-phase1-block-B", "capacity_mw": 150 }
]
}'The 50 MW child slot is now a separately-tenantable unit referencing the parent via parent_slot_id.
Step 4 — Update the child slot's tenant_assignment
curl -X PATCH https://sandbox-api.dmtr.ai/v1/energy/slots/slot-pampa-jv-phase1-block-A \
-d '{
"tenant_assignment": {
"assignment_id": "ta-pampa-block-A-aws",
"tenant_participant_id": "aws-llc",
"status": "active",
"allocated_capacity_mw": 50,
"use_class": "batch_inference",
"assigned_at": "2027-09-01",
"effective_at": "2027-09-01",
"expires_at": "2028-03-01",
"prior_assignment_id": "ta-pampa-jv-001"
}
}'Step 5 — Notify the grid operator (when in-front-of-meter)
For behind-the-meter slots like Pampa Phase 1, no grid operator notice is required (set requires_grid_operator_notice: false). For in-front-of-meter slots, the slot's interconnect.queue_position.grid_operator (e.g. CAMMESA) requires a tenant-change notice. The SubleaseRequest.requires_grid_operator_notice flag captures this requirement.
What carries over from core
| Feature | Where it comes from |
|---|---|
| 4(a)(7) exemption check | @dmtr/core/rights-engine/checks/section-4a7.ts |
| Verdict shape | @dmtr/core/schemas/transfer.ts |
| Consent chain (landlord, grid operator) | @dmtr/core/schemas/consent.ts |
| Audit trail | @dmtr/core/audit/hash-chain.ts |
| KYC/AML/OFAC on the new tenant | Existing core checks + checkOfacTenant energy check |
The energy vertical composes these core primitives directly without reimplementation.
Related guides
- Run an RFP as a tenant — primary tenant flow
- Sign a tolling contract
- DOIV transfer structure (legal memo)
Compose a multi-owner pool
End-to-end guide for energy aggregation: DemandSpec -> AllocationPlan -> CapacityPool -> tranches -> waterfall.
Regulatory corpus
Per-jurisdiction reference data — authorities, statutes, tax-stability regimes, indigenous-consultation regimes, resource-adequacy programs, and open interpretive questions — pinned by version so Verdicts remain reproducible at any point in time.