{"slug":"api-tradebot-devs-surf-v1-market-data-attestation-01b336","title":"Crypto Market Data Integrity Attestation for agents and trading systems","host":"api.tradebot.devs.surf","method":"POST","resource":"https://api.tradebot.devs.surf/v1/market-data-attestation","category":"market","description":"Crypto Market Data Integrity Attestation for agents and trading systems. Validate caller-supplied crypto market observations for causal timing, freshness, gaps, sequencing, identity consistency, and cryptographic record hashes. Returns deterministic PASS/FAIL, safe_to_use, named checks, and attestat","price_listed":0.01,"price_asked":0.01,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":1472,"reported_calls_30d":1,"reported_payers_30d":1,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"dataset_id":"decision-input-17","observations":[{"event_time_ms":2000000097000,"identity":"instrument-A","payload_sha256":"5feceb66ffc86f38d952786c6d696c79c2dbc239dd4e91b46729d73a27fb57e9","received_time_ms":2000000097100,"sequence":1},{"event_time_ms":2000000098000,"identity":"instrument-A","payload_sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","received_time_ms":2000000098100,"sequence":2},{"event_time_ms":2000000099000,"identity":"instrument-A","payload_sha256":"d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35","received_time_ms":2000000099100,"sequence":3}],"policy":{"allowed_future_clock_skew_ms":1000,"expected_interval_ms":1000,"interval_tolerance_ms":0,"max_age_ms":2000,"max_receive_lag_ms":500,"require_identity_consistency":true,"require_sequence":true},"source_label":"caller-observer-A"},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"additionalProperties":false,"properties":{"dataset_id":{"maxLength":128,"minLength":1,"title":"Dataset Id","type":"string"},"observations":{"items":{"additionalProperties":false,"properties":{"event_time_ms":{"maximum":9223372036854776000,"minimum":0,"title":"Event Time Ms","type":"integer"},"identity":{"anyOf":[{"maxLength":256,"minLength":1,"type":"string"},{"type":"null"}],"default":null,"title":"Identity"},"payload_sha256":{"anyOf":[{"pattern":"^[0-9a-f]{64}$","type":"string"},{"type":"null"}],"default":null,"title":"Payload Sha256"},"received_time_ms":{"maximum":9223372036854776000,"minimum":0,"title":"Received Time Ms","type":"integer"},"sequence":{"anyOf":[{"maximum":9223372036854776000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"title":"Sequence"}},"required":["event_time_ms","received_time_ms"],"title":"Observation","type":"object"},"maxItems":512,"minItems":1,"title":"Observations","type":"array"},"policy":{"additionalProperties":false,"properties":{"allowed_future_clock_skew_ms":{"maximum":86400000,"minimum":0,"title":"Allowed Future Clock Skew Ms","type":"integer"},"expected_interval_ms":{"anyOf":[{"maximum":2678400000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"title":"Expected Interval Ms"},"interval_tolerance_ms":{"anyOf":[{"maximum":2678400000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"title":"Interval Tolerance Ms"},"max_age_ms":{"maximum":2678400000,"minimum":0,"title":"Max Age Ms","type":"integer"},"max_receive_lag_ms":{"maximum":2678400000,"minimum":0,"title":"Max Receive Lag Ms","type":"integer"},"require_identity_consistency":{"title":"Require Identity Consistency","type":"boolean"},"require_sequence":{"title":"Require Sequence","type":"boolean"}},"required":["max_age_ms","max_receive_lag_ms","require_sequence","require_identity_consistency","allowed_future_clock_skew_ms"],"title":"AttestationPolicy","type":"object"},"source_label":{"maxLength":128,"minLength":1,"title":"Source Label","type":"string"}},"required":["dataset_id","source_label","observations","policy"],"title":"MarketDataAttestationRequest","type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST","PUT","PATCH"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"attestation_id":{"description":"Deterministic identity derived from the method version and the observation and policy hashes; independent of wall clock.","pattern":"^mda1_[0-9a-f]{64}$","type":"string"},"attested_at_ms":{"maximum":9223372036854776000,"minimum":0,"type":"integer"},"checks":{"items":{"additionalProperties":false,"properties":{"check":{"minLength":1,"type":"string"},"evidence":{"additionalProperties":{"type":["boolean","integer","null","string"]},"type":"object"},"status":{"enum":["PASS","FAIL"],"type":"string"}},"required":["check","status","evidence"],"type":"object"},"maxItems":14,"minItems":14,"type":"array"},"dataset_id":{"maxLength":128,"minLength":1,"type":"string"},"disclaimer":{"const":"Integrity validation of caller-supplied observations only; no market data is acquired or redistributed, and no ownership, licensing, investment, or trading determination is made.","type":"string"},"failed_checks":{"items":{"minLength":1,"type":"string"},"maxItems":14,"type":"array","uniqueItems":true},"first_event_time_ms":{"maximum":9223372036854776000,"minimum":0,"type":"integer"},"last_event_time_ms":{"maximum":9223372036854776000,"minimum":0,"type":"integer"},"latest_received_time_ms":{"maximum":9223372036854776000,"minimum":0,"type":"integer"},"method_version":{"const":"market-data-integrity-attestation-v1.0.0","type":"string"},"observation_count":{"maximum":512,"minimum":1,"type":"integer"},"observations_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"policy_sha256":{"pattern":"^[0-9a-f]{64}$","type":"string"},"safe_to_use":{"type":"boolean"},"schema_version":{"const":"market-data-attestation-request-v1","type":"string"},"source_label":{"maxLength":128,"minLength":1,"type":"string"},"verdict":{"enum":["PASS","FAIL"],"type":"string"}},"required":["schema_version","attestation_id","attested_at_ms","dataset_id","source_label","verdict","safe_to_use","observation_count","first_event_time_ms","last_event_time_ms","latest_received_time_ms","observations_sha256","policy_sha256","checks","failed_checks","method_version","disclaimer"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-09-24","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.01,"price_match":true,"latency_ms":1472,"error":null}],"description_full":"Crypto Market Data Integrity Attestation for agents and trading systems. Validate caller-supplied crypto market observations for causal timing, freshness, gaps, sequencing, identity consistency, and cryptographic record hashes. Returns deterministic PASS/FAIL, safe_to_use, named checks, and attestation identity. Use before analytics, research, or trading workflows. No market data acquisition or redistribution; no trade recommendation.","last_updated":"2026-09-19T10:09:03.894Z","schemes":["exact"]}