object — Additional properties rejected
| Field | Required at this level | Type | Description and constraints |
|---|---|---|---|
attributionVersion |
Yes | Constant execution-attribution-v1 |
— |
proposalId |
Yes | string |
— |
transactionHash |
Yes | Hash | — |
finalizedAt |
Yes | string |
Format: date-time |
observationHorizonsComplete |
Yes | boolean |
— |
sourceSimulationStudyId |
Yes | string |
— |
frozenForecastArtifactHash |
Yes | Hash | — |
finalityEvidenceHash |
Yes | Hash | — |
reconciliationEvidenceHash |
Yes | Hash | — |
observationHorizons |
Yes | Array of object |
— |
observationHorizons[].kind |
Yes | string |
Allowed: IMMEDIATE, ADVERSE_SELECTION, RECOVERY |
observationHorizons[].endedAt |
Yes | string |
Format: date-time |
observationHorizons[].evidenceHash |
Yes | Hash | — |
metrics |
Yes | Array of object |
— |
metrics[].metric |
Yes | string |
Allowed: SLIPPAGE, FEES, GAS, INVENTORY, CAPITAL_EFFICIENCY, PRICE_MOVEMENT |
metrics[].predicted |
Yes | SignedAtomicAmount | — |
metrics[].realized |
Yes | SignedAtomicAmount | — |
metrics[].residual |
Yes | SignedAtomicAmount | — |
metrics[].unit |
Yes | string |
Allowed: QUOTE_ATOMIC, TOKEN_ATOMIC, PIPS |
adverseSelectionQuote |
Yes | SignedAtomicAmount | — |
noActionCounterfactualQuote |
Yes | SignedAtomicAmount | — |
realizedOutcomeQuote |
Yes | SignedAtomicAmount | — |
calibrationResidualHash |
Yes | Hash | — |
evidenceHashes |
Yes | Array of Hash | — |
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/ExecutionAttribution in the OpenAPI contract.