object — Additional properties rejected
| Field | Required at this level | Type | Description and constraints |
|---|---|---|---|
project |
Yes | MarketDiscoveryProject | — |
retrievedAt |
Yes | string |
Format: date-time |
pools |
Yes | Array of MarketDiscoveryPool | Max items: 500 |
metrics |
Yes | object |
Additional properties rejected |
metrics.priceUsd |
Yes | At least one of: number; null |
Provider-reported approximate market figure. This is not an exact atomic balance or a finalized chain proof. |
metrics.liquidityUsd |
Yes | At least one of: number; null |
Provider-reported approximate market figure. This is not an exact atomic balance or a finalized chain proof. |
metrics.volume24hUsd |
Yes | At least one of: number; null |
Provider-reported approximate market figure. This is not an exact atomic balance or a finalized chain proof. |
metrics.priceChange24hPercent |
Yes | At least one of: number; null |
— |
metrics.largestPoolSharePercent |
Yes | At least one of: number; null |
— |
sources |
Yes | Array of object |
Max items: 502 |
sources[].id |
Yes | string |
Min length: 1; Max length: 80 |
sources[].label |
Yes | string |
Max length: 300 |
sources[].url |
Yes | string |
Max length: 2048 |
gaps |
Yes | Array of string |
Max items: 32 |
workspace |
No | WorkflowVaultContext | — |
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/MarketDiscoveryEvidence in the OpenAPI contract.