← 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).
- 0xee506f54ded7458ef3e0810a1b8e3280c9e7629f0f4cbb5f42de3c49e53608be
- 0x5baa10ff0d6dabbad4d9bbe416e7a64455db274cab9973aa629b64a242459a7c
- 0xc2d1bd964b721dea0b2225066b43cf0d72864b585ac4a0d9fbe184ef226c5b98
- 0xb56527bee8f066fae38c096ae3795aeb220a0366904eb0320c044e41538feacf
- 0xf7265b907d1866579c18113d140699818bb66fab72819f446903b54feb6ea7d1
- 0x462d8cedd1edc65ca19382f17bea58215261adb31788803efcba04dfae02b45d
- 0xb86969a284edd3f29330da164667da84ca4a9aed4dbb5e08413456942aa107a3
- 0xb6ad4cbdcc53d5e71563703e39187791197c781a1ceb0abb0099c0875f1906ba
- 0x3deae1fbc918caa35d096c14d5ebded937b4adf80108de8ae498c42d1231d9e5
- 0x289d10558b458eda3cc9917551191f15d289cb49c8cb0be546d2d23d012e6782
- 0x151bd83170434ccd04f82906ef73350feadc28309b6f1874e3bc7fe465fe848f
- 0x244e5498c1a18cb79272c8888907c216b04d0ef4381a107b2d329eb22383048b
- 0x6a66db154e32d45aa1f1ce72719d9372fd5cdf4add16d249006bd3cdb0f7c074
- 0xbb465466dac90179fd91fd4d3b6985e80736d1ab4662dc57a78b5e5098d6f074
- 0xde6a8fd6590b70565baa6078cbc8add8d94950fe959ebaf8c3716adcdbd78aa8
- 0x6dd7e4db65395e8670c7c2747d44fec79e03305934ef4746bf5dbca04ec6ec49
- 0xec5d643575d83c9e07e65deeef71943b53cbf3007e7e2b9a6ef414081509b0cc
- 0x252cce55f1a3d5391c16f82d7f62494429a5f69b03486d4cfcfb7b2c96d6c884
- Day root
- 0x78fecaabbe319e56f5c4b80fc02e2052e198ad24781da8832a475ff65f2002d1
- Chained
- 0xdc35957db5d1371ca382b9152878ffece28ec7c5cb4f98fd71ddb367f8b999b2
- Published
- On Arc Testnet, block 70432815: 0x56b814612eb2e3e544153df3e91e1f7199106d1e430c7d8c6b653feeb9ebe9af