← The evidence ledger
Evidence row 2201228
Observed , by sync.x402_bazaar/1.
- Kind
- listing
- About
- source_record x402_bazaar:https://puzzle-solvers.x402tookit.com/tower-of-hanoi
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- b1ea9821856a53cdaaf9c7276d9882e419ef359417334d059490d87c015b2720
- Leaf
- 0x0f23aa7fb497110b0a138697843035f2811b826053ee526c3b7a3e649cf534e3
What was observed
{
"endpoints": [
[
"x402",
"https://puzzle-solvers.x402tookit.com/tower-of-hanoi"
]
],
"name": "Puzzle Solvers",
"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": "Optimal Tower of Hanoi move list for up to 10 disks between pegs A, B and C, and the minimum move count 2^n - 1.",
"extensions": {
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"n": 3
},
"type": "http"
},
"output": {
"example": {
"asOf": "2026-10-21T01:31:34.004Z",
"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.",
"from": "A",
"minimumMoves": 7,
"moveCount": 7,
"moves": [
{
"disk": 1,
"from": "A",
"step": 1,
"to": "C"
},
{
"disk": 2,
"from": "A",
"step": 2,
"to": "B"
}
],
"n": 3,
"notChecked": [
"variants with four or more pegs (Frame-Stewart) or restricted moves",
"n above 10 (refused to bound the output)"
],
"reasons": [
"The recursive solution is optimal: moving n disks needs 2^n - 1 moves and no shorter sequence exists."
],
"source": "classic recursive solution, computed locally; minimum 2^n - 1 moves is the proven optimum",
"spare": "B",
"summary": "3 disks from A to C take the minimum 7 moves (2^3 - 1).",
"to": "C",
"verdict": "SOLVED"
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"from": {
"description": "Source peg A, B or C (default A)",
"type": "string"
},
"n": {
"description": "Number of disks, 1 to 10 (1,023 moves at 10); disk 1 is the smallest",
"type": "integer"
},
"to": {
"description": "Target peg A, B or C (default C); must differ from source",
"type": "string"
}
},
"required": [
"n"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"asOf": {
"type": [
"null",
"string"
]
},
"degraded": {
"type": [
"boolean",
"null"
]
},
"disclaimer": {
"type": [
"null",
"string"
]
},
"from": {
"type": [
"null",
"string"
]
},
"minimumMoves": {
"type": [
"null",
"number"
]
},
"moveCount": {
"type": [
"null",
"number"
]
},
"moves": {
"items": {
"properties": {
"disk": {
"type": [
"null",
"number"
]
},
"from": {
"type": [
"null",
"string"
]
},
"step": {
"type": [
"null",
"number"
]
},
"to": {
"type": [
"null",
"string"
]
}
},
"type": "object"
},
"type": [
"array",
"null"
]
},
"n": {
"type": [
"null",
"number"
]
},
"notChecked": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"reasons": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"source": {
"type": [
"null",
"string"
]
},
"spare": {
"type": [
"null",
"string"
]
},
"summary": {
"type": [
"null",
"string"
]
},
"to": {
"type": [
"null",
"string"
]
},
"verdict": {
"type": [
"null",
"string"
]
}
},
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
},
"lastUpdated": "2026-11-02T04:07:53.176Z",
"quality": {
"l30DaysTotalCalls": 2,
"l30DaysUniquePayers": 1,
"lastCalledAt": "2026-11-02T04:07:52.903Z"
},
"resource": "https://puzzle-solvers.x402tookit.com/tower-of-hanoi",
"serviceName": "Puzzle Solvers",
"tags": [
"hanoi",
"recursion",
"puzzle",
"algorithm"
],
"type": "http",
"x402Version": 2
},
"source": "x402_bazaar",
"summary": "Optimal Tower of Hanoi move list for up to 10 disks between pegs A, B and C, and the minimum move count 2^n - 1."
}What the leaf hashes
{"body":"b1ea9821856a53cdaaf9c7276d9882e419ef359417334d059490d87c015b2720","id":2201228,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793646801353620,"prev":null,"subject":"x402_bazaar:https://puzzle-solvers.x402tookit.com/tower-of-hanoi","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).
- 0x0f2322a966f152fccd11421aca7799c5049531849203ee91799127ff9b62a8cd
- 0xc72350ce3a6c77e0b6fd5358c889185eb027b9924ac1552230b880cb67b63a73
- 0x13b739d979c3ca0f83a4e780196779a153ca967dc1d1912a32c92c40a207a9f8
- 0xc1341d7e258ab395682a863fc6de04f8b2f86a6bf274cdd95b7d6440ffca3b3c
- 0x5a7c63cc4d84686076059709056d194669251578370322b5636084dfd51d4a8b
- 0x0ec517333fb34219f8272e98c26a0ec200ce6fd43807a5959ba3ea5d1c952238
- 0xe8f5760fa059b3a7f0f4c63981503413e2227a7616ff0ca404dfbfff70893afb
- 0xe4592cefc4806979210463e8154f3072291189a8fe911bb9a6045c5c903a0d11
- 0x552bf84acbd569aabc22e46756feada739295ca66c8c8a66104373882a580169
- 0xb2b218de3cc2d101173121a37a25c9c23c0d2f901b9d59111bc80e3a717dd6d0
- 0x6c256ce5e19cbbdef81f3419ce2ca99f44b8b3918958e1d6d0ecd1b042b3f566
- 0x1f774502ee7a3003241373a41b7ad9c63117bf4cc0d75ccaed5b0bf8d86cccad
- 0xaed8243a14c659d2324c6748095467bfaec6927f1294091015e04180dda07dd7
- 0x9914dfe331775bd1714304f757d2b6b43ba45167245d645ce50f54a3d8617c4d
- 0xd82979c12a2aae44121bb6058b3364b3a3cbc9be411e35ab0208df5ed56f65d4
- 0x7cb861d18f06406535ade133f716d897f27d257cf0121f99d94c78c713c4b54d
- 0x53a741b69e9e51c4a288a74712aa6ac3fb28c8923cd3e6461d161c4f2d48b31a
- 0x050f2978b537f7afb21ee1551577cdf146d1c56f4df12d24315ae5e69366b0a4
- 0x365b161a4b68d750dcc4b3ecce1154a2163c87b08762079428e68f0ebb6a754e
- Day root
- 0x78fecaabbe319e56f5c4b80fc02e2052e198ad24781da8832a475ff65f2002d1
- Chained
- 0xdc35957db5d1371ca382b9152878ffece28ec7c5cb4f98fd71ddb367f8b999b2
- Published
- On Arc Testnet, block 70432815: 0x56b814612eb2e3e544153df3e91e1f7199106d1e430c7d8c6b653feeb9ebe9af