addrbookFor publishers
← The evidence ledger

Evidence row 2202190

Observed , by sync.x402_bazaar/1.

Kind
listing
About
source_record x402_bazaar:https://work-time-calc.x402tookit.com/timesheet
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
e1bbb1d75a0d6972e11683b8b28577cd4395f41c351773aa56e248935ea651b9
Leaf
0x8be9082400e9a71ecf0d5ac74e7aa47ae61fefb719c34b58fbfc66e6d3644b9a

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://work-time-calc.x402tookit.com/timesheet"
    ]
  ],
  "name": "Work Time Calc",
  "owner_address": "0xb531320805c5bed1d46aeadcf4f008fdf172dbda",
  "raw": {
    "accepts": [
      {
        "amount": "20000",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "maxTimeoutSeconds": 300,
        "network": "eip155:8453",
        "payTo": "0xb531320805C5BED1D46AEaDcF4F008FDF172DBDa",
        "scheme": "exact"
      },
      {
        "amount": "20000",
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "feePayer": "D6ZhtNQ5nT9ZnTHUbqXZsTx5MH2rPFiBBggX4hY1WePM",
          "transactionVersions": [
            0
          ]
        },
        "maxTimeoutSeconds": 300,
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "payTo": "DUPiupXtuox38dcGoXUKer5mAydCzmaHjrbQ66qeEm8s",
        "scheme": "exact"
      },
      {
        "amount": "20000",
        "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "maxTimeoutSeconds": 300,
        "network": "eip155:137",
        "payTo": "0xb531320805C5BED1D46AEaDcF4F008FDF172DBDa",
        "scheme": "exact"
      },
      {
        "amount": "20000",
        "asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "maxTimeoutSeconds": 300,
        "network": "eip155:42161",
        "payTo": "0xb531320805C5BED1D46AEaDcF4F008FDF172DBDa",
        "scheme": "exact"
      }
    ],
    "description": "Total hours from clock-in/out pairs with unpaid break deduction, optional rounding, per-day totals and overlap flags.",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "method": "GET",
            "queryParams": {
              "breakMinutes": 30,
              "entries": "2026-03-02T09:00/2026-03-02T17:30;2026-03-03T08:45/2026-03-03T17:00",
              "roundMinutes": 15,
              "roundMode": "nearest"
            },
            "type": "http"
          },
          "output": {
            "example": {
              "asOf": "2026-10-11T23:39:15.041Z",
              "byDay": {
                "2026-03-02": 8,
                "2026-03-03": 7.75
              },
              "clock": "15:45",
              "degraded": false,
              "disclaimer": "Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting.",
              "entries": [
                {
                  "grossMinutes": 510,
                  "in": "2026-03-02T09:00",
                  "out": "2026-03-02T17:30",
                  "paidMinutes": 480
                },
                {
                  "grossMinutes": 495,
                  "in": "2026-03-03T08:45",
                  "out": "2026-03-03T17:00",
                  "paidMinutes": 465
                }
              ],
              "entryCount": 2,
              "notChecked": [
                "daylight saving changes (timestamps are local wall-clock time, every day is 24 hours)",
                "whether the break and rounding rules match your policy or law",
                "…1 more"
              ],
              "reasons": [
                "Each entry's unpaid 30-minute break is deducted, then paid time is rounded nearest to 15 minutes.",
                "Days are keyed by the clock-in date, so overnight shifts count toward the day they began."
              ],
              "source": "interval arithmetic computed locally",
              "summary": "2 entries total 15.75 paid hours (15:45).",
              "totalPaidHours": 15.75,
              "totalPaidMinutes": 945,
              "verdict": "COMPUTED",
              "warnings": []
            },
            "type": "json"
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "additionalProperties": false,
              "properties": {
                "method": {
                  "enum": [
                    "GET"
                  ],
                  "type": "string"
                },
                "queryParams": {
                  "properties": {
                    "breakMinutes": {
                      "description": "Unpaid minutes deducted from every entry (default 0)",
                      "type": "integer"
                    },
                    "entries": {
                      "description": "Semicolon-separated in/out pairs, e.g. 2026-03-02T09:00/2026-03-02T17:30;2026-03-03T08:45/2026-03-03T17:00 (up to 200)",
                      "type": "string"
                    },
                    "roundMinutes": {
                      "description": "Round each entry's paid time to a multiple of this many minutes: 1, 5, 6, 10, 15, 30 or 60 (default 0 = exact)",
                      "type": "integer"
                    },
                    "roundMode": {
                      "description": "nearest (default, halves round up), up or down",
                      "type": "string"
                    }
                  },
                  "required": [
                    "entries"
                  ],
                  "type": "object"
                },
                "type": {
                  "const": "http",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "method"
              ],
              "type": "object"
            },
            "output": {
              "properties": {
                "example": {
                  "properties": {
                    "asOf": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "byDay": {
                      "properties": {
                        "2026-03-02": {
                          "type": [
                            "null",
                            "number"
                          ]
                        },
                        "2026-03-03": {
                          "type": [
                            "null",
                            "number"
                          ]
                        }
                      },
                      "type": [
                        "null",
                        "object"
                      ]
                    },
                    "clock": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "degraded": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "disclaimer": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "entries": {
                      "items": {
                        "properties": {
                          "grossMinutes": {
                            "type": [
                              "null",
                              "number"
                            ]
                          },
                          "in": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "out": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "paidMinutes": {
                            "type": [
                              "null",
                              "number"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "entryCount": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "notChecked": {
                      "items": {
                        "type": "string"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "reasons": {
                      "items": {
                        "type": "string"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "source": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "summary": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "totalPaidHours": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "totalPaidMinutes": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "verdict": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "warnings": {
                      "type": [
                        "array",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "type": {
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            }
          },
          "required": [
            "input"
          ],
          "type": "object"
        }
      }
    },
    "lastUpdated": "2026-11-01T22:38:45.055Z",
    "quality": {
      "l30DaysTotalCalls": 2,
      "l30DaysUniquePayers": 1,
      "lastCalledAt": "2026-11-01T22:38:44.819Z"
    },
    "resource": "https://work-time-calc.x402tookit.com/timesheet",
    "serviceName": "Work Time Calc",
    "tags": [
      "timesheet",
      "hours",
      "clock-in",
      "payroll"
    ],
    "type": "http",
    "x402Version": 2
  },
  "source": "x402_bazaar",
  "summary": "Total hours from clock-in/out pairs with unpaid break deduction, optional rounding, per-day totals and overlap flags."
}

What the leaf hashes

{"body":"e1bbb1d75a0d6972e11683b8b28577cd4395f41c351773aa56e248935ea651b9","id":2202190,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793646813688026,"prev":null,"subject":"x402_bazaar:https://work-time-calc.x402tookit.com/timesheet","subject_kind":"source_record"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (444186 rows).

  1. 0x8be8e12ec0f4bda12d1835d5205e99ac1b6da8e52ecdf9c94e3373fbfe4d41fd
  2. 0x420d0d654568e2c11c42d2b31d36519f542213efc7c38b04ee070d12eef6aefb
  3. 0x9429e3c776ac535362467874ec583f10dfc29b9e4f3ccd0b55cf857487893075
  4. 0xdd333c6ef923d7b5416f0fc43c8e0b0a2621c2336c567221f9ec51b3871fad40
  5. 0x931aebe55f18bc19e662805e5310043df0876a6b57f2e5857d2dbac8f99185a2
  6. 0xf531bba5c1a7647b1e541ed2610e247d2740ea360174be692ed432cb0c0e7bc2
  7. 0x39838ff8252252ac85dbb6d5ed55c6e51c07bd4066731d35bf1f5dc930a99d79
  8. 0xd6723300e924637d7a5f8360caaf9e093ef224ae89a20465b11c6083ad8375df
  9. 0xe631cb788a1fa9bf6157d6d95c5e6eec61df54136f5d7c6cf826663bddadfa71
  10. 0x6fb06b95a0ff86be4b796a22cc74f35192f8da377d03255b7bd54618b9064520
  11. 0xdedcc59313093f94e354f9f5eae92504749db7bc2b630e7f57de8dcba9fb5081
  12. 0xeb929035f29f206d033b8132e6680865043bb8a18b5a9d2ddcc88589b82478a5
  13. 0x749638e83897749b17c0b5a0587a19541d9c0e6d95590918e98f786991029466
  14. 0xf38c9617f655dc8f7c8fa11461cb30752d581a6bbb15051130839452c80c4270
  15. 0x510fa2c647d18bb802da12cf41e17d136163e6624e69ed77e15235c4284b69c7
  16. 0x5e23ec5954c11a4530aab8c635a72b12bcfeb6fcb03c6cb1a990cc1743424543
  17. 0x1805ef693fbdb2c23fcb61616f830408ca89bec1dc5b68ee47a770ffc0b9760a
  18. 0x4d205063c881c48edbbb37762a8d3bbb7444d4c42daa882f663a231893d25c35
  19. 0x365b161a4b68d750dcc4b3ecce1154a2163c87b08762079428e68f0ebb6a754e
Day root
0x78fecaabbe319e56f5c4b80fc02e2052e198ad24781da8832a475ff65f2002d1
Chained
0xdc35957db5d1371ca382b9152878ffece28ec7c5cb4f98fd71ddb367f8b999b2
Published
On Arc Testnet, block 70432815: 0x56b814612eb2e3e544153df3e91e1f7199106d1e430c7d8c6b653feeb9ebe9af

How to check it · This row as JSON