# MarketMakerEvidenceObservation

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

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

| Field | Required at this level | Type | Description and constraints |
| --- | --- | --- | --- |
| <code>observationId</code> | Yes | <code>string</code> | — |
| <code>mandateId</code> | Yes | <code>string</code> | — |
| <code>sourceKind</code> | Yes | <code>string</code> | Allowed: <code>ONCHAIN&#95;WALLET</code>, <code>SIGNED&#95;API</code>, <code>SIGNED&#95;FILE</code>, <code>SIGNED&#95;EXCHANGE</code> |
| <code>observedAt</code> | Yes | <code>string</code> | Format: <code>date-time</code> |
| <code>sourceReferenceHash</code> | Yes | [Hash](/api-reference/schemas/hash/) | — |
| <code>sourcePayloadHash</code> | Yes | [Hash](/api-reference/schemas/hash/) | — |
| <code>providerId</code> | Yes | <code>string</code> | — |
| <code>providerKeyResourceVersion</code> | Yes | [Hash](/api-reference/schemas/hash/) | — |
| <code>providerAttestationHash</code> | Yes | [Hash](/api-reference/schemas/hash/) | — |
| <code>signature</code> | Yes | <code>string</code> | Content encoding: <code>base64</code> |
| <code>chainEvidence</code> | No | <code>object</code> | Additional properties rejected |
| <code>chainEvidence.chainId</code> | Yes | <code>integer</code> | Minimum: <code>1</code> |
| <code>chainEvidence.chainGenesisHash</code> | Yes | [Hash](/api-reference/schemas/hash/) | — |
| <code>chainEvidence.blockNumber</code> | Yes | [AtomicAmount](/api-reference/schemas/atomic-amount/) | — |
| <code>chainEvidence.blockHash</code> | Yes | [Hash](/api-reference/schemas/hash/) | — |
| <code>chainEvidence.finality</code> | Yes | Constant <code>FINALIZED</code> | — |
| <code>chainEvidence.rpcQuorumAttestations</code> | Yes | Array of [VenueRpcQuorumAttestation](/api-reference/schemas/venue-rpc-quorum-attestation/) | Max items: <code>8</code> |
| <code>chainEvidence.rpcQuorumVerification</code> | No | [VenueRpcQuorumVerification](/api-reference/schemas/venue-rpc-quorum-verification/) | Read only |
| <code>balances</code> | Yes | Array of <code>object</code> | Min items: <code>1</code>; Max items: <code>1000</code> |
| <code>balances&#91;&#93;.assetId</code> | Yes | <code>string</code> | — |
| <code>balances&#91;&#93;.amountAtomic</code> | Yes | [AtomicAmount](/api-reference/schemas/atomic-amount/) | — |
| <code>balances&#91;&#93;.valueQuote</code> | Yes | [AtomicAmount](/api-reference/schemas/atomic-amount/) | — |
| <code>capitalDeployedQuote</code> | Yes | [AtomicAmount](/api-reference/schemas/atomic-amount/) | — |
| <code>usableDepthQuote</code> | Yes | [AtomicAmount](/api-reference/schemas/atomic-amount/) | — |
| <code>observedSpreadPips</code> | Yes | [Pips](/api-reference/schemas/pips/) | — |
| <code>observedUptimePips</code> | Yes | [Pips](/api-reference/schemas/pips/) | — |
| <code>grossReturnsQuote</code> | Yes | [AtomicAmount](/api-reference/schemas/atomic-amount/) | — |
| <code>feesPaidQuote</code> | Yes | [AtomicAmount](/api-reference/schemas/atomic-amount/) | — |
| <code>returnedToken</code> | Yes | [AtomicAmount](/api-reference/schemas/atomic-amount/) | — |
| <code>returnedTokenValueQuote</code> | Yes | [AtomicAmount](/api-reference/schemas/atomic-amount/) | — |
| <code>repaidQuote</code> | Yes | [AtomicAmount](/api-reference/schemas/atomic-amount/) | — |
| <code>counterpartyExposureQuote</code> | Yes | [AtomicAmount](/api-reference/schemas/atomic-amount/) | — |
| <code>reconciliationStatus</code> | Yes | <code>string</code> | Allowed: <code>PENDING</code>, <code>MATCHED</code>, <code>DISPUTED</code>, <code>FINALIZED</code> |
| <code>reconciliationEvidenceHashes</code> | Yes | Array of [Hash](/api-reference/schemas/hash/) | Max items: <code>128</code> |
| <code>evidenceHashes</code> | Yes | Array of [Hash](/api-reference/schemas/hash/) | Min items: <code>1</code>; Max items: <code>256</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/MarketMakerEvidenceObservation</code> in the [OpenAPI contract](/openapi/liquidity-operating-system-v2.openapi.json).