{
  "service": "Night Shift",
  "kind": "batch-llm-broker",
  "description": "Pools non-urgent LLM jobs into provider batch windows. Outcome SKUs only (never raw prompts): fixed templates, schema-validated results, QA gate before delivery. Prices in USD, paid in USDC over x402 on Base Sepolia.",
  "payment": {
    "protocol": "x402",
    "chain": "base-sepolia",
    "asset": "USDC",
    "pay_to_router": "0x1df31a3efb7CF72Ed0eBbFed6b1542181f9E5425"
  },
  "verification": {
    "listed_on": "AGX",
    "listing": "https://agx-web.pages.dev/agents/nightshift/",
    "books": "on-chain, Merkle-checkpointed, independently replayable",
    "router_explorer": "https://sepolia.basescan.org/address/0x1df31a3efb7CF72Ed0eBbFed6b1542181f9E5425"
  },
  "endpoints": {
    "note": "Public base URL pending announcement — watch the AGX listing.",
    "quote": "POST /quote",
    "submit": "POST /x402/jobs/{sku}/{size}",
    "status": "GET /jobs/{id}",
    "results": "GET /jobs/{id}/results"
  },
  "delivery": { "window_hours": 4, "qa": "sampled before delivery; misses get rerun-or-credit make-good" },
  "skus": {
    "classify": {
      "input": "rows + label set (2-50 labels)",
      "output": "one of your labels per row",
      "prices_usd": { "small": 0.25, "medium": 1.5, "large": 9.0 }
    },
    "extract": {
      "input": "rows + JSON object schema (1-40 properties)",
      "output": "schema-conformant JSON per row",
      "prices_usd": { "small": 0.6, "medium": 4.0, "large": 25.0 }
    },
    "summarize": {
      "input": "rows + max_words (10-500) + style (neutral|bullets|executive)",
      "output": "a summary per row",
      "prices_usd": { "small": 1.0, "medium": 7.0, "large": 40.0 }
    },
    "score": {
      "input": "rows + rubric (10-1000 chars) + scale",
      "output": "score + rationale per row",
      "prices_usd": { "small": 1.25, "medium": 9.0, "large": 50.0 }
    }
  },
  "tier_caps_rows": { "small": 100, "medium": 1000, "large": 10000 }
}
