{
  "mode": "free_preview",
  "asset": {
    "name": "Bitcoin",
    "symbol": "BTC",
    "network": "bitcoin",
    "decimals": 8,
    "asset_type": "native_asset",
    "context_tags": [
      "coingecko-pro-derived",
      "quarter-hour-observation",
      "no-absolute-price"
    ]
  },
  "product": "Crypto Agent Dirty Work Pack",
  "dataset_key": "crypto_agent_signals",
  "output_hash": "sha256:ba5691bb7e4410b06f7e16c2f404047a6c952af7af3de1bdc9e5991bb874fd3b",
  "product_key": "crypto_dirty_work_pack",
  "source_hash": "sha256:6869427e1dea5448d1618768e6402ec94281d64cd5778996ddaf1d6f7491cb8a",
  "valid_until": "2026-08-23T21:30:20+00:00",
  "generated_at": "2026-08-23T20:47:18.664+00:00",
  "asset_identity": {
    "chain": "bitcoin",
    "address": "btc",
    "network": "bitcoin",
    "asset_type": "native_asset",
    "query_symbol": "BTC",
    "resolved_symbol": "BTC",
    "ambiguity_status": "resolved_supported_mainstream_asset",
    "contract_address": null,
    "supported_assets": [
      "BTC",
      "ETH",
      "SOL",
      "SUI",
      "ADA"
    ],
    "resolution_method": "supported_symbol_lookup",
    "canonical_resource_id": "asset:btc",
    "dirty_work_resource_id": "dirty-work:asset:btc",
    "contract_address_present": false
  },
  "data_freshness": {
    "generated_at": "2026-08-23T20:47:18.664+00:00",
    "valid_until": "2026-08-23T21:30:20+00:00",
    "checked_at": "2026-08-23T20:56:20.256Z",
    "status": "fresh",
    "warning": null
  },
  "source_disagreement": {
    "note": "This pack states when cross-source disagreement is unavailable instead of manufacturing confidence.",
    "status": "not_computed_multi_source",
    "available_lineage_count": 1,
    "available_evidence_count": 1
  },
  "freshness_assessment": {
    "status": "fresh",
    "warning": null,
    "checked_at": "2026-08-23T20:56:20.256Z",
    "source_mode": "coin_gecko_pro_api",
    "valid_until": "2026-08-23T21:30:20+00:00",
    "generated_at": "2026-08-23T20:47:18.664+00:00",
    "snapshot_version": "crypto-agent-signals-coingecko-pro-v1:crypto-dirty-work-v1",
    "usable_for_agent_preflight": true
  },
  "not_financial_advice": true,
  "materialized_snapshot": {
    "computed_at": "2026-08-23T20:47:18.664Z",
    "output_hash": "sha256:ba5691bb7e4410b06f7e16c2f404047a6c952af7af3de1bdc9e5991bb874fd3b",
    "product_key": "crypto_dirty_work_pack",
    "materializer_version": "crypto-dirty-work-v1",
    "source_snapshot_hash": "sha256:6869427e1dea5448d1618768e6402ec94281d64cd5778996ddaf1d6f7491cb8a",
    "resource_id": "dirty-work:asset:btc",
    "materialized_at": "2026-08-23T20:47:22.24565+00:00"
  },
  "trend_window_inventory": {
    "windows": [
      {
        "metric": "derived_price_change_bps",
        "window": "30m",
        "summary": "30m change is 17 bps from local 15-minute observation history; distance to the sampled-window arithmetic mean is 7 bps.",
        "direction": "upward",
        "confidence": 0.92,
        "evidence_refs": [
          "coingecko-pro-btc-2026-08-23T20:45:20.000Z"
        ],
        "distance_bucket": "near_average"
      }
    ],
    "not_realtime": true,
    "metric_version": "crypto-agent-signals-trends-v1",
    "update_cadence": "quarter_hourly_production_observation",
    "hidden_window_count": 6,
    "visible_window_count": 1
  },
  "commercial_status": "commercial",
  "payment_required": false,
  "payment_available": true,
  "not_for_purchase": false,
  "endpoint": "/v1/preview/crypto/dirty-work-pack",
  "preview_summary": {
    "liquidity": {
      "level": "low",
      "confidence": 0.88,
      "summary": "The 24-hour volume/market-cap turnover proxy is 183 bps (low); it is not order-book liquidity, executable depth, or slippage evidence."
    },
    "data_quality": {
      "level": "elevated",
      "confidence": 0.94,
      "summary": "The exact five-asset batch, asset identities, required numeric fields, freshness, and timestamp skew passed strict validation."
    },
    "verdict": "Identity, freshness, and one trend window are shown. The complete computed dirty-work pack requires payment."
  },
  "excluded_from_preview": [
    "complete dirty-work response body",
    "full evidence and lineage arrays",
    "full trend window inventory",
    "bulk export or historical backfill"
  ],
  "paid_unlock": {
    "endpoint": "https://api.sourcestrand.com/v1/paid/crypto/dirty-work-pack?asset=BTC&buyer_hint=web-crypto",
    "path": "/v1/paid/crypto/dirty-work-pack?asset=BTC",
    "checkout_url": "https://api.sourcestrand.com/checkout?resource_url=https%3A%2F%2Fapi.sourcestrand.com%2Fv1%2Fpaid%2Fcrypto%2Fdirty-work-pack%3Fasset%3DBTC%26buyer_hint%3Dweb-crypto&buyer_hint=web-crypto",
    "payment_intent_url": "https://api.sourcestrand.com/v1/payment/intent?resource_url=https%3A%2F%2Fapi.sourcestrand.com%2Fv1%2Fpaid%2Fcrypto%2Fdirty-work-pack%3Fasset%3DBTC%26buyer_hint%3Dweb-crypto&buyer_hint=web-crypto",
    "price": "$0.01",
    "buyer_hint_header": "x-buyer-hint: caller-installation-id",
    "trial_key_header": "x-trial-key: optional attribution hint (hashed; it does not override the Cloudflare network quota identity)",
    "includes": [
      "Full asset identity and ambiguity checks.",
      "Freshness, answerability, source-gap, and evidence-availability context.",
      "Complete trend window inventory available for the snapshot.",
      "Agent handoff notes with data lineage, limitations, generated_at, valid_until, and source_hash.",
      "x402 settlement and payment telemetry for buyer attribution."
    ]
  },
  "trial_quota": {
    "policy_id": "controlled_crypto_asset_preview_v1",
    "identity": {
      "basis": "network_fingerprint",
      "fingerprint": "network:sha256:07686956e90bc59de3e6dba123557569"
    },
    "resource_id": "dirty-work:asset:btc",
    "rolling_24h": {
      "limit": 10,
      "used": 1,
      "remaining": 9
    },
    "rolling_30d_unique_resources": {
      "limit": 50,
      "used": 1,
      "remaining": 49
    }
  },
  "product_metadata": {
    "title": "Crypto Agent Signal Pack",
    "product_id": "crypto_agent_signals",
    "commercial_status": "commercial",
    "payment_required": true,
    "payment_available": true,
    "not_for_purchase": false,
    "paid_unlock": {
      "product_key": "crypto_asset_signal",
      "endpoint_template": "/v1/paid/crypto/asset-signal?asset={symbol}&buyer_hint={buyer_hint}",
      "price": "$0.01",
      "network": "eip155:8453",
      "asset": "USDC"
    },
    "free_sample_endpoint": "/samples/crypto-agent-signal-pack.json",
    "free_preview_endpoint": "/v1/preview/crypto/asset-signal?asset=BTC",
    "free_preview_url_template": "/v1/preview/crypto/asset-signal?asset={symbol}&buyer_hint={buyer_hint}",
    "main_paid_entrypoint": "/v1/paid/crypto/asset-signal?asset={symbol}&buyer_hint={buyer_hint}",
    "main_paid_entrypoint_example": "/v1/paid/crypto/asset-signal?asset=BTC",
    "primary_paid_offer": {
      "product_key": "crypto_asset_signal",
      "endpoint_template": "/v1/paid/crypto/asset-signal?asset={symbol}&buyer_hint={buyer_hint}",
      "price": "$0.01",
      "includes": [
        "asset_signal",
        "multi_window_trend_context",
        "liquidity_context",
        "volatility_context",
        "data_lineage",
        "limitations"
      ],
      "best_for": "Current short-window derived market context with source freshness, attribution, and limitations."
    },
    "standalone_paid_offer": {
      "product_key": "crypto_asset_signal",
      "endpoint_template": "/v1/paid/crypto/asset-signal?asset={symbol}&buyer_hint={buyer_hint}",
      "price": "$0.01",
      "best_for": "The complete single-asset signal when the rolling feature matrix is not needed."
    },
    "discovery_positioning": "BTC ETH SOL SUI ADA market context for AI agents: symbol-first, freshness-aware, multi-window trend, liquidity and variability context, source lineage, limitations, not trading advice.",
    "free_dirty_work_preview_endpoint": "/v1/preview/crypto/dirty-work-pack?asset=BTC",
    "free_agent_effort_metrics_preview_endpoint": "/v1/preview/crypto/agent-effort-metrics?asset=BTC",
    "free_workbench_preview_endpoint": "/v1/preview/crypto/workbench-pack?pack=asset-coverage-readiness",
    "trial_policy": {
      "scope": "Controlled free preview for mainstream asset symbol lookups.",
      "default_daily_limit": 10,
      "default_monthly_unique_resource_limit": 50,
      "identity_headers": [
        "cf-connecting-ip",
        "user-agent"
      ],
      "attribution_headers": [
        "x-trial-key",
        "x-api-key",
        "x-buyer-hint"
      ],
      "buyer_hint_is_not_a_quota_key": true,
      "anti_bulk_note": "Preview is lookup-only and does not expose pagination, bulk export, or complete paid payload fields.",
      "state_manifest_exception": "The material-state manifest is unmetered because it exposes no paid feature values and prevents duplicate purchases."
    },
    "available_paid_endpoints": [
      {
        "method": "GET",
        "path": "/v1/paid/crypto/asset-signal?asset=BTC",
        "price": "$0.01",
        "supported_assets": [
          "BTC",
          "ETH",
          "SOL",
          "SUI",
          "ADA"
        ],
        "primary_paid_cta": true,
        "best_for": "Mainstream BTC, ETH, SOL, SUI, or ADA context when the buyer or AI assistant only has an asset symbol."
      },
      {
        "method": "GET",
        "path": "/v1/paid/crypto/dirty-work-pack?asset=BTC",
        "price": "$0.01",
        "supported_assets": [
          "BTC",
          "ETH",
          "SOL",
          "SUI",
          "ADA"
        ],
        "best_for": "Precomputed asset identity, freshness, answerability, and data-gap context for AI assistants."
      },
      {
        "method": "GET",
        "path": "/v1/paid/crypto/agent-effort-metrics?asset=BTC",
        "price": "$0.01",
        "supported_assets": [
          "BTC",
          "ETH",
          "SOL",
          "SUI",
          "ADA"
        ],
        "best_for": "Precomputed answerability, coverage, missing-data penalty, review-priority, liquidity, volatility, and x402-fit scores plus explicitly labeled deterministic cost-model estimates; unavailable effort-saved fields remain not measured."
      },
      {
        "method": "GET",
        "path": "/v1/paid/crypto/workbench-pack?pack=asset-coverage-readiness",
        "price": "$0.01",
        "supported_packs": [
          "asset-coverage-readiness",
          "market-regime-digest",
          "liquidity-volatility-watchlist"
        ],
        "best_for": "Cross-asset coverage, market-context digest, and review-priority packs for AI assistants."
      },
      {
        "method": "GET",
        "path": "/v1/paid/crypto/workbench/asset-coverage-readiness",
        "price": "$0.01",
        "compatibility_alias": true,
        "primary_discovery": false,
        "best_for": "Direct x402 resource for the Asset Coverage Readiness workbench stream."
      },
      {
        "method": "GET",
        "path": "/v1/paid/crypto/workbench/market-regime-digest",
        "price": "$0.01",
        "compatibility_alias": true,
        "primary_discovery": false,
        "best_for": "Direct x402 resource for the Market Regime Digest workbench stream."
      },
      {
        "method": "GET",
        "path": "/v1/paid/crypto/workbench/liquidity-volatility-watchlist",
        "price": "$0.01",
        "compatibility_alias": true,
        "primary_discovery": false,
        "best_for": "Direct x402 resource for the Liquidity Volatility Watchlist workbench stream."
      }
    ],
    "commercial_upsell_endpoints": [
      {
        "product_id": "crypto_agent_signals",
        "product_key": "crypto_asset_signal",
        "endpoint_template": "https://api.sourcestrand.com/v1/paid/crypto/asset-signal?asset={symbol}&buyer_hint={buyer_hint}",
        "primary_paid_cta": true,
        "use_when": "The buyer needs only the complete single-asset signal after checking the free preview."
      },
      {
        "product_id": "crypto_agent_signals",
        "product_key": "crypto_dirty_work_pack",
        "endpoint_template": "https://api.sourcestrand.com/v1/paid/crypto/dirty-work-pack?asset={symbol}&buyer_hint={buyer_hint}",
        "primary_paid_cta": false,
        "use_when": "The buyer needs identity, freshness, answerability, and data-gap checks without purchasing the broader signal payload."
      },
      {
        "product_id": "crypto_agent_signals",
        "product_key": "crypto_agent_effort_metrics",
        "endpoint_template": "https://api.sourcestrand.com/v1/paid/crypto/agent-effort-metrics?asset={symbol}&buyer_hint={buyer_hint}",
        "primary_paid_cta": false,
        "use_when": "The buyer needs compact answerability, review-priority, liquidity, volatility, and x402-fit metrics plus explicitly labeled cost-model estimates; unavailable effort-saved fields remain not measured."
      },
      {
        "product_id": "crypto_agent_signals",
        "product_key": "crypto_workbench_pack",
        "endpoint_template": "https://api.sourcestrand.com/v1/paid/crypto/workbench-pack?pack={pack}&buyer_hint={buyer_hint}",
        "primary_paid_cta": false,
        "use_when": "The buyer needs a different cross-asset coverage, regime, or liquidity/volatility workbench pack."
      }
    ],
    "buyer_value_props": [
      "Mainstream asset lookup supports BTC, ETH, SOL, SUI, and ADA without requiring contract addresses.",
      "Precomputed context pack resolves asset identity, freshness, answerability, evidence availability, and missing-data boundaries before downstream drafting.",
      "Agent effort metrics convert the first-pass review burden into ten compact scores buyers can compare quickly.",
      "Workbench packs precompute cross-asset readiness, market-context digest, and liquidity/variability review triage.",
      "Precomputed signal buckets for liquidity, variability, data quality, freshness, and payment relevance.",
      "Decision-support metrics include 0-100 usability scores, flags, answerability, and calculation notes.",
      "Trend indicators include descriptive 30m, 1h, 4h, 6h, 8h, 24h, and 7d windows with change and average-distance context where relevant.",
      "Outputs are shaped for AI agents so buyers do not need to parse raw upstream payloads or derive the first-pass interpretation themselves."
    ],
    "precomputed_signal_fields": [
      "buyer_signal_summary",
      "decision_support_metrics.overall_score",
      "decision_support_metrics.metric_cards",
      "decision_support_metrics.flags",
      "decision_support_metrics.answerability",
      "dirty_work_completed",
      "agent_effort.score_index",
      "agent_effort.metric_cards",
      "agent_effort.cost_model",
      "workbench.summary",
      "workbench.rows",
      "asset_identity",
      "source_disagreement",
      "trend_indicators.windows",
      "trend_indicators.distance_to_average_bps",
      "trend_indicators.not_realtime",
      "agent_summary",
      "data_lineage",
      "limitations"
    ],
    "data_provider_attribution": {
      "statement": "Data provided by CoinGecko",
      "provider": "CoinGecko",
      "url": "https://www.coingecko.com/en/api",
      "source_mode": "coin_gecko_pro_api"
    },
    "coverage_note": "Production-derived market context with snapshot-level upstream freshness, lineage, source hashes, and limitations.",
    "advice_boundary": "Informational signal pack only; not investment, legal, tax, accounting, or trading instruction."
  },
  "metadata": {
    "schema_version": "sourcestrand-agent-trust-metadata-v1",
    "product_id": "crypto_dirty_work_pack",
    "source_model": "crypto_dirty_work_pack_v1",
    "source_system": "source_strand_crypto_materialized_signal_pipeline",
    "source_dataset": "crypto_agent_signals",
    "last_updated_at": "2026-08-23T20:47:18.664+00:00",
    "generated_at": "2026-08-23T20:47:18.664+00:00",
    "retrieved_at": null,
    "valid_until": "2026-08-23T21:30:20+00:00",
    "source_hash": "sha256:6869427e1dea5448d1618768e6402ec94281d64cd5778996ddaf1d6f7491cb8a",
    "output_hash": "sha256:ba5691bb7e4410b06f7e16c2f404047a6c952af7af3de1bdc9e5991bb874fd3b",
    "source_mode": "coin_gecko_pro_api",
    "snapshot_version": "crypto-agent-signals-coingecko-pro-v1:crypto-dirty-work-v1",
    "update_cadence": "materialized_from_crypto_asset_signal_snapshot",
    "cache_ttl_seconds": null,
    "stale_after_seconds": null,
    "safe_to_cache": null,
    "freshness": {
      "generated_at": "2026-08-23T20:47:18.664+00:00",
      "valid_until": "2026-08-23T21:30:20+00:00",
      "checked_at": "2026-08-23T20:56:20.256Z",
      "status": "fresh",
      "warning": null
    },
    "provenance_fields": [
      "metadata.source_model",
      "metadata.last_updated_at",
      "source_hash",
      "data_lineage",
      "limitations"
    ],
    "data_lineage_count": 1,
    "limitation_count": 7,
    "trust_note": "Use source_hash and output_hash as cache and audit boundaries for this materialized dirty-work pack; it is not trading advice."
  },
  "data_lineage": [
    {
      "provider": "coingecko",
      "dataset": "CoinGecko Pro /coins/markets derived five-asset observation",
      "source_mode": "coin_gecko_pro_api",
      "retrieved_at": "2026-08-23T20:45:20.000Z",
      "source_hash": "sha256:3fd80866be4cf8792f1be48b514823e61b2ea44de90f7d8281607a83bf32ed41",
      "attribution": "Data provided by CoinGecko."
    }
  ],
  "limitations": [
    {
      "code": "coingecko_plan_rights_operator_acknowledgement",
      "severity": "caution",
      "message": "The operator or legal counsel must confirm that a qualifying paid CoinGecko plan permits derived commercial use and a private rolling eight-day cache of minimized observations, and review the external product's binding user agreement and privacy policy against current terms. The acknowledgement is a prerequisite, not legal advice or a conclusion of compliance."
    }
  ]
}