{
  "status": "completed",
  "requestId": "765dd8ae-6e4d-4081-9b98-22c63f1f26b2",
  "requestSha256": "a1d427f12556a6b203d4af9666a8f4f986108e9f11a69c4fafc2bda90d187162",
  "amountMicroUsdc": 50000,
  "settlement": {
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "payer": "7rozFdk421fc7DT3MpPJnD4ndXY81hBY6DzmKauZgzTB",
    "success": true,
    "transaction": "2vpMX8KUdGoqiMZFdZrvDiUWNAv4Z2KCKqHxG6PFZk8tMaJMaHdnaqPz7fvnrJMaYDTXyPxXJW8YnnAGRPzcP5SG"
  },
  "text": "```html\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Meeting Cost Calculator</title>\n    <style>\n        body {\n            background-color: #1a1a1a;\n            color: white;\n            font-family: Arial, sans-serif;\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            min-height: 100vh;\n            margin: 0;\n        }\n        .container {\n            background-color: #2a2a2a;\n            padding: 30px;\n            border-radius: 10px;\n            width: 300px;\n        }\n        h1 {\n            text-align: center;\n            font-size: 24px;\n            margin: 0 0 20px 0;\n        }\n        .input-group {\n            margin-bottom: 15px;\n        }\n        label {\n            display: block;\n            font-size: 14px;\n            margin-bottom: 5px;\n        }\n        input[type=\"number\"] {\n            width: 100%;\n            padding: 8px;\n            box-sizing: border-box;\n            background-color: #3a3a3a;\n            color: white;\n            border: 1px solid #555;\n            border-radius: 5px;\n        }\n        .display {\n            background-color: #1a1a1a;\n            padding: 15px;\n            border-radius: 5px;\n            margin-bottom: 20px;\n            text-align: center;\n        }\n        .display-label {\n            font-size: 12px;\n            color: #aaa;\n            margin-bottom: 5px;\n        }\n        .display-value {\n            font-size: 48px;\n            font-weight: bold;\n            color: white;\n        }\n        .button-group {\n            display: flex;\n            gap: 10px;\n            margin-bottom: 10px;\n        }\n        button {\n            flex: 1;\n            padding: 10px;\n            background-color: #7c3aed;\n            color: white;\n            border: none;\n            border-radius: 5px;\n            cursor: pointer;\n            font-size: 14px;\n            font-weight: bold;\n        }\n        button:hover {\n            background-color: #6d28d9;\n        }\n        button:active {\n            background-color: #5b21b6;\n        }\n    </style>\n</head>\n<body>\n    <div class=\"container\">\n        <h1>Meeting Cost</h1>\n        \n        <div class=\"input-group\">\n            <label for=\"people\">People:</label>\n            <input type=\"number\" id=\"people\" value=\"6\" min=\"1\">\n        </div>\n        \n        <div class=\"input-group\">\n            <label for=\"rate\">Hourly Rate ($):</label>\n            <input type=\"number\" id=\"rate\" value=\"100\" min=\"0\">\n        </div>\n        \n        <div class=\"display\">\n            <div class=\"display-label\">Elapsed Time</div>\n            <div class=\"display-value\" id=\"timeDisplay\">0:00:00</div>\n        </div>\n        \n        <div class=\"display\">\n            <div class=\"display-label\">Total Cost</div>\n            <div class=\"display-value\" id=\"costDisplay\">$0.00</div>\n        </div>\n        \n        <div class=\"button-group\">\n            <button id=\"startBtn\" onclick=\"startTimer()\">Start</button>\n            <button id=\"pauseBtn\" onclick=\"pauseTimer()\" disabled>Pause</button>\n        </div>\n        \n        <button onclick=\"resetTimer()\" style=\"width: 100%;\">Reset</button>\n    </div>\n\n    <script>\n        let seconds = 0;\n        let timerInterval = null;\n        let isRunning = false;\n\n        function updateDisplay() {\n            const people = parseInt(document.getElementById('people').value) || 0;\n            const rate = parseFloat(document.getElementById('rate').value) || 0;\n            \n            const hours = seconds / 3600;\n            const cost = hours * people * rate;\n            \n            const h = Math.floor(seconds / 3600);\n            const m = Math.floor((seconds % 3600) / 60);\n            const s = seconds % 60;\n            \n            document.getElementById('timeDisplay').textContent = \n                `${h}:${String(m).padStart(2, '0')}:${String(s).padStart(2, '0')}`;\n            document.getElementById('costDisplay').textContent = `$${cost.toFixed(2)}`;\n        }\n\n        function startTimer() {\n            if (!isRunning) {\n                isRunning = true;\n                document.getElementById('startBtn').disabled = true;\n                document.getElementById('pauseBtn').disabled = false;\n                timerInterval = setInterval(() => {\n                    seconds++;\n                    updateDisplay();\n                }, 1000);\n            }\n        }\n\n        function pauseTimer() {\n            isRunning = false;\n            clearInterval(timerInterval);\n            document.getElementById('startBtn').disabled = false;\n            document.getElementById('pauseBtn').disabled = true;\n        }\n\n        function resetTimer() {\n            isRunning = false;\n            clearInterval(timerInterval);\n            seconds = 0;\n            document.getElementById('startBtn').disabled = false;\n            document.getElementById('pauseBtn').disabled = true;\n            updateDisplay();\n        }\n\n        document.getElementById('people').addEventListener('change', updateDisplay);\n        document.getElementById('rate').addEventListener('change', updateDisplay);\n        \n        updateDisplay();\n    </script>\n</body>\n</html>\n```",
  "result": {
    "choices": [
      {
        "finish_reason": "stop",
        "index": 0,
        "message": {
          "content": "```html\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Meeting Cost Calculator</title>\n    <style>\n        body {\n            background-color: #1a1a1a;\n            color: white;\n            font-family: Arial, sans-serif;\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            min-height: 100vh;\n            margin: 0;\n        }\n        .container {\n            background-color: #2a2a2a;\n            padding: 30px;\n            border-radius: 10px;\n            width: 300px;\n        }\n        h1 {\n            text-align: center;\n            font-size: 24px;\n            margin: 0 0 20px 0;\n        }\n        .input-group {\n            margin-bottom: 15px;\n        }\n        label {\n            display: block;\n            font-size: 14px;\n            margin-bottom: 5px;\n        }\n        input[type=\"number\"] {\n            width: 100%;\n            padding: 8px;\n            box-sizing: border-box;\n            background-color: #3a3a3a;\n            color: white;\n            border: 1px solid #555;\n            border-radius: 5px;\n        }\n        .display {\n            background-color: #1a1a1a;\n            padding: 15px;\n            border-radius: 5px;\n            margin-bottom: 20px;\n            text-align: center;\n        }\n        .display-label {\n            font-size: 12px;\n            color: #aaa;\n            margin-bottom: 5px;\n        }\n        .display-value {\n            font-size: 48px;\n            font-weight: bold;\n            color: white;\n        }\n        .button-group {\n            display: flex;\n            gap: 10px;\n            margin-bottom: 10px;\n        }\n        button {\n            flex: 1;\n            padding: 10px;\n            background-color: #7c3aed;\n            color: white;\n            border: none;\n            border-radius: 5px;\n            cursor: pointer;\n            font-size: 14px;\n            font-weight: bold;\n        }\n        button:hover {\n            background-color: #6d28d9;\n        }\n        button:active {\n            background-color: #5b21b6;\n        }\n    </style>\n</head>\n<body>\n    <div class=\"container\">\n        <h1>Meeting Cost</h1>\n        \n        <div class=\"input-group\">\n            <label for=\"people\">People:</label>\n            <input type=\"number\" id=\"people\" value=\"6\" min=\"1\">\n        </div>\n        \n        <div class=\"input-group\">\n            <label for=\"rate\">Hourly Rate ($):</label>\n            <input type=\"number\" id=\"rate\" value=\"100\" min=\"0\">\n        </div>\n        \n        <div class=\"display\">\n            <div class=\"display-label\">Elapsed Time</div>\n            <div class=\"display-value\" id=\"timeDisplay\">0:00:00</div>\n        </div>\n        \n        <div class=\"display\">\n            <div class=\"display-label\">Total Cost</div>\n            <div class=\"display-value\" id=\"costDisplay\">$0.00</div>\n        </div>\n        \n        <div class=\"button-group\">\n            <button id=\"startBtn\" onclick=\"startTimer()\">Start</button>\n            <button id=\"pauseBtn\" onclick=\"pauseTimer()\" disabled>Pause</button>\n        </div>\n        \n        <button onclick=\"resetTimer()\" style=\"width: 100%;\">Reset</button>\n    </div>\n\n    <script>\n        let seconds = 0;\n        let timerInterval = null;\n        let isRunning = false;\n\n        function updateDisplay() {\n            const people = parseInt(document.getElementById('people').value) || 0;\n            const rate = parseFloat(document.getElementById('rate').value) || 0;\n            \n            const hours = seconds / 3600;\n            const cost = hours * people * rate;\n            \n            const h = Math.floor(seconds / 3600);\n            const m = Math.floor((seconds % 3600) / 60);\n            const s = seconds % 60;\n            \n            document.getElementById('timeDisplay').textContent = \n                `${h}:${String(m).padStart(2, '0')}:${String(s).padStart(2, '0')}`;\n            document.getElementById('costDisplay').textContent = `$${cost.toFixed(2)}`;\n        }\n\n        function startTimer() {\n            if (!isRunning) {\n                isRunning = true;\n                document.getElementById('startBtn').disabled = true;\n                document.getElementById('pauseBtn').disabled = false;\n                timerInterval = setInterval(() => {\n                    seconds++;\n                    updateDisplay();\n                }, 1000);\n            }\n        }\n\n        function pauseTimer() {\n            isRunning = false;\n            clearInterval(timerInterval);\n            document.getElementById('startBtn').disabled = false;\n            document.getElementById('pauseBtn').disabled = true;\n        }\n\n        function resetTimer() {\n            isRunning = false;\n            clearInterval(timerInterval);\n            seconds = 0;\n            document.getElementById('startBtn').disabled = false;\n            document.getElementById('pauseBtn').disabled = true;\n            updateDisplay();\n        }\n\n        document.getElementById('people').addEventListener('change', updateDisplay);\n        document.getElementById('rate').addEventListener('change', updateDisplay);\n        \n        updateDisplay();\n    </script>\n</body>\n</html>\n```",
          "role": "assistant"
        }
      }
    ],
    "covenant": {
      "envelope": {
        "payload": {
          "buyer": {
            "display": "compute-gateway@local",
            "pubkey": "F9KjruGNU9f9tr5RXiBZfENeD6f8qAMUX5LQDEt9qdn1"
          },
          "capability_requirement": {
            "gpu_class": null,
            "kind": "inference_call",
            "max_duration_secs": 45,
            "min_reputation_bps": null,
            "min_vram_gb": null,
            "model_id": "claude-haiku-4.5"
          },
          "deadline_ms": 45000,
          "idempotency": {
            "duplicate_safety": "idempotent",
            "key": "9674ccc2-e340-4531-8bd5-4707e1a1a43d"
          },
          "input": [
            {
              "type": "json",
              "value": {
                "messages": [
                  {
                    "content": "Return one complete HTML document under 1000 output tokens. Build a compact working meeting-cost calculator: labeled numeric inputs for people (default 6) and hourly rate (default 100), seconds elapsed, dollar cost, and Start/Pause/Reset buttons. Update cost as seconds/3600*people*rate. A dark background, large white dollar total and purple buttons. Use minimal inline CSS and JavaScript; no dependencies, assets or network requests. Prefer concise code over visual embellishment. Include closing script, body and html tags. Return only HTML.",
                    "role": "user"
                  }
                ]
              }
            },
            {
              "type": "json",
              "value": {
                "generation": {
                  "max_tokens": 2048,
                  "temperature": 0.2
                }
              }
            }
          ],
          "issued_at_ms": 1792286025883,
          "job_id": "9674ccc2-e340-4531-8bd5-4707e1a1a43d",
          "kind": "inference_call",
          "price_micro_usdc": 30000
        },
        "payload_json": "{\"job_id\":\"9674ccc2-e340-4531-8bd5-4707e1a1a43d\",\"buyer\":{\"display\":\"compute-gateway@local\",\"pubkey\":\"F9KjruGNU9f9tr5RXiBZfENeD6f8qAMUX5LQDEt9qdn1\"},\"kind\":\"inference_call\",\"capability_requirement\":{\"gpu_class\":null,\"min_vram_gb\":null,\"model_id\":\"claude-haiku-4.5\",\"kind\":\"inference_call\",\"max_duration_secs\":45,\"min_reputation_bps\":null},\"input\":[{\"type\":\"json\",\"value\":{\"messages\":[{\"content\":\"Return one complete HTML document under 1000 output tokens. Build a compact working meeting-cost calculator: labeled numeric inputs for people (default 6) and hourly rate (default 100), seconds elapsed, dollar cost, and Start/Pause/Reset buttons. Update cost as seconds/3600*people*rate. A dark background, large white dollar total and purple buttons. Use minimal inline CSS and JavaScript; no dependencies, assets or network requests. Prefer concise code over visual embellishment. Include closing script, body and html tags. Return only HTML.\",\"role\":\"user\"}]}},{\"type\":\"json\",\"value\":{\"generation\":{\"max_tokens\":2048,\"temperature\":0.2}}}],\"price_micro_usdc\":30000,\"deadline_ms\":45000,\"idempotency\":{\"duplicate_safety\":\"idempotent\",\"key\":\"9674ccc2-e340-4531-8bd5-4707e1a1a43d\"},\"issued_at_ms\":1792286025883}",
        "signature_b58": "5caHs8ESdcuLPppt5E1dQM8wvnudErYLf2qq6BFx6zXd6Yb2oUA6afy3epE99RKxJTDLEF5PDGkiakz1cCsxQz7d",
        "signer_pubkey_b58": "F9KjruGNU9f9tr5RXiBZfENeD6f8qAMUX5LQDEt9qdn1"
      },
      "job_id": "9674ccc2-e340-4531-8bd5-4707e1a1a43d",
      "output": [
        {
          "text": "```html\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Meeting Cost Calculator</title>\n    <style>\n        body {\n            background-color: #1a1a1a;\n            color: white;\n            font-family: Arial, sans-serif;\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            min-height: 100vh;\n            margin: 0;\n        }\n        .container {\n            background-color: #2a2a2a;\n            padding: 30px;\n            border-radius: 10px;\n            width: 300px;\n        }\n        h1 {\n            text-align: center;\n            font-size: 24px;\n            margin: 0 0 20px 0;\n        }\n        .input-group {\n            margin-bottom: 15px;\n        }\n        label {\n            display: block;\n            font-size: 14px;\n            margin-bottom: 5px;\n        }\n        input[type=\"number\"] {\n            width: 100%;\n            padding: 8px;\n            box-sizing: border-box;\n            background-color: #3a3a3a;\n            color: white;\n            border: 1px solid #555;\n            border-radius: 5px;\n        }\n        .display {\n            background-color: #1a1a1a;\n            padding: 15px;\n            border-radius: 5px;\n            margin-bottom: 20px;\n            text-align: center;\n        }\n        .display-label {\n            font-size: 12px;\n            color: #aaa;\n            margin-bottom: 5px;\n        }\n        .display-value {\n            font-size: 48px;\n            font-weight: bold;\n            color: white;\n        }\n        .button-group {\n            display: flex;\n            gap: 10px;\n            margin-bottom: 10px;\n        }\n        button {\n            flex: 1;\n            padding: 10px;\n            background-color: #7c3aed;\n            color: white;\n            border: none;\n            border-radius: 5px;\n            cursor: pointer;\n            font-size: 14px;\n            font-weight: bold;\n        }\n        button:hover {\n            background-color: #6d28d9;\n        }\n        button:active {\n            background-color: #5b21b6;\n        }\n    </style>\n</head>\n<body>\n    <div class=\"container\">\n        <h1>Meeting Cost</h1>\n        \n        <div class=\"input-group\">\n            <label for=\"people\">People:</label>\n            <input type=\"number\" id=\"people\" value=\"6\" min=\"1\">\n        </div>\n        \n        <div class=\"input-group\">\n            <label for=\"rate\">Hourly Rate ($):</label>\n            <input type=\"number\" id=\"rate\" value=\"100\" min=\"0\">\n        </div>\n        \n        <div class=\"display\">\n            <div class=\"display-label\">Elapsed Time</div>\n            <div class=\"display-value\" id=\"timeDisplay\">0:00:00</div>\n        </div>\n        \n        <div class=\"display\">\n            <div class=\"display-label\">Total Cost</div>\n            <div class=\"display-value\" id=\"costDisplay\">$0.00</div>\n        </div>\n        \n        <div class=\"button-group\">\n            <button id=\"startBtn\" onclick=\"startTimer()\">Start</button>\n            <button id=\"pauseBtn\" onclick=\"pauseTimer()\" disabled>Pause</button>\n        </div>\n        \n        <button onclick=\"resetTimer()\" style=\"width: 100%;\">Reset</button>\n    </div>\n\n    <script>\n        let seconds = 0;\n        let timerInterval = null;\n        let isRunning = false;\n\n        function updateDisplay() {\n            const people = parseInt(document.getElementById('people').value) || 0;\n            const rate = parseFloat(document.getElementById('rate').value) || 0;\n            \n            const hours = seconds / 3600;\n            const cost = hours * people * rate;\n            \n            const h = Math.floor(seconds / 3600);\n            const m = Math.floor((seconds % 3600) / 60);\n            const s = seconds % 60;\n            \n            document.getElementById('timeDisplay').textContent = \n                `${h}:${String(m).padStart(2, '0')}:${String(s).padStart(2, '0')}`;\n            document.getElementById('costDisplay').textContent = `$${cost.toFixed(2)}`;\n        }\n\n        function startTimer() {\n            if (!isRunning) {\n                isRunning = true;\n                document.getElementById('startBtn').disabled = true;\n                document.getElementById('pauseBtn').disabled = false;\n                timerInterval = setInterval(() => {\n                    seconds++;\n                    updateDisplay();\n                }, 1000);\n            }\n        }\n\n        function pauseTimer() {\n            isRunning = false;\n            clearInterval(timerInterval);\n            document.getElementById('startBtn').disabled = false;\n            document.getElementById('pauseBtn').disabled = true;\n        }\n\n        function resetTimer() {\n            isRunning = false;\n            clearInterval(timerInterval);\n            seconds = 0;\n            document.getElementById('startBtn').disabled = false;\n            document.getElementById('pauseBtn').disabled = true;\n            updateDisplay();\n        }\n\n        document.getElementById('people').addEventListener('change', updateDisplay);\n        document.getElementById('rate').addEventListener('change', updateDisplay);\n        \n        updateDisplay();\n    </script>\n</body>\n</html>\n```",
          "type": "text"
        },
        {
          "type": "json",
          "value": {
            "model_mapping": "usepod-openrouter-haiku-4.5-v1",
            "provider_pin": "openrouter",
            "provider_reported": "openrouter",
            "reported_model": "anthropic/claude-haiku-4.5",
            "requested_model": "claude-haiku-4.5",
            "route_reported": "centralized",
            "type": "provider_identity",
            "upstream": "usepod",
            "upstream_requested_model": "anthropic/claude-haiku-4.5",
            "upstream_response_sha256": "97703846fd4af9f5a5af57ff1f073e5fd054c5f4ceb02f20b8e8429d15370783",
            "version": 1
          }
        }
      ],
      "output_json": "[{\"type\":\"text\",\"text\":\"```html\\n<!DOCTYPE html>\\n<html lang=\\\"en\\\">\\n<head>\\n    <meta charset=\\\"UTF-8\\\">\\n    <meta name=\\\"viewport\\\" content=\\\"width=device-width, initial-scale=1.0\\\">\\n    <title>Meeting Cost Calculator</title>\\n    <style>\\n        body {\\n            background-color: #1a1a1a;\\n            color: white;\\n            font-family: Arial, sans-serif;\\n            display: flex;\\n            justify-content: center;\\n            align-items: center;\\n            min-height: 100vh;\\n            margin: 0;\\n        }\\n        .container {\\n            background-color: #2a2a2a;\\n            padding: 30px;\\n            border-radius: 10px;\\n            width: 300px;\\n        }\\n        h1 {\\n            text-align: center;\\n            font-size: 24px;\\n            margin: 0 0 20px 0;\\n        }\\n        .input-group {\\n            margin-bottom: 15px;\\n        }\\n        label {\\n            display: block;\\n            font-size: 14px;\\n            margin-bottom: 5px;\\n        }\\n        input[type=\\\"number\\\"] {\\n            width: 100%;\\n            padding: 8px;\\n            box-sizing: border-box;\\n            background-color: #3a3a3a;\\n            color: white;\\n            border: 1px solid #555;\\n            border-radius: 5px;\\n        }\\n        .display {\\n            background-color: #1a1a1a;\\n            padding: 15px;\\n            border-radius: 5px;\\n            margin-bottom: 20px;\\n            text-align: center;\\n        }\\n        .display-label {\\n            font-size: 12px;\\n            color: #aaa;\\n            margin-bottom: 5px;\\n        }\\n        .display-value {\\n            font-size: 48px;\\n            font-weight: bold;\\n            color: white;\\n        }\\n        .button-group {\\n            display: flex;\\n            gap: 10px;\\n            margin-bottom: 10px;\\n        }\\n        button {\\n            flex: 1;\\n            padding: 10px;\\n            background-color: #7c3aed;\\n            color: white;\\n            border: none;\\n            border-radius: 5px;\\n            cursor: pointer;\\n            font-size: 14px;\\n            font-weight: bold;\\n        }\\n        button:hover {\\n            background-color: #6d28d9;\\n        }\\n        button:active {\\n            background-color: #5b21b6;\\n        }\\n    </style>\\n</head>\\n<body>\\n    <div class=\\\"container\\\">\\n        <h1>Meeting Cost</h1>\\n        \\n        <div class=\\\"input-group\\\">\\n            <label for=\\\"people\\\">People:</label>\\n            <input type=\\\"number\\\" id=\\\"people\\\" value=\\\"6\\\" min=\\\"1\\\">\\n        </div>\\n        \\n        <div class=\\\"input-group\\\">\\n            <label for=\\\"rate\\\">Hourly Rate ($):</label>\\n            <input type=\\\"number\\\" id=\\\"rate\\\" value=\\\"100\\\" min=\\\"0\\\">\\n        </div>\\n        \\n        <div class=\\\"display\\\">\\n            <div class=\\\"display-label\\\">Elapsed Time</div>\\n            <div class=\\\"display-value\\\" id=\\\"timeDisplay\\\">0:00:00</div>\\n        </div>\\n        \\n        <div class=\\\"display\\\">\\n            <div class=\\\"display-label\\\">Total Cost</div>\\n            <div class=\\\"display-value\\\" id=\\\"costDisplay\\\">$0.00</div>\\n        </div>\\n        \\n        <div class=\\\"button-group\\\">\\n            <button id=\\\"startBtn\\\" onclick=\\\"startTimer()\\\">Start</button>\\n            <button id=\\\"pauseBtn\\\" onclick=\\\"pauseTimer()\\\" disabled>Pause</button>\\n        </div>\\n        \\n        <button onclick=\\\"resetTimer()\\\" style=\\\"width: 100%;\\\">Reset</button>\\n    </div>\\n\\n    <script>\\n        let seconds = 0;\\n        let timerInterval = null;\\n        let isRunning = false;\\n\\n        function updateDisplay() {\\n            const people = parseInt(document.getElementById('people').value) || 0;\\n            const rate = parseFloat(document.getElementById('rate').value) || 0;\\n            \\n            const hours = seconds / 3600;\\n            const cost = hours * people * rate;\\n            \\n            const h = Math.floor(seconds / 3600);\\n            const m = Math.floor((seconds % 3600) / 60);\\n            const s = seconds % 60;\\n            \\n            document.getElementById('timeDisplay').textContent = \\n                `${h}:${String(m).padStart(2, '0')}:${String(s).padStart(2, '0')}`;\\n            document.getElementById('costDisplay').textContent = `$${cost.toFixed(2)}`;\\n        }\\n\\n        function startTimer() {\\n            if (!isRunning) {\\n                isRunning = true;\\n                document.getElementById('startBtn').disabled = true;\\n                document.getElementById('pauseBtn').disabled = false;\\n                timerInterval = setInterval(() => {\\n                    seconds++;\\n                    updateDisplay();\\n                }, 1000);\\n            }\\n        }\\n\\n        function pauseTimer() {\\n            isRunning = false;\\n            clearInterval(timerInterval);\\n            document.getElementById('startBtn').disabled = false;\\n            document.getElementById('pauseBtn').disabled = true;\\n        }\\n\\n        function resetTimer() {\\n            isRunning = false;\\n            clearInterval(timerInterval);\\n            seconds = 0;\\n            document.getElementById('startBtn').disabled = false;\\n            document.getElementById('pauseBtn').disabled = true;\\n            updateDisplay();\\n        }\\n\\n        document.getElementById('people').addEventListener('change', updateDisplay);\\n        document.getElementById('rate').addEventListener('change', updateDisplay);\\n        \\n        updateDisplay();\\n    </script>\\n</body>\\n</html>\\n```\"},{\"type\":\"json\",\"value\":{\"model_mapping\":\"usepod-openrouter-haiku-4.5-v1\",\"provider_pin\":\"openrouter\",\"provider_reported\":\"openrouter\",\"reported_model\":\"anthropic/claude-haiku-4.5\",\"requested_model\":\"claude-haiku-4.5\",\"route_reported\":\"centralized\",\"type\":\"provider_identity\",\"upstream\":\"usepod\",\"upstream_requested_model\":\"anthropic/claude-haiku-4.5\",\"upstream_response_sha256\":\"97703846fd4af9f5a5af57ff1f073e5fd054c5f4ceb02f20b8e8429d15370783\",\"version\":1}}]",
      "quote_id": "765dd8ae-6e4d-4081-9b98-22c63f1f26b2",
      "receipt": {
        "receipt": {
          "executed_at_ms": 1792286033402,
          "job_hash_hex": "c14c09fa12f6a06be0670f284df7ba1852ba33c87e1fe3b44c8d017b595a4a25",
          "job_id": "9674ccc2-e340-4531-8bd5-4707e1a1a43d",
          "meter": {
            "finish_reason": "stop",
            "gpu_seconds": null,
            "tokens_in": 126,
            "tokens_out": 1473,
            "wall_ms": 7322
          },
          "node_audit_root_hex": "c82dd92cb794df8439b81370d530e97076bd2985ed201623bcd81d3b35c804c3",
          "operator": {
            "display": "operator@compute",
            "pubkey": "9fefASd52qfR2Q8P81yXtkHu9E4q9KvW58x2ixBAAvLR"
          },
          "price_micro_usdc": 30000,
          "result_hash_hex": "a162fc36d788ecef186100d673618a1870951e0d1ec18df511aafe7c05c56b39",
          "status": "ok"
        },
        "receipt_json": "{\"job_id\":\"9674ccc2-e340-4531-8bd5-4707e1a1a43d\",\"operator\":{\"display\":\"operator@compute\",\"pubkey\":\"9fefASd52qfR2Q8P81yXtkHu9E4q9KvW58x2ixBAAvLR\"},\"job_hash_hex\":\"c14c09fa12f6a06be0670f284df7ba1852ba33c87e1fe3b44c8d017b595a4a25\",\"result_hash_hex\":\"a162fc36d788ecef186100d673618a1870951e0d1ec18df511aafe7c05c56b39\",\"meter\":{\"wall_ms\":7322,\"tokens_in\":126,\"tokens_out\":1473,\"gpu_seconds\":null,\"finish_reason\":\"stop\"},\"price_micro_usdc\":30000,\"status\":\"ok\",\"executed_at_ms\":1792286033402,\"node_audit_root_hex\":\"c82dd92cb794df8439b81370d530e97076bd2985ed201623bcd81d3b35c804c3\"}",
        "signature_b58": "HZjGk9HJuTH11ADmHjhVdQoK6pN68Bk6eeHQEGfestRTd8yH4L3HXDSCd9FSbXdSBnNfRa3znodh8i6kFWjzgT8",
        "signer_pubkey_b58": "9fefASd52qfR2Q8P81yXtkHu9E4q9KvW58x2ixBAAvLR"
      },
      "request_sha256": "a1d427f12556a6b203d4af9666a8f4f986108e9f11a69c4fafc2bda90d187162"
    },
    "created": 1792286033,
    "id": "chatcmpl-9674ccc2-e340-4531-8bd5-4707e1a1a43d",
    "model": "claude-haiku-4.5",
    "object": "chat.completion"
  }
}
