addrbookFor publishers
← The evidence ledger

Evidence row 2201540

Observed , by sync.x402_bazaar/1.

Kind
listing
About
source_record x402_bazaar:https://music-theory.x402tookit.com/transpose
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
c65357467968a544591e53520544cc9f25d3af85b56bb1fb89f86ffea5704d47
Leaf
0xee5112fdc02ddea284575e24ec3c6407613e707afe08a1dfdcec32a469c7cfe6

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://music-theory.x402tookit.com/transpose"
    ]
  ],
  "name": "Music Theory",
  "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": "Transpose a chord progression by semitones or from one key to another, with spelling that fits the target key.",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "method": "GET",
            "queryParams": {
              "fromKey": "C",
              "progression": "C Am F G7",
              "toKey": "G"
            },
            "type": "http"
          },
          "output": {
            "example": {
              "asOf": "2026-10-11T14:26:15.299Z",
              "chords": [
                {
                  "input": "C",
                  "output": "G"
                },
                {
                  "input": "Am",
                  "output": "Em"
                }
              ],
              "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.",
              "fromKey": "C major",
              "notChecked": [
                "voice leading, instrument range or capo positions",
                "whether a minor-key target should use the harmonic or melodic scale for spelling",
                "…1 more"
              ],
              "reasons": [
                "Spelling follows G major: chords inside the key use its scale spelling, others use its sharp or flat side."
              ],
              "semitones": 7,
              "source": "computed locally",
              "summary": "C Am F G7 -> G Em C D7 (+7 semitones).",
              "toKey": "G major",
              "transposed": [
                "G",
                "Em",
                "…2 more"
              ],
              "verdict": "TRANSPOSED"
            },
            "type": "json"
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "additionalProperties": false,
              "properties": {
                "method": {
                  "enum": [
                    "GET"
                  ],
                  "type": "string"
                },
                "queryParams": {
                  "properties": {
                    "fromKey": {
                      "description": "Original key, e.g. C or Am",
                      "type": "string"
                    },
                    "prefer": {
                      "description": "sharps or flats to force the spelling of out-of-key chords",
                      "type": "string"
                    },
                    "progression": {
                      "description": "Chords separated by spaces, commas or bars: C Am F G7",
                      "type": "string"
                    },
                    "semitones": {
                      "description": "Shift -24 to 24 semitones (use this, or fromKey and toKey)",
                      "type": "integer"
                    },
                    "toKey": {
                      "description": "Target key, e.g. G or Em; the shift is the upward distance between tonics",
                      "type": "string"
                    }
                  },
                  "required": [
                    "progression"
                  ],
                  "type": "object"
                },
                "type": {
                  "const": "http",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "method"
              ],
              "type": "object"
            },
            "output": {
              "properties": {
                "example": {
                  "properties": {
                    "asOf": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "chords": {
                      "items": {
                        "properties": {
                          "input": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "output": {
                            "type": [
                              "null",
                              "string"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "degraded": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "disclaimer": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "fromKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "notChecked": {
                      "items": {
                        "type": "string"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "reasons": {
                      "items": {
                        "type": "string"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "semitones": {
                      "type": [
                        "null",
                        "number"
                      ]
                    },
                    "source": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "summary": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "toKey": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "transposed": {
                      "items": {
                        "type": "string"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "verdict": {
                      "type": [
                        "null",
                        "string"
                      ]
                    }
                  },
                  "type": "object"
                },
                "type": {
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            }
          },
          "required": [
            "input"
          ],
          "type": "object"
        }
      }
    },
    "lastUpdated": "2026-11-01T23:39:56.671Z",
    "quality": {
      "l30DaysTotalCalls": 2,
      "l30DaysUniquePayers": 2,
      "lastCalledAt": "2026-11-01T23:39:56.511Z"
    },
    "resource": "https://music-theory.x402tookit.com/transpose",
    "serviceName": "Music Theory",
    "tags": [
      "music",
      "transpose",
      "chords",
      "key"
    ],
    "type": "http",
    "x402Version": 2
  },
  "source": "x402_bazaar",
  "summary": "Transpose a chord progression by semitones or from one key to another, with spelling that fits the target key."
}

What the leaf hashes

{"body":"c65357467968a544591e53520544cc9f25d3af85b56bb1fb89f86ffea5704d47","id":2201540,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793646806585081,"prev":null,"subject":"x402_bazaar:https://music-theory.x402tookit.com/transpose","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. 0xee506f54ded7458ef3e0810a1b8e3280c9e7629f0f4cbb5f42de3c49e53608be
  2. 0x5baa10ff0d6dabbad4d9bbe416e7a64455db274cab9973aa629b64a242459a7c
  3. 0xc2d1bd964b721dea0b2225066b43cf0d72864b585ac4a0d9fbe184ef226c5b98
  4. 0xb56527bee8f066fae38c096ae3795aeb220a0366904eb0320c044e41538feacf
  5. 0xf7265b907d1866579c18113d140699818bb66fab72819f446903b54feb6ea7d1
  6. 0x462d8cedd1edc65ca19382f17bea58215261adb31788803efcba04dfae02b45d
  7. 0xb86969a284edd3f29330da164667da84ca4a9aed4dbb5e08413456942aa107a3
  8. 0xb6ad4cbdcc53d5e71563703e39187791197c781a1ceb0abb0099c0875f1906ba
  9. 0x3deae1fbc918caa35d096c14d5ebded937b4adf80108de8ae498c42d1231d9e5
  10. 0x289d10558b458eda3cc9917551191f15d289cb49c8cb0be546d2d23d012e6782
  11. 0x151bd83170434ccd04f82906ef73350feadc28309b6f1874e3bc7fe465fe848f
  12. 0x244e5498c1a18cb79272c8888907c216b04d0ef4381a107b2d329eb22383048b
  13. 0x6a66db154e32d45aa1f1ce72719d9372fd5cdf4add16d249006bd3cdb0f7c074
  14. 0xbb465466dac90179fd91fd4d3b6985e80736d1ab4662dc57a78b5e5098d6f074
  15. 0xde6a8fd6590b70565baa6078cbc8add8d94950fe959ebaf8c3716adcdbd78aa8
  16. 0x6dd7e4db65395e8670c7c2747d44fec79e03305934ef4746bf5dbca04ec6ec49
  17. 0xec5d643575d83c9e07e65deeef71943b53cbf3007e7e2b9a6ef414081509b0cc
  18. 0x252cce55f1a3d5391c16f82d7f62494429a5f69b03486d4cfcfb7b2c96d6c884
Day root
0x78fecaabbe319e56f5c4b80fc02e2052e198ad24781da8832a475ff65f2002d1
Chained
0xdc35957db5d1371ca382b9152878ffece28ec7c5cb4f98fd71ddb367f8b999b2
Published
On Arc Testnet, block 70432815: 0x56b814612eb2e3e544153df3e91e1f7199106d1e430c7d8c6b653feeb9ebe9af

How to check it · This row as JSON