← The evidence ledger
Evidence row 2199980
Observed , by sync.x402_bazaar/1.
- Kind
- listing
- About
- source_record x402_bazaar:https://api.aiskills402.com/v1/skills/redirect-map/file
- Recorded
- Previous row
- #64931
- Body SHA-256
- f396aab3d369eab2db6beac006d0bc3e97c6695819c6f3beffc3b76afa3c5f47
- Leaf
- 0xcd856a0ac6bcaa4bf81577b441426a8fcee2a84e2f86e76ee5612e4c9227ffce
What was observed
{
"endpoints": [
[
"x402",
"https://api.aiskills402.com/v1/skills/redirect-map/file"
]
],
"name": "Redirect Map Builder",
"owner_address": "0xbc0dcc70d8b5d85541d86ffc68d988fd59c22e68",
"raw": {
"accepts": [
{
"amount": "10000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 60,
"network": "eip155:8453",
"payTo": "0xbc0dcc70d8b5d85541d86ffc68d988fd59c22e68",
"scheme": "exact"
}
],
"description": "Redirect Map Builder — Turns an old-URL list and the mappings you have into a redirect map as JSON - one rule per old URL, chains collapsed to the final target, loops reported and never emitted, queries and percent-encoding kept as written, and old URLs with no named target listed as unmapped instead of guessed. Also writes the same map as a Cloudflare Pages style _redirects file. Knows the status codes (301 for a moved page, 308 where the method must be kept and what Next.js really sends for p…",
"extensions": {
"bazaar": {
"info": {
"input": {
"method": "GET",
"type": "http"
},
"output": {
"example": {
"file": {
"content": "<the SKILL.md file>",
"encoding": "utf-8",
"name": "SKILL.md"
},
"name": "Redirect Map Builder",
"ok": true,
"receipt": {
"settled": true,
"tx": "0x<settlement transaction>"
},
"redownload": {
"token": "<64 hex chars>",
"url": "<api>/v1/purchases/<token>"
},
"sha256": "<sha256 of SKILL.md>",
"skill": "redirect-map",
"version": "1.0.0"
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"headers": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"method": {
"enum": [
"GET",
"HEAD"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
},
"lastUpdated": "2026-11-02T17:23:44.027Z",
"quality": {
"l30DaysTotalCalls": 3,
"l30DaysUniquePayers": 2,
"lastCalledAt": "2026-11-02T17:23:43.763Z"
},
"resource": "https://api.aiskills402.com/v1/skills/redirect-map/file",
"serviceName": "Redirect Map Builder",
"tags": [
"agent-skill",
"redirect-map",
"redirects",
"301",
"site-migration"
],
"type": "http",
"x402Version": 2
},
"source": "x402_bazaar",
"summary": "Redirect Map Builder — Turns an old-URL list and the mappings you have into a redirect map as JSON - one rule per old URL, chains collapsed to the final target, loops reported and never emitted, queries and percent-encoding kept as written, and old URLs with no named target listed as unmapped instead of guessed. Also writes the same map as a Cloudflare Pages style _redirects file. Knows the status codes (301 for a moved page, 308 where the method must be kept and what Next.js really sends for p…"
}What the leaf hashes
{"body":"f396aab3d369eab2db6beac006d0bc3e97c6695819c6f3beffc3b76afa3c5f47","id":2199980,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793646794461435,"prev":64931,"subject":"x402_bazaar:https://api.aiskills402.com/v1/skills/redirect-map/file","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).
- 0xcd856b412156e93d215a4a55a34c0f146e6d268f9d00d30c7493067ce0243608
- 0x3eb2dd173af02b8de527d53b34d87167041a2306ea887e14e3879a8c136c7a58
- 0x4c34886cf3daa56b6a1ada88ec93920ef7ff34c3a5b6025e014c5077de721099
- 0xd5ccf44e66cc9ab6e4bd242a387a3093c53ba7ba42607b780a4d11a57d0147ae
- 0xc76a2ab60fb2e2f097bd7352e691e8eb43e4cc528fa465179e19b2548d580fb0
- 0x17330ffcdf74df8b6d8772dfcbd9b2c9416e3aca0ddf02d0b15e83d8757ab4b6
- 0x21a217933e460e3937bf5fb943728883081910261e30d3c59433fd1df5c2312c
- 0x36062f6ecfeda11322bf5a448620aea0333521035904f4acd73cf02a00c54291
- 0xedde6f7c96b2f856117026a7ba108ce1b4c51bac476a0274232154024f765ca1
- 0x90df0eebf8e66b938b2b6ed18621f59e5fcb70d32c148dda7979308db9b1a4ef
- 0xd8e3c88324680ae9d8841bfb8c55c2bf9a5a4a3c00510f5fb3ce300851bed228
- 0x969f4546563433b0611a9a02f9a7162415f103e19bd4d34888902c84514912a4
- 0x072f2f6577fd7448e35dd54b73d821e24c8d625a3295181aa05e7da8bcdbf170
- 0x4f21464039902a4044b17c93873adb5a93eecc8e977b4e039acb8cd5f4210b4b
- 0x5b456020389d8e0ef67f16a492c600b5b88189e59398bba308734db7e873e7e4
- 0x37d31d28d0bd3743650d57e9fbf999efa4592cac831267f83aa125335b35a16b
- 0xdb8bd933619a267f9790faac9839143d202be46af284371cc369cdf683f897ba
- 0x98cbbf2c68ab4c0b4db782aeb88bea1f30b02178cf8b5d3d24a931d19492ea6d
- 0x252cce55f1a3d5391c16f82d7f62494429a5f69b03486d4cfcfb7b2c96d6c884
- Day root
- 0x78fecaabbe319e56f5c4b80fc02e2052e198ad24781da8832a475ff65f2002d1
- Chained
- 0xdc35957db5d1371ca382b9152878ffece28ec7c5cb4f98fd71ddb367f8b999b2
- Published
- On Arc Testnet, block 70432815: 0x56b814612eb2e3e544153df3e91e1f7199106d1e430c7d8c6b653feeb9ebe9af