Skip to main content

Exchange Ingestion

Planned

The common source and extraction contracts exist. A production-connected exchange ingestion runtime does not.

Supporting adapter, not the core engine

Exchange documents are one evidence source for trades, deposits, withdrawals, fees, and rewards. Their adapter is responsible for getting source-native records to the common boundary:

SourceArtifact → SourceRecord → SourceExtractionRun → Observation

After Observation, exchange and EVM evidence use the same Event-to-Report contracts. Document parsing is therefore a supporting adapter concern; it is not the technical core of economic interpretation, valuation, tax inventory, or reporting.

Required behavior

  • Preserve the source location, whole-artifact hash, and page/row/item or source-native coordinate.
  • Allow one source record to produce multiple Observations, such as a trade and its fee.
  • Terminate every selected record as NORMALIZED, DUPLICATE, UNSUPPORTED, ERROR, or NOT_RELEVANT.
  • Keep exchange-specific columns and layouts in the adapter artifact rather than the common schema.
  • Version parser identity and configuration so re-extraction creates a reviewable revision.

Current evidence boundary

Standalone parser work exists outside the four repositories surveyed for this document. It is not treated as proof of a production ingestion capability because no reviewed path connects it to the shared extraction contract, persistence boundary, fixtures, and CI.

This is not a claim that the parser work is absent. It means only that no production-connected exchange parser is verified in the current evidence chain. The next acceptance proof is one source fixture that reaches SourceExtractionRun and Observation with explicit record coverage.

Once those Observations exist, matching a withdrawal to an owned-wallet receipt is an interpretation problem handled by Event, Posting & Valuation.