# ResearchReport

[All API schemas](/api-reference/schemas/)

<code>object</code> — Additional properties rejected

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>schemaVersion</code> | Yes | Constant <code>agent-research-report-v1</code> | — |
| <code>organizationId</code> | Yes | <code>string</code> | Pattern: <code>^&#91;a-zA-Z0-9&#93;&#91;a-zA-Z0-9:&#95;-&#93;{2,159}$</code> |
| <code>runId</code> | Yes | <code>string</code> | Pattern: <code>^&#91;a-zA-Z0-9&#93;&#91;a-zA-Z0-9:&#95;-&#93;{2,159}$</code> |
| <code>protocolHash</code> | Yes | <code>string</code> | Pattern: <code>^0x&#91;0-9a-f&#93;{64}$</code> |
| <code>sourceCutoff</code> | Yes | <code>string</code> | Format: <code>date-time</code>; Pattern: <code>^&#40;?:&#40;?:&#92;d&#92;d&#91;2468&#93;&#91;048&#93;&#124;&#92;d&#92;d&#91;13579&#93;&#91;26&#93;&#124;&#92;d&#92;d0&#91;48&#93;&#124;&#91;02468&#93;&#91;048&#93;00&#124;&#91;13579&#93;&#91;26&#93;00&#41;-02-29&#124;&#92;d{4}-&#40;?:&#40;?:0&#91;13578&#93;&#124;1&#91;02&#93;&#41;-&#40;?:0&#91;1-9&#93;&#124;&#91;12&#93;&#92;d&#124;3&#91;01&#93;&#41;&#124;&#40;?:0&#91;469&#93;&#124;11&#41;-&#40;?:0&#91;1-9&#93;&#124;&#91;12&#93;&#92;d&#124;30&#41;&#124;&#40;?:02&#41;-&#40;?:0&#91;1-9&#93;&#124;1&#92;d&#124;2&#91;0-8&#93;&#41;&#41;&#41;T&#40;?:&#40;?:&#91;01&#93;&#92;d&#124;2&#91;0-3&#93;&#41;:&#91;0-5&#93;&#92;d&#40;?::&#91;0-5&#93;&#92;d&#40;?:&#92;.&#92;d+&#41;?&#41;?&#40;?:Z&#124;&#40;&#91;+-&#93;&#40;?:&#91;01&#93;&#92;d&#124;2&#91;0-3&#93;&#41;:&#91;0-5&#93;&#92;d&#41;&#41;&#41;$</code> |
| <code>status</code> | Yes | <code>string</code> | Allowed: <code>ABSTAINED</code>, <code>PARTIAL</code>, <code>COMPLETED</code> |
| <code>comparison</code> | Yes | <code>object</code> | Additional properties rejected |
| <code>comparison.schemaVersion</code> | Yes | Constant <code>research-comparison-v1</code> | — |
| <code>comparison.baselineTrialId</code> | Yes | <code>string</code> | Pattern: <code>^&#91;a-zA-Z0-9&#93;&#91;a-zA-Z0-9:&#95;-&#93;{0,159}$</code> |
| <code>comparison.objective</code> | Yes | <code>object</code> | Additional properties rejected |
| <code>comparison.objective.metric</code> | Yes | <code>string</code> | Allowed: <code>ENDING&#95;VALUE&#95;P50</code>, <code>MINIMUM&#95;DEPTH&#95;P5</code>, <code>GAS&#95;COST&#95;P50</code>, <code>DRAWDOWN&#95;P95</code>, <code>RESERVE&#95;BREACH&#95;PROBABILITY</code> |
| <code>comparison.objective.direction</code> | Yes | <code>string</code> | Allowed: <code>MAXIMIZE</code>, <code>MINIMIZE</code> |
| <code>comparison.context</code> | Yes | At least one of: <code>object</code>; <code>null</code> | — |
| <code>comparison.context.anyOf&#91;1&#93;.organizationId</code> | Yes | <code>string</code> | Pattern: <code>^&#91;a-zA-Z0-9&#93;&#91;a-zA-Z0-9:&#95;-&#93;{2,159}$</code> |
| <code>comparison.context.anyOf&#91;1&#93;.issuerIntentId</code> | Yes | <code>string</code> | Pattern: <code>^&#91;a-zA-Z0-9&#93;&#91;a-zA-Z0-9:&#95;-&#93;{2,159}$</code> |
| <code>comparison.context.anyOf&#91;1&#93;.issuerIntentResourceVersion</code> | Yes | <code>string</code> | Pattern: <code>^0x&#91;0-9a-f&#93;{64}$</code> |
| <code>comparison.context.anyOf&#91;1&#93;.issuerIntentArtifactHash</code> | Yes | <code>string</code> | Pattern: <code>^0x&#91;0-9a-f&#93;{64}$</code> |
| <code>comparison.context.anyOf&#91;1&#93;.sourceCutoff</code> | Yes | <code>string</code> | Format: <code>date-time</code>; Pattern: <code>^&#40;?:&#40;?:&#92;d&#92;d&#91;2468&#93;&#91;048&#93;&#124;&#92;d&#92;d&#91;13579&#93;&#91;26&#93;&#124;&#92;d&#92;d0&#91;48&#93;&#124;&#91;02468&#93;&#91;048&#93;00&#124;&#91;13579&#93;&#91;26&#93;00&#41;-02-29&#124;&#92;d{4}-&#40;?:&#40;?:0&#91;13578&#93;&#124;1&#91;02&#93;&#41;-&#40;?:0&#91;1-9&#93;&#124;&#91;12&#93;&#92;d&#124;3&#91;01&#93;&#41;&#124;&#40;?:0&#91;469&#93;&#124;11&#41;-&#40;?:0&#91;1-9&#93;&#124;&#91;12&#93;&#92;d&#124;30&#41;&#124;&#40;?:02&#41;-&#40;?:0&#91;1-9&#93;&#124;1&#92;d&#124;2&#91;0-8&#93;&#41;&#41;&#41;T&#40;?:&#40;?:&#91;01&#93;&#92;d&#124;2&#91;0-3&#93;&#41;:&#91;0-5&#93;&#92;d&#40;?::&#91;0-5&#93;&#92;d&#40;?:&#92;.&#92;d+&#41;?&#41;?&#40;?:Z&#124;&#40;&#91;+-&#93;&#40;?:&#91;01&#93;&#92;d&#124;2&#91;0-3&#93;&#41;:&#91;0-5&#93;&#92;d&#41;&#41;&#41;$</code> |
| <code>comparison.context.anyOf&#91;1&#93;.quoteSymbol</code> | Yes | <code>string</code> | Min length: <code>1</code>; Max length: <code>256</code> |
| <code>comparison.context.anyOf&#91;1&#93;.quoteAssetId</code> | Yes | At least one of: <code>string</code>; <code>null</code> | — |
| <code>comparison.context.anyOf&#91;1&#93;.quoteDecimals</code> | Yes | At least one of: <code>integer</code>; <code>null</code> | — |
| <code>comparison.context.anyOf&#91;1&#93;.seedPolicyVersion</code> | Yes | <code>string</code> | Min length: <code>1</code>; Max length: <code>256</code> |
| <code>comparison.context.anyOf&#91;1&#93;.horizonUnit</code> | Yes | <code>string</code> | Allowed: <code>MODELED&#95;STEPS</code>, <code>CALIBRATED&#95;STEPS</code> |
| <code>comparison.context.anyOf&#91;1&#93;.stepDurationSeconds</code> | Yes | At least one of: <code>integer</code>; <code>null</code> | — |
| <code>comparison.context.anyOf&#91;1&#93;.analysisBasis</code> | Yes | <code>string</code> | Allowed: <code>CURRENT&#95;DATA&#95;HYPOTHETICAL</code>, <code>HISTORICAL&#95;POINT&#95;IN&#95;TIME</code> |
| <code>comparison.context.anyOf&#91;1&#93;.historicalAvailabilityEvidenceHash</code> | Yes | At least one of: <code>string</code>; <code>null</code> | — |
| <code>comparison.status</code> | Yes | <code>string</code> | Allowed: <code>BASELINE&#95;UNAVAILABLE</code>, <code>COMPLETE</code>, <code>PARTIAL</code> |
| <code>comparison.eligibilityRule</code> | Yes | Constant <code>ADMITTED&#95;INTENT&#95;CONSTRAINTS&#95;AND&#95;RESERVE&#95;BREACH&#95;AT&#95;MOST&#95;100000&#95;PIPS</code> | — |
| <code>comparison.rankingScope</code> | Yes | Constant <code>WITHIN&#95;SCENARIO&#95;VARIANTS</code> | — |
| <code>comparison.limitations</code> | Yes | Array of <code>string</code> | Min items: <code>6</code>; Max items: <code>6</code> |
| <code>comparison.trials</code> | Yes | Array of <code>object</code> | Min items: <code>1</code>; Max items: <code>4</code> |
| <code>comparison.trials&#91;&#93;.trialId</code> | Yes | <code>string</code> | Pattern: <code>^&#91;a-zA-Z0-9&#93;&#91;a-zA-Z0-9:&#95;-&#93;{0,159}$</code> |
| <code>comparison.trials&#91;&#93;.label</code> | Yes | <code>string</code> | Min length: <code>1</code>; Max length: <code>160</code> |
| <code>comparison.trials&#91;&#93;.state</code> | Yes | <code>string</code> | Allowed: <code>QUEUED</code>, <code>RUNNING</code>, <code>COMPLETED</code>, <code>FAILED</code>, <code>CANCELLED</code> |
| <code>comparison.trials&#91;&#93;.failureCode</code> | Yes | At least one of: <code>string</code>; <code>null</code> | — |
| <code>comparison.trials&#91;&#93;.admittedInputHash</code> | Yes | At least one of: <code>string</code>; <code>null</code> | — |
| <code>comparison.trials&#91;&#93;.resultArtifactHash</code> | Yes | At least one of: <code>string</code>; <code>null</code> | — |
| <code>comparison.trials&#91;&#93;.context</code> | Yes | At least one of: <code>object</code>; <code>null</code> | — |
| <code>comparison.trials&#91;&#93;.context.anyOf&#91;1&#93;.organizationId</code> | Yes | <code>string</code> | Pattern: <code>^&#91;a-zA-Z0-9&#93;&#91;a-zA-Z0-9:&#95;-&#93;{2,159}$</code> |
| <code>comparison.trials&#91;&#93;.context.anyOf&#91;1&#93;.issuerIntentId</code> | Yes | <code>string</code> | Pattern: <code>^&#91;a-zA-Z0-9&#93;&#91;a-zA-Z0-9:&#95;-&#93;{2,159}$</code> |
| <code>comparison.trials&#91;&#93;.context.anyOf&#91;1&#93;.issuerIntentResourceVersion</code> | Yes | <code>string</code> | Pattern: <code>^0x&#91;0-9a-f&#93;{64}$</code> |
| <code>comparison.trials&#91;&#93;.context.anyOf&#91;1&#93;.issuerIntentArtifactHash</code> | Yes | <code>string</code> | Pattern: <code>^0x&#91;0-9a-f&#93;{64}$</code> |
| <code>comparison.trials&#91;&#93;.context.anyOf&#91;1&#93;.sourceCutoff</code> | Yes | <code>string</code> | Format: <code>date-time</code>; Pattern: <code>^&#40;?:&#40;?:&#92;d&#92;d&#91;2468&#93;&#91;048&#93;&#124;&#92;d&#92;d&#91;13579&#93;&#91;26&#93;&#124;&#92;d&#92;d0&#91;48&#93;&#124;&#91;02468&#93;&#91;048&#93;00&#124;&#91;13579&#93;&#91;26&#93;00&#41;-02-29&#124;&#92;d{4}-&#40;?:&#40;?:0&#91;13578&#93;&#124;1&#91;02&#93;&#41;-&#40;?:0&#91;1-9&#93;&#124;&#91;12&#93;&#92;d&#124;3&#91;01&#93;&#41;&#124;&#40;?:0&#91;469&#93;&#124;11&#41;-&#40;?:0&#91;1-9&#93;&#124;&#91;12&#93;&#92;d&#124;30&#41;&#124;&#40;?:02&#41;-&#40;?:0&#91;1-9&#93;&#124;1&#92;d&#124;2&#91;0-8&#93;&#41;&#41;&#41;T&#40;?:&#40;?:&#91;01&#93;&#92;d&#124;2&#91;0-3&#93;&#41;:&#91;0-5&#93;&#92;d&#40;?::&#91;0-5&#93;&#92;d&#40;?:&#92;.&#92;d+&#41;?&#41;?&#40;?:Z&#124;&#40;&#91;+-&#93;&#40;?:&#91;01&#93;&#92;d&#124;2&#91;0-3&#93;&#41;:&#91;0-5&#93;&#92;d&#41;&#41;&#41;$</code> |
| <code>comparison.trials&#91;&#93;.context.anyOf&#91;1&#93;.quoteSymbol</code> | Yes | <code>string</code> | Min length: <code>1</code>; Max length: <code>256</code> |
| <code>comparison.trials&#91;&#93;.context.anyOf&#91;1&#93;.quoteAssetId</code> | Yes | At least one of: <code>string</code>; <code>null</code> | — |
| <code>comparison.trials&#91;&#93;.context.anyOf&#91;1&#93;.quoteDecimals</code> | Yes | At least one of: <code>integer</code>; <code>null</code> | — |
| <code>comparison.trials&#91;&#93;.context.anyOf&#91;1&#93;.seedPolicyVersion</code> | Yes | <code>string</code> | Min length: <code>1</code>; Max length: <code>256</code> |
| <code>comparison.trials&#91;&#93;.context.anyOf&#91;1&#93;.horizonUnit</code> | Yes | <code>string</code> | Allowed: <code>MODELED&#95;STEPS</code>, <code>CALIBRATED&#95;STEPS</code> |
| <code>comparison.trials&#91;&#93;.context.anyOf&#91;1&#93;.stepDurationSeconds</code> | Yes | At least one of: <code>integer</code>; <code>null</code> | — |
| <code>comparison.trials&#91;&#93;.context.anyOf&#91;1&#93;.analysisBasis</code> | Yes | <code>string</code> | Allowed: <code>CURRENT&#95;DATA&#95;HYPOTHETICAL</code>, <code>HISTORICAL&#95;POINT&#95;IN&#95;TIME</code> |
| <code>comparison.trials&#91;&#93;.context.anyOf&#91;1&#93;.historicalAvailabilityEvidenceHash</code> | Yes | At least one of: <code>string</code>; <code>null</code> | — |
| <code>comparison.trials&#91;&#93;.admittedInput</code> | Yes | At least one of: <code>object</code>; <code>null</code> | — |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.schemaVersion</code> | Yes | Constant <code>simulation-study-input-snapshot-v1</code> | — |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.engineVersion</code> | Yes | Constant <code>digital-twin-pcg64-fixed-v2</code> | — |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.seed</code> | Yes | <code>string</code> | Min length: <code>1</code>; Max length: <code>256</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.pathCount</code> | Yes | At least one of: Constant <code>2000</code>; Constant <code>10000</code> | — |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.stepCount</code> | Yes | <code>integer</code> | Minimum: <code>1</code>; Maximum: <code>365</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.targetTradeSizeQuote</code> | Yes | <code>string</code> | Pattern: <code>^&#91;1-9&#93;&#91;0-9&#93;&#42;$</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.startingPortfolioQuote</code> | Yes | <code>string</code> | Pattern: <code>^&#91;1-9&#93;&#91;0-9&#93;&#42;$</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.startingDepthQuote</code> | Yes | <code>string</code> | Pattern: <code>^&#91;1-9&#93;&#91;0-9&#93;&#42;$</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.startingInventoryPips</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario</code> | Yes | <code>object</code> | Additional properties rejected |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario.id</code> | Yes | <code>string</code> | Pattern: <code>^&#91;a-zA-Z0-9&#93;&#91;a-zA-Z0-9:&#95;-&#93;{2,159}$</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario.name</code> | Yes | <code>string</code> | Min length: <code>3</code>; Max length: <code>160</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario.kind</code> | Yes | <code>string</code> | Allowed: <code>HISTORICAL&#95;REPLAY</code>, <code>BULL</code>, <code>BEAR</code>, <code>SIDEWAYS</code>, <code>LIQUIDITY&#95;CRISIS</code>, <code>TOKEN&#95;UNLOCK</code>, <code>LARGE&#95;BUYER</code>, <code>LARGE&#95;SELLER</code>, <code>LIQUIDITY&#95;WITHDRAWAL</code>, <code>GAS&#95;SPIKE</code>, <code>ORACLE&#95;OUTAGE</code>, <code>COMBINED</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario.driftPipsPerStep</code> | Yes | <code>integer</code> | Minimum: <code>-1000000</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario.volatilityPipsPerStep</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario.liquidityWithdrawalPips</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario.oneSidedFlowPips</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario.gasIncreasePips</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario.oracleOutageStep</code> | No | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>364</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario.historicalReturnPips</code> | No | Array of <code>integer</code> | Min items: <code>1</code>; Max items: <code>365</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario.protocolFeePips</code> | No | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario.platformFeePips</code> | No | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario.unlocks</code> | Yes | Array of <code>object</code> | Max items: <code>256</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario.unlocks&#91;&#93;.id</code> | Yes | <code>string</code> | Pattern: <code>^&#91;a-zA-Z0-9&#93;&#91;a-zA-Z0-9:&#95;-&#93;{2,152}$</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario.unlocks&#91;&#93;.unlocksAt</code> | Yes | <code>string</code> | Format: <code>date-time</code>; Pattern: <code>^&#40;?:&#40;?:&#92;d&#92;d&#91;2468&#93;&#91;048&#93;&#124;&#92;d&#92;d&#91;13579&#93;&#91;26&#93;&#124;&#92;d&#92;d0&#91;48&#93;&#124;&#91;02468&#93;&#91;048&#93;00&#124;&#91;13579&#93;&#91;26&#93;00&#41;-02-29&#124;&#92;d{4}-&#40;?:&#40;?:0&#91;13578&#93;&#124;1&#91;02&#93;&#41;-&#40;?:0&#91;1-9&#93;&#124;&#91;12&#93;&#92;d&#124;3&#91;01&#93;&#41;&#124;&#40;?:0&#91;469&#93;&#124;11&#41;-&#40;?:0&#91;1-9&#93;&#124;&#91;12&#93;&#92;d&#124;30&#41;&#124;&#40;?:02&#41;-&#40;?:0&#91;1-9&#93;&#124;1&#92;d&#124;2&#91;0-8&#93;&#41;&#41;&#41;T&#40;?:&#40;?:&#91;01&#93;&#92;d&#124;2&#91;0-3&#93;&#41;:&#91;0-5&#93;&#92;d&#40;?::&#91;0-5&#93;&#92;d&#40;?:&#92;.&#92;d+&#41;?&#41;?&#40;?:Z&#124;&#40;&#91;+-&#93;&#40;?:&#91;01&#93;&#92;d&#124;2&#91;0-3&#93;&#41;:&#91;0-5&#93;&#92;d&#41;&#41;&#41;$</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario.unlocks&#91;&#93;.tokenAmount</code> | Yes | <code>string</code> | Pattern: <code>^&#91;1-9&#93;&#91;0-9&#93;&#42;$</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario.unlocks&#91;&#93;.recipientCategory</code> | Yes | <code>string</code> | Allowed: <code>TEAM</code>, <code>INVESTOR</code>, <code>COMMUNITY</code>, <code>TREASURY</code>, <code>ECOSYSTEM</code>, <code>OTHER</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario.unlocks&#91;&#93;.expectedSaleParticipationPips</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario.unlocks&#91;&#93;.confidencePips</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario.unlocks&#91;&#93;.correlationGroup</code> | No | <code>string</code> | Min length: <code>1</code>; Max length: <code>120</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.scenario.unlocks&#91;&#93;.evidenceHash</code> | No | <code>string</code> | Pattern: <code>^0x&#91;0-9a-fA-F&#93;{64}$</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.variants</code> | Yes | Array of <code>object</code> | Min items: <code>5</code>; Max items: <code>5</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.variants&#91;&#93;.kind</code> | Yes | <code>string</code> | Allowed: <code>CURRENT</code>, <code>RECOMMENDED</code>, <code>CONSERVATIVE</code>, <code>CAPITAL&#95;EFFICIENT</code>, <code>EMERGENCY</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.variants&#91;&#93;.requiredCapitalQuote</code> | Yes | <code>string</code> | Pattern: <code>^&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;&#42;&#41;$</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.variants&#91;&#93;.deployableCapitalQuote</code> | Yes | <code>string</code> | Pattern: <code>^&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;&#42;&#41;$</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.variants&#91;&#93;.stableReserveQuote</code> | Yes | <code>string</code> | Pattern: <code>^&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;&#42;&#41;$</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.variants&#91;&#93;.emergencyReserveQuote</code> | Yes | <code>string</code> | Pattern: <code>^&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;&#42;&#41;$</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.variants&#91;&#93;.rangeWidthPips</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.variants&#91;&#93;.expectedSlippagePips</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.variants&#91;&#93;.expectedFeeIncomeLowQuote</code> | Yes | <code>string</code> | Pattern: <code>^&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;&#42;&#41;$</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.variants&#91;&#93;.expectedFeeIncomeHighQuote</code> | Yes | <code>string</code> | Pattern: <code>^&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;&#42;&#41;$</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.variants&#91;&#93;.inventoryExposurePips</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.variants&#91;&#93;.maximumDailyTurnoverPips</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.variants&#91;&#93;.satisfiesIntent</code> | Yes | <code>boolean</code> | — |
| <code>comparison.trials&#91;&#93;.admittedInput.anyOf&#91;1&#93;.variants&#91;&#93;.reasons</code> | Yes | Array of <code>string</code> | Max items: <code>64</code> |
| <code>comparison.trials&#91;&#93;.status</code> | Yes | <code>string</code> | Allowed: <code>PENDING</code>, <code>FAILED</code>, <code>CANCELLED</code>, <code>INVALID</code>, <code>INCOMPATIBLE</code>, <code>BASELINE&#95;UNAVAILABLE</code>, <code>COMPARABLE</code> |
| <code>comparison.trials&#91;&#93;.reasons</code> | Yes | Array of <code>string</code> | Max items: <code>16</code> |
| <code>comparison.trials&#91;&#93;.warnings</code> | Yes | Array of <code>string</code> | Max items: <code>64</code> |
| <code>comparison.trials&#91;&#93;.variants</code> | Yes | Array of <code>object</code> | Max items: <code>5</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.variant</code> | Yes | <code>string</code> | Allowed: <code>CURRENT</code>, <code>RECOMMENDED</code>, <code>CONSERVATIVE</code>, <code>CAPITAL&#95;EFFICIENT</code>, <code>EMERGENCY</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.capitalPlan</code> | Yes | <code>object</code> | Additional properties rejected |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.capitalPlan.kind</code> | Yes | <code>string</code> | Allowed: <code>CURRENT</code>, <code>RECOMMENDED</code>, <code>CONSERVATIVE</code>, <code>CAPITAL&#95;EFFICIENT</code>, <code>EMERGENCY</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.capitalPlan.requiredCapitalQuote</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.capitalPlan.deployableCapitalQuote</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.capitalPlan.stableReserveQuote</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.capitalPlan.emergencyReserveQuote</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.capitalPlan.rangeWidthPips</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.capitalPlan.expectedSlippagePips</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.capitalPlan.expectedFeeIncomeLowQuote</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.capitalPlan.expectedFeeIncomeHighQuote</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.capitalPlan.inventoryExposurePips</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.capitalPlan.maximumDailyTurnoverPips</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.capitalPlan.satisfiesIntent</code> | Yes | <code>boolean</code> | — |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.capitalPlan.reasons</code> | Yes | Array of <code>string</code> | Max items: <code>64</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes</code> | Yes | <code>object</code> | Additional properties rejected |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.variant</code> | Yes | <code>string</code> | Allowed: <code>CURRENT</code>, <code>RECOMMENDED</code>, <code>CONSERVATIVE</code>, <code>CAPITAL&#95;EFFICIENT</code>, <code>EMERGENCY</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.endingValueQuote</code> | Yes | <code>object</code> | Additional properties rejected |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.endingValueQuote.p5</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.endingValueQuote.p25</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.endingValueQuote.p50</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.endingValueQuote.p75</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.endingValueQuote.p95</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.turnoverQuote</code> | Yes | <code>object</code> | Additional properties rejected |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.turnoverQuote.p5</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.turnoverQuote.p25</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.turnoverQuote.p50</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.turnoverQuote.p75</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.turnoverQuote.p95</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.gasCostQuote</code> | Yes | <code>object</code> | Additional properties rejected |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.gasCostQuote.p5</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.gasCostQuote.p25</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.gasCostQuote.p50</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.gasCostQuote.p75</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.gasCostQuote.p95</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.feeIncomeQuote</code> | Yes | <code>object</code> | Additional properties rejected |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.feeIncomeQuote.p5</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.feeIncomeQuote.p25</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.feeIncomeQuote.p50</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.feeIncomeQuote.p75</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.feeIncomeQuote.p95</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.protocolFeesQuote</code> | Yes | <code>object</code> | Additional properties rejected |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.protocolFeesQuote.p5</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.protocolFeesQuote.p25</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.protocolFeesQuote.p50</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.protocolFeesQuote.p75</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.protocolFeesQuote.p95</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.platformFeesQuote</code> | Yes | <code>object</code> | Additional properties rejected |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.platformFeesQuote.p5</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.platformFeesQuote.p25</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.platformFeesQuote.p50</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.platformFeesQuote.p75</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.platformFeesQuote.p95</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.minimumDepthQuote</code> | Yes | <code>object</code> | Additional properties rejected |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.minimumDepthQuote.p5</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.minimumDepthQuote.p25</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.minimumDepthQuote.p50</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.minimumDepthQuote.p75</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.minimumDepthQuote.p95</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.slippagePips</code> | Yes | <code>object</code> | Additional properties rejected |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.slippagePips.p5</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.slippagePips.p25</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.slippagePips.p50</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.slippagePips.p75</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.slippagePips.p95</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.drawdownPips</code> | Yes | <code>object</code> | Additional properties rejected |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.drawdownPips.p5</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.drawdownPips.p25</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.drawdownPips.p50</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.drawdownPips.p75</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.drawdownPips.p95</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.inventoryPips</code> | Yes | <code>object</code> | Additional properties rejected |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.inventoryPips.p5</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.inventoryPips.p25</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.inventoryPips.p50</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.inventoryPips.p75</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.inventoryPips.p95</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.reserveBreachProbabilityPips</code> | Yes | <code>integer</code> | Minimum: <code>0</code>; Maximum: <code>1000000</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.drivers</code> | Yes | Array of <code>object</code> | Max items: <code>7</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.drivers&#91;&#93;.driver</code> | Yes | <code>string</code> | Allowed: <code>PRICE&#95;PATH</code>, <code>VOLATILITY</code>, <code>FLOW</code>, <code>LIQUIDITY</code>, <code>UNLOCK</code>, <code>GAS</code>, <code>RESERVE</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.drivers&#91;&#93;.impactQuote</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.drivers&#91;&#93;.evidence</code> | Yes | <code>string</code> | Max length: <code>1200</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.outcomes.drivers&#91;&#93;.method</code> | Yes | Constant <code>DETERMINISTIC&#95;COUNTERFACTUAL&#95;DELTA&#95;V1</code> | — |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.eligible</code> | Yes | <code>boolean</code> | — |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.ineligibilityReasons</code> | Yes | Array of <code>string</code> | Max items: <code>4</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.differences</code> | Yes | Array of <code>object</code> | Max items: <code>51</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.differences&#91;&#93;.metric</code> | Yes | <code>string</code> | Allowed: <code>endingValueQuote</code>, <code>turnoverQuote</code>, <code>gasCostQuote</code>, <code>feeIncomeQuote</code>, <code>protocolFeesQuote</code>, <code>platformFeesQuote</code>, <code>minimumDepthQuote</code>, <code>slippagePips</code>, <code>drawdownPips</code>, <code>inventoryPips</code>, <code>reserveBreachProbabilityPips</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.differences&#91;&#93;.percentile</code> | Yes | At least one of: <code>string</code>; <code>null</code> | — |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.differences&#91;&#93;.unit</code> | Yes | <code>string</code> | Allowed: <code>VERIFIED&#95;QUOTE&#95;ASSET&#95;ATOMIC</code>, <code>ISSUER&#95;INTENT&#95;QUOTE&#95;ATOMIC</code>, <code>PIPS&#95;POINT&#95;DIFFERENCE</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.differences&#91;&#93;.baseline</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.differences&#91;&#93;.scenario</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.differences&#91;&#93;.delta</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,78}&#41;$</code> |
| <code>comparison.trials&#91;&#93;.variants&#91;&#93;.differences&#91;&#93;.interpretation</code> | Yes | <code>string</code> | Allowed: <code>DIFFERENCE&#95;OF&#95;MARGINAL&#95;PERCENTILES</code>, <code>DIFFERENCE&#95;OF&#95;PROBABILITIES</code> |
| <code>comparison.trials&#91;&#93;.ranking</code> | Yes | <code>object</code> | Additional properties rejected |
| <code>comparison.trials&#91;&#93;.ranking.status</code> | Yes | <code>string</code> | Allowed: <code>BLOCKED</code>, <code>NO&#95;ELIGIBLE&#95;RECOMMENDATION</code>, <code>RANKED</code> |
| <code>comparison.trials&#91;&#93;.ranking.reason</code> | Yes | At least one of: <code>string</code>; <code>null</code> | — |
| <code>comparison.trials&#91;&#93;.ranking.entries</code> | Yes | Array of <code>object</code> | Max items: <code>5</code> |
| <code>comparison.trials&#91;&#93;.ranking.entries&#91;&#93;.variant</code> | Yes | <code>string</code> | Allowed: <code>CURRENT</code>, <code>RECOMMENDED</code>, <code>CONSERVATIVE</code>, <code>CAPITAL&#95;EFFICIENT</code>, <code>EMERGENCY</code> |
| <code>comparison.trials&#91;&#93;.ranking.entries&#91;&#93;.rank</code> | Yes | <code>integer</code> | Minimum: <code>1</code>; Maximum: <code>5</code> |
| <code>comparison.trials&#91;&#93;.ranking.entries&#91;&#93;.objectiveValue</code> | Yes | <code>string</code> | Pattern: <code>^-?&#40;0&#124;&#91;1-9&#93;&#91;0-9&#93;{0,77}&#41;$</code> |
| <code>findings</code> | Yes | Array of <code>object</code> | Max items: <code>32</code> |
| <code>findings&#91;&#93;.id</code> | Yes | <code>string</code> | Pattern: <code>^finding-&#91;a-z0-9-&#93;+$</code>; Max length: <code>120</code> |
| <code>findings&#91;&#93;.kind</code> | Yes | <code>string</code> | Allowed: <code>SCOPE</code>, <code>ANALYSIS&#95;BASIS</code>, <code>DISPOSITION</code>, <code>TRIAL</code>, <code>ELIGIBILITY</code>, <code>ADVERSE&#95;OUTCOME</code>, <code>LIMITATION</code>, <code>METRIC&#95;EXPLANATION</code> |
| <code>findings&#91;&#93;.mandatory</code> | Yes | <code>boolean</code> | — |
| <code>findings&#91;&#93;.severity</code> | Yes | <code>string</code> | Allowed: <code>INFO</code>, <code>WARNING</code> |
| <code>findings&#91;&#93;.summary</code> | Yes | <code>string</code> | Min length: <code>1</code>; Max length: <code>1200</code> |
| <code>findings&#91;&#93;.trialId</code> | Yes | At least one of: <code>string</code>; <code>null</code> | — |
| <code>nextChecks</code> | Yes | Array of <code>string</code> | Max items: <code>5</code> |
| <code>financialAuthority</code> | Yes | Constant <code>false</code> | — |
| <code>publicationAuthority</code> | Yes | Constant <code>false</code> | — |

Nested required fields apply when their parent object or matching union branch is present. Named types link to their complete schema.

Exact definition: <code>#/components/schemas/ResearchReport</code> in the [OpenAPI contract](/openapi/liquidity-operating-system-v2.openapi.json).