addrbookFor publishers
← The evidence ledger

Evidence row 548086

Observed , by sync.x402_bazaar/1.

Kind
listing
About
source_record x402_bazaar:https://agent402.tools/v1/audio/speech
Recorded
Previous row
#527830
Body SHA-256
3dbf540eac91860557b1e272ed6d1071bf16794bb790d8c2634634485b513cc4
Leaf
0x305a40625daa8094fddc3852ba46696a34a1dfa91b88042da36f09a9d2f03621

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://agent402.tools/v1/audio/speech"
    ]
  ],
  "name": "Text-to-speech",
  "owner_address": "0xabf4fabd7c416fb67202e5f9002389fc75e2a9d0",
  "raw": {
    "accepts": [
      {
        "amount": "60000",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "maxTimeoutSeconds": 300,
        "network": "eip155:8453",
        "outputSchema": {
          "type": "string"
        },
        "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
        "scheme": "exact"
      },
      {
        "amount": "60000",
        "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "maxTimeoutSeconds": 300,
        "network": "eip155:137",
        "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
        "scheme": "exact"
      },
      {
        "amount": "60000",
        "asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "maxTimeoutSeconds": 300,
        "network": "eip155:42161",
        "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
        "scheme": "exact"
      },
      {
        "amount": "60000",
        "asset": "0x754704Bc059F8C67012fEd69BC8A327a5aafb603",
        "extra": {
          "name": "USDC",
          "version": "2"
        },
        "maxTimeoutSeconds": 300,
        "network": "eip155:143",
        "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
        "scheme": "exact"
      },
      {
        "amount": "60000",
        "asset": "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "maxTimeoutSeconds": 300,
        "network": "eip155:43114",
        "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
        "scheme": "exact"
      },
      {
        "amount": "60000",
        "asset": "0xe15fC38F6D8c56aF07bbCBe3BAf5708A2Bf42392",
        "extra": {
          "name": "USDC",
          "version": "2"
        },
        "maxTimeoutSeconds": 300,
        "network": "eip155:1329",
        "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
        "scheme": "exact"
      },
      {
        "amount": "61000",
        "asset": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "maxTimeoutSeconds": 300,
        "network": "eip155:10",
        "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
        "scheme": "exact"
      },
      {
        "amount": "60000",
        "asset": "0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168",
        "extra": {
          "name": "Global Dollar",
          "version": "1"
        },
        "maxTimeoutSeconds": 300,
        "network": "eip155:4663",
        "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
        "scheme": "exact"
      },
      {
        "amount": "60000",
        "asset": "0xcebA9300f2b948710d2653dD7B07f33A8B32118C",
        "extra": {
          "name": "USDC",
          "version": "2"
        },
        "maxTimeoutSeconds": 300,
        "network": "eip155:42220",
        "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
        "scheme": "exact"
      },
      {
        "amount": "60000",
        "asset": "0x3600000000000000000000000000000000000000",
        "extra": {
          "name": "USDC",
          "version": "2"
        },
        "maxTimeoutSeconds": 300,
        "network": "eip155:5042",
        "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
        "scheme": "exact"
      },
      {
        "amount": "60000",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "assetTransferMethod": "permit2",
          "facilitatorAddress": "0x14fDa13953Fc30428938E6BF950d036e77214e52",
          "name": "USD Coin",
          "version": "2"
        },
        "maxTimeoutSeconds": 300,
        "network": "eip155:8453",
        "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
        "scheme": "upto"
      },
      {
        "amount": "60000",
        "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
        "extra": {
          "feePayer": "BENrLoUbndxoNMUS5JXApGMtNykLjFXXixMtpDwDR9SP"
        },
        "maxTimeoutSeconds": 300,
        "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
        "payTo": "J7aN3PLJnTCF5qpEnvJHJsnCjcGuqC2rYtEM8Gv3xwg",
        "scheme": "exact"
      },
      {
        "amount": "600000",
        "asset": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75",
        "extra": {
          "areFeesSponsored": true
        },
        "maxTimeoutSeconds": 300,
        "network": "stellar:pubnet",
        "payTo": "GDNJXCKW7ZM7GEEVP674TWPU26YJNBQ2FI4ZIPRKTPTNUEJMDHFJWWRL",
        "scheme": "exact"
      },
      {
        "amount": "60000",
        "asset": "31566704",
        "extra": {
          "feePayer": "ZMFK2OI7ZBD2U27ISERZC4S6LKM6WMFJPZQ4MYNJDZ2VNBNMBA67RA22AA",
          "tag": "x402-global-challenge"
        },
        "maxTimeoutSeconds": 300,
        "network": "algorand:wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8=",
        "payTo": "C7IIHG7SPLPZ5H7ZT6HW3UV2OQMQQE6Y2HBNGZXSLRJULE42BEE2OY2XIE",
        "scheme": "exact"
      },
      {
        "amount": "60000",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "GatewayWalletBatched",
          "verifyingContract": "0x77777777dcc4d5a8b6e418fd04d8997ef11000ee",
          "version": "1"
        },
        "maxTimeoutSeconds": 604900,
        "network": "eip155:8453",
        "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
        "scheme": "exact"
      },
      {
        "amount": "60000",
        "asset": "0x3600000000000000000000000000000000000000",
        "extra": {
          "name": "GatewayWalletBatched",
          "verifyingContract": "0x77777777dcc4d5a8b6e418fd04d8997ef11000ee",
          "version": "1"
        },
        "maxTimeoutSeconds": 604900,
        "network": "eip155:5042",
        "payTo": "0xaBF4FAbd7c416fB67202E5f9002389Fc75e2a9D0",
        "scheme": "exact"
      }
    ],
    "description": "OpenAI-compatible text-to-speech over x402 - point any OpenAI SDK's audio.speech.create() at base_url https://agent402.tools/v1 and pay $0.06 per call in USDC, no API key, no signup. Served by Voxtral Mini TTS behind a five-model failover chain (xAI Grok Voice, Kokoro, MAI-Voice-2 Flash, MAI-Voice-2), every link proven by a real paid canary - a provider outage never becomes your failure. Up to 2,000 chars in, raw mp3 (default) or pcm bytes out - the same wire shape as OpenAI's endpoint.",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "input": "Agent402 serves 500+ tools, paid per call.",
              "voice": "alloy"
            },
            "bodyType": "json",
            "method": "POST",
            "type": "http"
          },
          "output": {
            "example": "(raw mp3 bytes - Content-Type: audio/mpeg)",
            "type": "json"
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "additionalProperties": false,
              "properties": {
                "body": {
                  "properties": {
                    "input": {
                      "description": "Text to speak (up to 2,000 chars)",
                      "type": "string"
                    },
                    "model": {
                      "description": "Optional - pin a chain model (e.g. mistralai/voxtral-mini-tts-2603); the rest stay as fallbacks",
                      "type": "string"
                    },
                    "response_format": {
                      "description": "\"mp3\" (default) or \"pcm\"",
                      "type": "string"
                    },
                    "speed": {
                      "description": "Optional 0.25–4 playback speed (providers that don't support it ignore it)",
                      "type": "number"
                    },
                    "voice": {
                      "description": "OpenAI voice name - alloy (default), ash, ballad, coral, echo, fable, onyx, nova, sage, shimmer, verse - or a native voice id from GET /v1/models (e.g. en_paul_cheerful)",
                      "type": "string"
                    },
                    "zdr": {
                      "description": "Optional - true routes only to zero-data-retention providers",
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "input"
                  ]
                },
                "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": "string"
                },
                "type": {
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            }
          },
          "required": [
            "input"
          ],
          "type": "object"
        }
      },
      "builder-code": {
        "info": {
          "a": "bc_b4aw4uzd"
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "additionalProperties": false,
          "properties": {
            "a": {
              "description": "App builder code",
              "pattern": "^[a-z0-9_]{1,32}$",
              "type": "string"
            },
            "s": {
              "description": "Service builder codes",
              "items": {
                "pattern": "^[a-z0-9_]{1,32}$",
                "type": "string"
              },
              "maxItems": 11,
              "type": "array"
            },
            "w": {
              "description": "Wallet builder code",
              "pattern": "^[a-z0-9_]{1,32}$",
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "payment-identifier": {
        "info": {
          "required": false
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "id": {
              "maxLength": 128,
              "minLength": 16,
              "pattern": "^[a-zA-Z0-9_-]+$",
              "type": "string"
            },
            "required": {
              "type": "boolean"
            }
          },
          "required": [
            "required"
          ],
          "type": "object"
        }
      }
    },
    "iconUrl": "https://res.cloudinary.com/bdb-prod/image/upload/c_fill,ar_1:1,w_256,h_256,f_auto,q_auto/v1784247360/bazaar-icons/478aced8e219894c.png",
    "lastUpdated": "2026-10-27T15:25:28.459Z",
    "quality": {
      "l30DaysTotalCalls": 60,
      "l30DaysUniquePayers": 1,
      "lastCalledAt": "2026-10-27T15:25:28.222Z"
    },
    "resource": "https://agent402.tools/v1/audio/speech",
    "serviceName": "Text-to-speech",
    "tags": [
      "llm",
      "tts",
      "text-to-speech",
      "speech",
      "audio"
    ],
    "type": "http",
    "x402Version": 2
  },
  "source": "x402_bazaar",
  "summary": "OpenAI-compatible text-to-speech over x402 - point any OpenAI SDK's audio.speech.create() at base_url https://agent402.tools/v1 and pay $0.06 per call in USDC, no API key, no signup. Served by Voxtral Mini TTS behind a five-model failover chain (xAI Grok Voice, Kokoro, MAI-Voice-2 Flash, MAI-Voice-2), every link proven by a real paid canary - a provider outage never becomes your failure. Up to 2,000 chars in, raw mp3 (default) or pcm bytes out - the same wire shape as OpenAI's endpoint."
}

What the leaf hashes

{"body":"3dbf540eac91860557b1e272ed6d1071bf16794bb790d8c2634634485b513cc4","id":548086,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793133272921784,"prev":527830,"subject":"x402_bazaar:https://agent402.tools/v1/audio/speech","subject_kind":"source_record"}

Proof

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

  1. 0x3059e874b25ae427276ce0056c9fa2b827b53d161077a21a729cbb741c0cddbb
  2. 0x09f5b0b47b7c4bfb71596a8bd7254c4834e257c85bb4efcf50fc2fb0a0c08e1b
  3. 0xa31d4c582c217e18862d674de4c9e075a733dc24f4fecfbc1dc6e3ccbb5916cc
  4. 0xb8b42a356aaca2321638a902573baebe8fc2f49b0572fd13e58b005ec8dbe1c2
  5. 0x4bb27764578ce9edca07f26bffb471e28694df784dc9a0b338600bb33cf14d1d
  6. 0xbe1737bccf528931ab59e866a406be2b4762ed6f4981a8498c74c064773a5754
  7. 0xc17e3c8e6feef6e0db21b2870b717614e42256538836460cd6088f539821fccb
  8. 0x0c92d408771aaea7cd6e2e71992af25dac7d915715f1cbbafca00482346accf2
  9. 0x66fd24e5c29bd65ba7fbfafd397634513e37ebdd1386412ba8148bceb46328dc
  10. 0x8b2a0c1569541e012096343578c3ab28498772d40e87d5b55d304a5ec608ce08
  11. 0xa332aeedb5946e98183c6766ade34702b2bc8d9c73c47322780a8efc2e2a00bf
  12. 0xc1b7c34b53a9fe9ca442a6957dc84259e1950987b7271aef733cbdcf0322901e
  13. 0x2a25cd9926d8f2ef4726fd2a80f77b1ca202b6c3ca56aeb2f520555c93efd434
  14. 0x595de2dea3b8fa56dbd6142dd78ae79f3e7169c631e41a844b100613abb3e430
  15. 0x8360ee1105e4d9f9312067cbbfd47c69c5948665ae582b9684a580c8f4e199e1
  16. 0x52efa60e0c3d8525486d2310eb3b6b566c9677c64fd1f819edb072cf101bcbdb
  17. 0x22c1fb9487ee0b9732fa017a0cc321eb27a60c08450d112f755089796e12cb1c
  18. 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON