addrbookFor publishers
← The evidence ledger

Evidence row 1261794

Observed , by sync.x402_bazaar/1.

Kind
listing
About
source_record x402_bazaar:https://rengi.dev/v1/playtest/run
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
5f585d94c7b59e783471962a11e005a729df3e95fa22053dcb7bacf8ff6af55f
Leaf
0x629bd2fa9afeb7f794eedbb9fb14f5b35f0956cebcac3dba95c0f3754a3e1bab

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://rengi.dev/v1/playtest/run"
    ]
  ],
  "name": "Rengi Forge",
  "owner_address": "0x301d463c666ccb40801e11e78bc6538e671018d7",
  "raw": {
    "accepts": [
      {
        "amount": "250000",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "maxTimeoutSeconds": 200,
        "network": "eip155:8453",
        "payTo": "0x301D463c666cCb40801e11e78bc6538e671018D7",
        "scheme": "exact"
      },
      {
        "amount": "250000",
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "feePayer": "Hc3sdEAsCGQcpgfivywog9uwtk8gUBUZgsxdME1EJy88"
        },
        "maxTimeoutSeconds": 200,
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "payTo": "2nJv7581dGAQzKMyDwqM5DAjx57jyZozGyjNH5Qafkpg",
        "scheme": "exact"
      }
    ],
    "description": "Playtest: Play a web game (URL or ZIP build) as on a PC and as on a weak phone: errors, missing files, black or frozen screen, load time, draw calls, textures, shader stalls, memory leaks, build weight, video and screenshots. Full schema: https://rengi.dev/v1/playtest/schema",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "seconds": 30,
              "steps": [
                {
                  "do": "wait",
                  "ms": 1500
                },
                {
                  "do": "key",
                  "holdMs": 100,
                  "key": "Enter"
                },
                {
                  "do": "key",
                  "holdMs": 1200,
                  "key": "ArrowRight"
                }
              ],
              "zipUrl": "https://rengi.dev/samples/playtest-demo.zip"
            },
            "bodyType": "json",
            "method": "POST",
            "type": "http"
          },
          "output": {
            "example": {
              "contactSheet": "https://rengi.dev/files/<id>/contact-sheet.jpg",
              "findings": [
                {
                  "code": "js_error",
                  "evidence": "3x TypeError: Cannot read properties of undefined (reading 'hp')",
                  "message": "3 uncaught JavaScript error(s).",
                  "profile": "both",
                  "severity": "error"
                },
                {
                  "code": "missing_files",
                  "evidence": "/assets/sfx/jump.ogg",
                  "message": "1 file(s) not found (404).",
                  "profile": "both",
                  "severity": "error"
                },
                {
                  "code": "memory_growth",
                  "message": "JS memory kept growing: 38 MB to 71 MB, about 66 MB per minute. Likely a leak (objects created every frame and kept).",
                  "profile": "desktop",
                  "severity": "warning"
                },
                {
                  "code": "huge_texture",
                  "message": "A 4096x4096 texture (about 64 MB of GPU memory). Phones often cap at 4096 and run out of memory; use 2048 or compressed textures (KTX2).",
                  "profile": "both",
                  "severity": "warning"
                }
              ],
              "profiles": {
                "desktop": {
                  "blockedRequests": 0,
                  "consoleErrors": [],
                  "cpuSlowdown": 1,
                  "errors": [
                    {
                      "count": 3,
                      "message": "TypeError: Cannot read properties of undefined (reading 'hp')"
                    }
                  ],
                  "failedRequests": [
                    {
                      "status": 404,
                      "url": "/assets/sfx/jump.ogg"
                    }
                  ],
                  "frames": {
                    "count": 1620,
                    "hitches": 9,
                    "p50Ms": 16.7,
                    "p95Ms": 33.4,
                    "p99Ms": 50.1,
                    "softwareFps": 54,
                    "worstMs": 212
                  },
                  "load": {
                    "domContentLoadedMs": 410,
                    "firstDrawMs": 1420,
                    "loadMs": 1180
                  },
                  "longTasks": {
                    "count": 4,
                    "worstMs": 380
                  },
                  "memory": {
                    "endMb": 71,
                    "slopeMbPerMin": 66,
                    "startMb": 38
                  },
                  "network": {
                    "biggest": [
                      {
                        "mb": 8.7,
                        "url": "/Build/game.wasm"
                      }
                    ],
                    "byTypeMb": {
                      "fetch": 3.1,
                      "image": 6.2,
                      "script": 9.1
                    },
                    "requests": 61,
                    "totalMb": 18.4
                  },
                  "screen": {
                    "black": false,
                    "crashed": false,
                    "frozen": false
                  },
                  "screenshots": [
                    "https://rengi.dev/files/<id>/desktop/shot-01.jpg"
                  ],
                  "video": "https://rengi.dev/files/<id>/desktop/desktop.mp4",
                  "viewport": {
                    "height": 720,
                    "width": 1280
                  },
                  "webgl": {
                    "biggestTexture": "4096x4096",
                    "contextLost": false,
                    "contexts": 1,
                    "drawCallsMax": 188,
                    "drawCallsMedian": 142,
                    "programs": 24,
                    "slowestLinkMs": 240,
                    "textureMemoryMb": 212,
                    "textures": 38,
                    "trianglesMax": 131000,
                    "trianglesMedian": 96000
                  }
                }
              },
              "report": "https://rengi.dev/files/<id>/report.json",
              "softwareRender": true,
              "zip": "https://rengi.dev/files/<id>/playtest.zip"
            },
            "type": "json"
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "additionalProperties": false,
              "properties": {
                "body": {
                  "additionalProperties": false,
                  "properties": {
                    "monkey": {
                      "default": true,
                      "description": "After the steps, press random keys, clicks and taps until the pass ends.",
                      "type": "boolean"
                    },
                    "profiles": {
                      "default": [
                        "desktop",
                        "phone"
                      ],
                      "description": "desktop: 1280x720; phone: 390x844 touch screen with the CPU slowed 4x.",
                      "items": {
                        "enum": [
                          "desktop",
                          "phone"
                        ],
                        "type": "string"
                      },
                      "maxItems": 2,
                      "minItems": 1,
                      "type": "array"
                    },
                    "seconds": {
                      "default": 30,
                      "description": "Play time per profile, not counting loading.",
                      "maximum": 45,
                      "minimum": 10,
                      "type": "integer"
                    },
                    "seed": {
                      "default": 1,
                      "description": "Random input seed, to repeat a run.",
                      "maximum": 1000000,
                      "minimum": 0,
                      "type": "integer"
                    },
                    "steps": {
                      "default": [],
                      "description": "Optional scenario played first: wait, key, click, tap, type.",
                      "items": {
                        "anyOf": [
                          {
                            "additionalProperties": false,
                            "properties": {
                              "do": {
                                "const": "wait",
                                "type": "string"
                              },
                              "ms": {
                                "maximum": 20000,
                                "minimum": 0,
                                "type": "integer"
                              }
                            },
                            "required": [
                              "do",
                              "ms"
                            ],
                            "type": "object"
                          },
                          {
                            "additionalProperties": false,
                            "properties": {
                              "do": {
                                "const": "key",
                                "type": "string"
                              },
                              "holdMs": {
                                "default": 100,
                                "maximum": 5000,
                                "minimum": 10,
                                "type": "integer"
                              },
                              "key": {
                                "description": "A key name like ArrowRight, Space, Enter, w.",
                                "maxLength": 20,
                                "minLength": 1,
                                "type": "string"
                              }
                            },
                            "required": [
                              "do",
                              "key"
                            ],
                            "type": "object"
                          },
                          {
                            "additionalProperties": false,
                            "description": "x, y: fractions of the viewport (0.5, 0.5 is the middle).",
                            "properties": {
                              "do": {
                                "const": "click",
                                "type": "string"
                              },
                              "x": {
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "y": {
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              }
                            },
                            "required": [
                              "do",
                              "x",
                              "y"
                            ],
                            "type": "object"
                          },
                          {
                            "additionalProperties": false,
                            "properties": {
                              "do": {
                                "const": "tap",
                                "type": "string"
                              },
                              "x": {
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              },
                              "y": {
                                "maximum": 1,
                                "minimum": 0,
                                "type": "number"
                              }
                            },
                            "required": [
                              "do",
                              "x",
                              "y"
                            ],
                            "type": "object"
                          },
                          {
                            "additionalProperties": false,
                            "properties": {
                              "do": {
                                "const": "type",
                                "type": "string"
                              },
                              "text": {
                                "maxLength": 200,
                                "type": "string"
                              }
                            },
                            "required": [
                              "do",
                              "text"
                            ],
                            "type": "object"
                          }
                        ]
                      },
                      "maxItems": 40,
                      "type": "array"
                    },
                    "url": {
                      "description": "Public URL of the game page.",
                      "format": "uri",
                      "type": "string"
                    },
                    "zip": {
                      "description": "ZIP of a static web build as base64, up to about 35 MB (index.html at the root or one folder down; Unity WebGL builds work). Bigger builds: zipUrl, up to 50 MB.",
                      "type": "string"
                    },
                    "zipUrl": {
                      "format": "uri",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "bodyType": {
                  "enum": [
                    "json",
                    "form-data",
                    "text"
                  ],
                  "type": "string"
                },
                "method": {
                  "enum": [
                    "POST"
                  ],
                  "type": "string"
                },
                "type": {
                  "const": "http",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "type": "object"
            },
            "output": {
              "properties": {
                "example": {
                  "type": "object"
                },
                "type": {
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            }
          },
          "required": [
            "input"
          ],
          "type": "object"
        }
      }
    },
    "iconUrl": "https://res.cloudinary.com/bdb-prod/image/upload/c_fill,ar_1:1,w_256,h_256,f_auto,q_auto/v1792578203/bazaar-icons/e07082413c9331a9.png",
    "lastUpdated": "2026-10-30T12:36:59.645Z",
    "quality": {
      "l30DaysTotalCalls": 1,
      "l30DaysUniquePayers": 1,
      "lastCalledAt": "2026-10-30T12:36:59.406Z"
    },
    "resource": "https://rengi.dev/v1/playtest/run",
    "serviceName": "Rengi Forge",
    "tags": [
      "gamedev",
      "playtest"
    ],
    "type": "http",
    "x402Version": 2
  },
  "source": "x402_bazaar",
  "summary": "Playtest: Play a web game (URL or ZIP build) as on a PC and as on a weak phone: errors, missing files, black or frozen screen, load time, draw calls, textures, shader stalls, memory leaks, build weight, video and screenshots. Full schema: https://rengi.dev/v1/playtest/schema"
}

What the leaf hashes

{"body":"5f585d94c7b59e783471962a11e005a729df3e95fa22053dcb7bacf8ff6af55f","id":1261794,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793385516256591,"prev":null,"subject":"x402_bazaar:https://rengi.dev/v1/playtest/run","subject_kind":"source_record"}

Proof

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

  1. 0x629bde6a32b63777532952488f1b8e15f8ab287ca629503e561f8c226fa130fc
  2. 0xcacd05350549f8aba4d8b592c9762c0f35a0e8c4bed6bb8dc53c1653eec25793
  3. 0x0f8691ff255390393455443c3784c5ca4e8f05c95ed1f4c72f00b4408d105d71
  4. 0x1b1d354646a76a2aa6036f4341be3d114b30ed5cdd77ca44179af00208df2385
  5. 0x77b27864e333c1bdcef572a51857093344095401a4a227a8d98edc0311a542ee
  6. 0x75940f190235039bc3e63b30b1c13c0c870013a9138ae494f97283047d923135
  7. 0xb8e2dd09519d16f170b7d6893ac675ecca27e352f4ca402cbf008b6965e8833e
  8. 0xd92c468f8540b9132cff179fcd10a4eda8d4bc3ee08a9ac2a2e8e8a8f204b808
  9. 0x9199d27a6a8831863a626ca4323d90449e7bac3b3efa7f43c065ca238a2182b2
  10. 0x8d58c24fabb8b8fa18d113bc6cf976524eb17b3dfbc8c88f6f5a9d5a14a018ad
  11. 0x65b3dda37e2facc0b5eb9af427be7f4858de601ea00ddba2f8d70e3055d9bc95
  12. 0x1368151c9e1fe771283052c91b8ad44627f6dc996dc4b115835654d2d5e265c1
  13. 0x7ae0971906d125dd6b90b4b23f9b0f031568e95c77c8aba07223b5ef3ee3e226
  14. 0x863694f188c4b3bb5062c468823f130a2c1762c9b6bf2ce9a68fd27f465427d0
  15. 0x7ecc532de10b728de98de2eb2a81fbd8da2254ff32b38b6ffde14af9964fc470
  16. 0x910a91495535ac1a9e959d27d607e185616d2d41b45bc7071c6357f426f372d8
  17. 0xffe660edb9e5c6e3449a49454634c3e7b2f9fe703e5697f723b021735647ab7e
  18. 0x30a81d8fcef4e8f9e2877c62796cfc5612fc1b251127d531dee28f8dbd5c5147
Day root
0x0826c7ad6039e06a2360ca0a4a3a4fe7f2626c6dc19f71a37599386f78b39875
Chained
0x36b4c8a1063758f0b8765fa1bdf75fa92fb543cc183add3e261880ee2bd1f822
Published
On Arc Testnet, block 69923247: 0x8704744146c6967c8abc9e9a99de4db7283b29e840922ea83a69b6fe776e6861

How to check it · This row as JSON