Skip to main content
A template is an approved contract in TemplateOnly parts mode. It defines the machine schema, human text, roles, parameter definitions, and policy that instances inherit.

Propose a template

  1. Define a versioned machine-readable root namespace.
  2. Provide the schema needed to validate it.
  3. Define roles and signature cardinality.
  4. Define parameters, validation, and protection.
  5. Write and render each human language.
  6. Set validity, archive, and visibility rules.
  7. Submit the template to the Trust Provider.
  8. Resolve review feedback and resubmit if it is Rejected.
Only an Approved template should be used to create instances.

Create an instance

Provide:
  • approved template ID;
  • part assignments when explicitly defined;
  • all required parameter values;
  • intended visibility;
  • optional validity interval/duration allowed by the template.
Then fetch the returned contract and verify its state and resolved values before presenting it for signature.

Versioning

Do not mutate an approved template in a way that changes existing agreement meaning. Propose a new template version when you change:
  • machine namespace/schema;
  • role names or counts;
  • parameter type or meaning;
  • protection level;
  • human legal terms;
  • signing, duration, or archival policy.
Existing instances retain their original template ID and content.

Tooling

LegalLab can load XML templates, edit roles and parameters, render content, propose templates, and create instances. Treat it as an authoring client; the Neuron/Trust Provider remains authoritative for approval and state. For an HTTP workflow, use Create contract and Propose contract template. Begin with a complete example rather than assembling the enclosing XML from these conceptual pages. See the contract quickstart.