Escrow Policy v1¶
Source schema: doc/schemas/escrow-policy.v1.schema.json
Machine-readable schema for one trusted escrow policy binding a supervisory settlement node to an accountable organization in the host-ledger rail.
Governing Basis¶
doc/project/40-proposals/016-supervised-prepaid-gateway-and-escrow-mvp.mddoc/project/40-proposals/017-organization-subjects-and-org-did-key.mddoc/project/50-requirements/requirements-007.mddoc/project/50-requirements/requirements-008.md
Project Lineage¶
Requirements¶
doc/project/50-requirements/requirements-006.mddoc/project/50-requirements/requirements-007.mddoc/project/50-requirements/requirements-008.md
Stories¶
Fields¶
| Field | Required | Shape | Description |
|---|---|---|---|
schema/v |
yes |
const: 1 |
Schema version. |
policy/id |
yes |
string | Stable identifier of the escrow policy. |
created-at |
yes |
string | Timestamp when the escrow policy became auditable. |
federation/id |
yes |
string | Federation scope in which the escrow policy applies. |
escrow/node-id |
yes |
string | Node currently serving the escrow supervisor role under this policy. |
operator/org-ref |
yes |
string | Accountable organization operating the escrow policy. |
settlement/unit |
yes |
const: ORC |
Internal settlement unit governed by this escrow policy in MVP. |
confirmation/modes |
yes |
array | Confirmation modes admitted by the escrow policy. |
dispute/default-window-sec |
yes |
integer | Default dispute window applied when a contract does not override it. |
auto-release/default-sec |
yes |
integer | Default auto-release delay applied after the relevant acceptance stage when a contract does not override it. |
partial-release/allowed |
yes |
boolean | Whether partial release is permitted under this escrow policy. |
arbiter/required-above-risk |
no |
enum: none, medium, high, critical |
Minimum risk tier above which arbiter confirmation becomes mandatory under local policy. |
status |
yes |
enum: active, suspended, retired |
Administrative lifecycle state of the escrow policy. |
suspended-at |
no |
string | Timestamp when the escrow policy was suspended, if applicable. |
retired-at |
no |
string | Timestamp when the escrow policy was retired, if applicable. |
notes |
no |
string | Optional human-readable notes. |
policy_annotations |
no |
object |
Conditional Rules¶
Rule 1¶
When:
{
"properties": {
"status": {
"const": "suspended"
}
},
"required": [
"status"
]
}
Then:
{
"required": [
"suspended-at"
]
}
Rule 2¶
When:
{
"properties": {
"status": {
"const": "retired"
}
},
"required": [
"status"
]
}
Then:
{
"required": [
"retired-at"
]
}
Field Semantics¶
schema/v¶
- Required:
yes - Shape: const:
1
Schema version.
policy/id¶
- Required:
yes - Shape: string
Stable identifier of the escrow policy.
created-at¶
- Required:
yes - Shape: string
Timestamp when the escrow policy became auditable.
federation/id¶
- Required:
yes - Shape: string
Federation scope in which the escrow policy applies.
escrow/node-id¶
- Required:
yes - Shape: string
Node currently serving the escrow supervisor role under this policy.
operator/org-ref¶
- Required:
yes - Shape: string
Accountable organization operating the escrow policy.
settlement/unit¶
- Required:
yes - Shape: const:
ORC
Internal settlement unit governed by this escrow policy in MVP.
confirmation/modes¶
- Required:
yes - Shape: array
Confirmation modes admitted by the escrow policy.
dispute/default-window-sec¶
- Required:
yes - Shape: integer
Default dispute window applied when a contract does not override it.
auto-release/default-sec¶
- Required:
yes - Shape: integer
Default auto-release delay applied after the relevant acceptance stage when a contract does not override it.
partial-release/allowed¶
- Required:
yes - Shape: boolean
Whether partial release is permitted under this escrow policy.
arbiter/required-above-risk¶
- Required:
no - Shape: enum:
none,medium,high,critical
Minimum risk tier above which arbiter confirmation becomes mandatory under local policy.
status¶
- Required:
yes - Shape: enum:
active,suspended,retired
Administrative lifecycle state of the escrow policy.
suspended-at¶
- Required:
no - Shape: string
Timestamp when the escrow policy was suspended, if applicable.
retired-at¶
- Required:
no - Shape: string
Timestamp when the escrow policy was retired, if applicable.
notes¶
- Required:
no - Shape: string
Optional human-readable notes.
policy_annotations¶
- Required:
no - Shape: object