10 · Legal
Contracts as code.
A single template DSL. Jurisdiction packs plug in per country. Documents are assembled from typed inputs — never free-typed — so Zettlein can produce them safely.
Model
From transaction context to signed PDF.
inputs engine artifacts
┌──────────────────────┐ ┌────────────────────────────┐ ┌─────────────────┐
│ country │ │ 1. select jurisdiction pack │ │ contract.pdf │
│ property type │ │ 2. select template (kind) │ │ + hash │
│ ownership type │──▶ │ 3. validate typed inputs │──▶ │ + DSL snapshot │
│ transaction type │ │ 4. render DSL → clauses │ │ + signatures │
│ parties + terms │ │ 5. compile PDF (KH/EN/ZH) │ │ + e-sign proof │
└──────────────────────┘ │ 6. attach disclosures │ └─────────────────┘
└────────────────────────────┘Docs
What the engine produces.
Reservation agreement
Pre-DD
Locks price and property, sets deposit, exclusivity and DD window.
Sale & purchase agreement
Core contract
Terms, contingencies, closing conditions, warranties — jurisdiction-specific clauses inserted automatically.
Deposit / escrow agreement
Money-safe
Names the escrow partner, release conditions, dispute path, refund rules.
Due-diligence checklist
Category-aware
Title check, encumbrance, tax, utilities, HOA (for strata), zoning (for land, dev).
Disclosure documents
Regulated
Seller disclosures, developer disclosures, foreign-ownership notes.
Closing documentation
Bundle
Handover, keys, meter readings, tax receipts, escrow release memos — assembled and archived.
Jurisdiction packs
Cambodia first, expandable.
Cambodia
Launch pack
Hard title / soft title / strata title distinctions, foreigner ownership limits (condo above ground floor), stamp duty, transfer tax, common Khmer + English bilingual clauses.
Global expansion
Same DSL
Adding a country = writing a new pack (templates + rules + disclosures + tax) — no engine changes. Legal partners can author packs in review UI.