object — Additional properties rejected
| Field | Required at this level | Type | Description and constraints |
|---|---|---|---|
schemaVersion |
Yes | Constant persisted-treasury-custody-evidence-v1 |
— |
organizationId |
Yes | string |
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$ |
evidenceId |
Yes | string |
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$ |
resourceVersion |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
recordedAt |
Yes | string |
Format: date-time; Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
recordedBy |
Yes | string |
Format: uuid; Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$ |
verification |
Yes | object |
Additional properties rejected |
verification.schemaVersion |
Yes | Constant verified-treasury-custody-evidence-v1 |
— |
verification.evidence |
Yes | object |
Additional properties rejected |
verification.evidence.payload |
Yes | object |
Additional properties rejected |
verification.evidence.payload.schemaVersion |
Yes | Constant treasury-custody-evidence-v1 |
— |
verification.evidence.payload.organizationId |
Yes | string |
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$ |
verification.evidence.payload.projectId |
Yes | string |
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$ |
verification.evidence.payload.evidenceId |
Yes | string |
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$ |
verification.evidence.payload.relationship |
Yes | object |
Additional properties rejected |
verification.evidence.payload.relationship.id |
Yes | string |
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$ |
verification.evidence.payload.relationship.resourceVersion |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
verification.evidence.payload.relationship.evidenceHash |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
verification.evidence.payload.provider |
Yes | object |
Additional properties rejected |
verification.evidence.payload.provider.id |
Yes | string |
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$ |
verification.evidence.payload.provider.resourceVersion |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
verification.evidence.payload.provider.attestationHash |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
verification.evidence.payload.observation |
Yes | object |
Additional properties rejected |
verification.evidence.payload.observation.chainId |
Yes | integer |
Maximum: 9007199254740991; Exclusive minimum: 0 |
verification.evidence.payload.observation.genesisHash |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
verification.evidence.payload.observation.token |
Yes | string |
Pattern: ^0x[0-9a-f]{40}$ |
verification.evidence.payload.observation.decimals |
Yes | integer |
Minimum: 0; Maximum: 36 |
verification.evidence.payload.observation.custodyAccount |
Yes | string |
Pattern: ^0x[0-9a-f]{40}$ |
verification.evidence.payload.observation.amountAtomic |
Yes | string |
Pattern: ^(0|[1-9][0-9]{0,77})$ |
verification.evidence.payload.observation.blockNumber |
Yes | string |
Pattern: ^(0|[1-9][0-9]{0,77})$ |
verification.evidence.payload.observation.blockHash |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
verification.evidence.payload.observation.blockTimestamp |
Yes | string |
Format: date-time; Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
verification.evidence.payload.observation.finality |
Yes | Constant FINALIZED |
— |
verification.evidence.payload.observedAt |
Yes | string |
Format: date-time; Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
verification.evidence.payload.sourceCutoff |
Yes | string |
Format: date-time; Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
verification.evidence.payload.expiresAt |
Yes | string |
Format: date-time; Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
verification.evidence.payloadHash |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
verification.evidence.signature |
Yes | string |
Pattern: ^[A-Za-z0-9+/]{86}==$ |
verification.observation |
Yes | object |
Additional properties rejected |
verification.observation.chainId |
Yes | integer |
Maximum: 9007199254740991; Exclusive minimum: 0 |
verification.observation.genesisHash |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
verification.observation.token |
Yes | string |
Pattern: ^0x[0-9a-f]{40}$ |
verification.observation.decimals |
Yes | integer |
Minimum: 0; Maximum: 36 |
verification.observation.custodyAccount |
Yes | string |
Pattern: ^0x[0-9a-f]{40}$ |
verification.observation.amountAtomic |
Yes | string |
Pattern: ^(0|[1-9][0-9]{0,77})$ |
verification.observation.blockNumber |
Yes | string |
Pattern: ^(0|[1-9][0-9]{0,77})$ |
verification.observation.blockHash |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
verification.observation.blockTimestamp |
Yes | string |
Format: date-time; Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
verification.observation.finality |
Yes | Constant FINALIZED |
— |
verification.checkedAt |
Yes | string |
Format: date-time; Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$ |
verification.authority |
Yes | object |
Additional properties rejected |
verification.authority.relationship |
Yes | object |
Additional properties rejected |
verification.authority.relationship.id |
Yes | string |
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$ |
verification.authority.relationship.resourceVersion |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
verification.authority.relationship.evidenceHash |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
verification.authority.provider |
Yes | object |
Additional properties rejected |
verification.authority.provider.id |
Yes | string |
Pattern: ^[a-zA-Z0-9][a-zA-Z0-9:_-]{2,159}$ |
verification.authority.provider.resourceVersion |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
verification.authority.provider.attestationHash |
Yes | string |
Pattern: ^0x[0-9a-f]{64}$ |
verification.quorum |
Yes | object |
Additional properties rejected |
verification.quorum.kind |
Yes | Constant CONFIGURED_OPERATOR_MAJORITY |
— |
verification.quorum.members |
Yes | At least one of: Constant 3; Constant 5; Constant 7 |
— |
verification.quorum.required |
Yes | integer |
Minimum: 2; Maximum: 4 |
verification.replayProtection |
Yes | Constant REQUIRES_PERSISTED_EVIDENCE_ID_UNIQUENESS |
— |
verification.spendability |
Yes | Constant NOT_ESTABLISHED |
— |
verification.financialAuthority |
Yes | Constant false |
— |
replayProtection |
Yes | Constant TENANT_EVIDENCE_ID_EXACT_CONTENT |
— |
spendability |
Yes | Constant NOT_ESTABLISHED |
— |
financialAuthority |
Yes | Constant false |
— |
Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.
Exact definition: #/components/schemas/PersistedTreasuryEvidence in the OpenAPI contract.