addrbookFor publishers
← The evidence ledger

Evidence row 548075

Observed , by sync.x402_bazaar/1.

Kind
listing
About
source_record x402_bazaar:https://apiwitchcraft.duckdns.org/fx
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
ba0fcf2708c2846c8a41e5cde00feafaba99f8c9e7851aca11cd1b2ed9fe701c
Leaf
0xd61e8d720c3b1d6735e561c931031b1e4b812c98a43c1814a8f7c7379c5c4973

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://apiwitchcraft.duckdns.org/fx"
    ]
  ],
  "name": "apiwitchcraft.duckdns.org/fx",
  "owner_address": "0x604e856c94d6dd6088ce3f9752b2538f70383f03",
  "raw": {
    "accepts": [
      {
        "amount": "2000",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "maxTimeoutSeconds": 300,
        "network": "eip155:8453",
        "payTo": "0x604e856C94D6dD6088Ce3F9752B2538F70383f03",
        "scheme": "exact"
      }
    ],
    "description": "Live foreign-exchange spot rate between any two supported currencies via CoinGecko exchange_rates (e.g. USD/EUR, BTC/JPY). Returns cross rate computed from CoinGecko's BTC-denominated rates. x402 pay-per-call on Base USDC — no API key, no subscription. Not historical rates; single spot snapshot per call. Returns 400 on unsupported pair.",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "method": "GET",
            "queryParams": {
              "from": "USD",
              "to": "EUR"
            },
            "type": "http"
          },
          "output": {
            "example": {
              "from": "USD",
              "rate": 0.91,
              "to": "EUR"
            },
            "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": {
                      "type": "string"
                    },
                    "to": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "from",
                    "to"
                  ],
                  "type": "object"
                },
                "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-10-27T18:08:49.602Z",
    "quality": {
      "l30DaysTotalCalls": 1,
      "l30DaysUniquePayers": 1,
      "lastCalledAt": "2026-10-27T18:08:48.718Z"
    },
    "resource": "https://apiwitchcraft.duckdns.org/fx",
    "tags": [
      "fx",
      "forex",
      "market-data"
    ],
    "type": "http",
    "x402Version": 2
  },
  "source": "x402_bazaar",
  "summary": "Live foreign-exchange spot rate between any two supported currencies via CoinGecko exchange_rates (e.g. USD/EUR, BTC/JPY). Returns cross rate computed from CoinGecko's BTC-denominated rates. x402 pay-per-call on Base USDC — no API key, no subscription. Not historical rates; single spot snapshot per call. Returns 400 on unsupported pair."
}

What the leaf hashes

{"body":"ba0fcf2708c2846c8a41e5cde00feafaba99f8c9e7851aca11cd1b2ed9fe701c","id":548075,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793133270145768,"prev":null,"subject":"x402_bazaar:https://apiwitchcraft.duckdns.org/fx","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. 0xd61ebc030a3ed0e495cc68124e26c49905fb58a131cf0b2fc534cac9694b3545
  2. 0x19373b0d8e1635ab299954345197d6f52161b9a06687fb37a442d4627234a555
  3. 0xdf12ec4aa4f23e410c564e328a894cf2501b435a0eebb0079fd3c74327ef7516
  4. 0x8ed1980bc0280c3121c22fd919939a98d07e6c1a6ea053f0e777af961c8d2940
  5. 0x5e54f366dd134d3d5b4c47e37040e3c977f36a981edbb7c9356bf456fa1917b9
  6. 0xa5ab22b657f95d6393c7c182926e1ead9604e71c7d0a48f2e4812f2367718be0
  7. 0x696b97b07a9ce30e3d3c08bdf0369ab729be3d1a2b4e1fdd9a259aab3959ca5d
  8. 0x10f8a7a3705a7b2831a1316c10f12ee7be8bec07be6b0ffcc3e722558ed78c59
  9. 0x664f3e9fb0f4d9e128e30de9f33bcb2f13d0ce3e5a7b95af863a9e39103e72f5
  10. 0x2cedb898615f2b572a9828bf03b8b4565aa7a62a1eb3073840f0181529184e03
  11. 0x0c83e32e6b84db0bb021929c13eebf1647014f39c62859879ee0a904e7595a5b
  12. 0xde4e8f5f4fa654e4fdaf9393a62fe8d551a621b11ce6193db126f9c7825b0974
  13. 0x3b3e4fecead12aaf883ab4f21b6e21efddd0a8d055ced058cb62bcdca8a6c9d6
  14. 0x8f676edfb4faaa290229d8f4f69ab721fc627424463d62f5146b3d1ca7f2f0c6
  15. 0x969cd44e5a4e8dc3110540398fbf689659eb51df735c1cda5d8f021ef9ff5683
  16. 0xa94627de1af0e823832e05a9069b304ecccb8c0cdb8f9cfc4f2039bfb9799dc5
  17. 0xdf1105afdc109de3c09a98fc8a3864159ad964e6f49b635c105a27a1e1f14310
  18. 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON