Settlements can also be viewed and monitored in the KeyStone Dashboard. Use the SDK for programmatic creation and automation.
create
Direct settlement creation when both parties are known.Direct creation vs. bilateral instructions: Use
settlements.create() when your platform knows both parties upfront (single-platform use case). For cross-platform settlements - or when counterparties submit independently - use instructions.submit(). The bilateral instruction flow is the recommended approach for most integrations.get
Settlement fields
| Field | Type | Description |
|---|---|---|
id | UUID | Settlement UUID |
state | str | Current lifecycle state |
template_id | UUID | Template UUID |
template_version | int | Template version at creation |
external_reference | str | None | Your trade reference |
parties | list[SettlementParty] | Parties with roles and status |
legs | list[SettlementLeg] | Legs with amounts and status |
timeout_at | datetime | Settlement timeout |
created_at | datetime | Creation timestamp |
parent_settlement_id | UUID | None | For repo closing legs |
settlement_category | str | None | "repo_open", "repo_close", or None |
maturity_at | datetime | None | Repo maturity date |
repo_metadata | dict | None | Repo rate, repayment amount |