Skip to main content
Templates define the settlement state machine, required roles, and compliance configuration. They are read-only.

list

result = await client.templates.list()

for template in result.items:
    print(f"{template.slug}: {template.name}")
    print(f"  Roles: {template.config.required_roles}")
    print(f"  Compliance: entity={template.config.compliance.entity_providers}")

get

template = await client.templates.get("template-uuid")

print(template.config.initial_state)    # "INSTRUCTED"
print(template.config.terminal_states)  # ["FINALIZED", "ROLLED_BACK", "TIMED_OUT"]
print(template.config.transitions)      # {"INSTRUCTED": {"allowed_next": [...]}, ...}

SettlementTemplate fields

FieldTypeDescription
idUUIDTemplate UUID
slugstrURL-friendly identifier
namestrHuman-readable name
descriptionstr | NoneTemplate description
configTemplateConfigState machine definition
versionintCurrent version
is_activeboolWhether available for new settlements

TemplateConfig

FieldTypeDescription
stateslist[str]All possible states
initial_statestrStarting state
terminal_stateslist[str]End states
failure_stateslist[str]Failure end states
transitionsdict{ state: { "allowed_next": [...] } }
required_roleslist[str]Required party roles
complianceComplianceConfigProvider configuration
actionsdictAction handlers per state