addrbookFor publishers
← The evidence ledger

Evidence row 2201290

Observed , by sync.x402_bazaar/1.

Kind
listing
About
source_record x402_bazaar:https://fx-ecb.x402tookit.com/fx-basket
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
8374ed1f6558081f2cee9e24bdb58f72aeec903efb96eef3a59c4aae01c3f135
Leaf
0x6fb9ee4594a3c34a7ff3a58219645f58fe999b1505418c43e05334570e166bb3

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://fx-ecb.x402tookit.com/fx-basket"
    ]
  ],
  "name": "FX Rates ECB",
  "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": "Rates for up to 10 currencies against one base at once, with each one's 30-day change, strongest and weakest first.",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "method": "GET",
            "queryParams": {
              "base": "USD",
              "quotes": "EUR,GBP,JPY,CAD,AUD"
            },
            "type": "http"
          },
          "output": {
            "example": {
              "asOf": "2026-10-11T03:53:18.628Z",
              "attribution": "Source: European Central Bank reference rates via Frankfurter.",
              "base": "USD",
              "currencies": [
                {
                  "change30dPct": 3.45,
                  "currency": "EUR",
                  "rate": 0.89238
                },
                {
                  "change30dPct": 2.18,
                  "currency": "GBP",
                  "rate": 0.75641
                }
              ],
              "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.",
              "notChecked": [
                "live prices",
                "causes"
              ],
              "reasons": [
                "Positive change means the quote currency became more expensive in the base currency (the base weakened).",
                "Source: European Central Bank reference rates via Frankfurter."
              ],
              "source": "ECB reference rates via Frankfurter",
              "sourceUrl": "https://api.frankfurter.dev",
              "summary": "5 currencies vs USD: EUR gained most against USD (3.45%), GBP least (2.18%) over 30 days.",
              "verdict": "BASKET"
            },
            "type": "json"
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "additionalProperties": false,
              "properties": {
                "method": {
                  "enum": [
                    "GET"
                  ],
                  "type": "string"
                },
                "queryParams": {
                  "properties": {
                    "base": {
                      "description": "Base currency, e.g. USD",
                      "type": "string"
                    },
                    "quotes": {
                      "description": "Comma-separated quote currencies, up to 10, e.g. EUR,GBP,JPY",
                      "type": "string"
                    }
                  },
                  "required": [
                    "base",
                    "quotes"
                  ],
                  "type": "object"
                },
                "type": {
                  "const": "http",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "method"
              ],
              "type": "object"
            },
            "output": {
              "properties": {
                "example": {
                  "properties": {
                    "asOf": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "attribution": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "base": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "currencies": {
                      "items": {
                        "properties": {
                          "change30dPct": {
                            "type": [
                              "null",
                              "number"
                            ]
                          },
                          "currency": {
                            "type": [
                              "null",
                              "string"
                            ]
                          },
                          "rate": {
                            "type": [
                              "null",
                              "number"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "degraded": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "disclaimer": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "notChecked": {
                      "items": {
                        "type": "string"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "reasons": {
                      "items": {
                        "type": "string"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "source": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "sourceUrl": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "summary": {
                      "type": [
                        "null",
                        "string"
                      ]
                    },
                    "verdict": {
                      "type": [
                        "null",
                        "string"
                      ]
                    }
                  },
                  "type": "object"
                },
                "type": {
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            }
          },
          "required": [
            "input"
          ],
          "type": "object"
        }
      }
    },
    "lastUpdated": "2026-11-02T04:06:22.57Z",
    "quality": {
      "l30DaysTotalCalls": 3,
      "l30DaysUniquePayers": 2,
      "lastCalledAt": "2026-11-02T04:06:22.346Z"
    },
    "resource": "https://fx-ecb.x402tookit.com/fx-basket",
    "serviceName": "FX Rates ECB",
    "tags": [
      "fx",
      "basket",
      "multi-currency"
    ],
    "type": "http",
    "x402Version": 2
  },
  "source": "x402_bazaar",
  "summary": "Rates for up to 10 currencies against one base at once, with each one's 30-day change, strongest and weakest first."
}

What the leaf hashes

{"body":"8374ed1f6558081f2cee9e24bdb58f72aeec903efb96eef3a59c4aae01c3f135","id":2201290,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793646803198885,"prev":null,"subject":"x402_bazaar:https://fx-ecb.x402tookit.com/fx-basket","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. 0x6fba009ea16e296cd3b01b67ff7d31a51678c07ee1d392f9418ac2379df3f9fb
  2. 0x9adaaa6976858a4e91bd4e7ad1165c6b8f62500aa7bd522a1a8e62e2d9643989
  3. 0x350eb7bcc8fdca3e76d7a85630ab270c32d6981afb430c2ecdc04ca42d41c2e8
  4. 0x9d4ad335d9316821e0b4de98af23de89cdf6fcee16fbcc7169fb519577bf5c0c
  5. 0x11a41541a5da36c669105a1b6eb231f98af65364bcb366d3e5b85c06d5efba9d
  6. 0x4aa829beea3162992b7c6dfca4a3687d28fbf94e33b9c522949a59645b8a492f
  7. 0xe8895c4b53e6be34099cd67239694caa6533f9e0a7fc172291b453f5ab0ab5e3
  8. 0xbf65cd9766fbc3582855af3eb449300a7b1104608d971445aaa2c711ba8f8f04
  9. 0x9ac735834b17a74dc5641285bcf80229a0b817e88b2aac1e293c744e93140f69
  10. 0x6f3bd247bde3856b8f1082512abdcf59e64111b002b301c97766c02db9e06dc0
  11. 0xb453abe66e051e2298f25d7bfe2e436718e625789c8d4913928850723ca9faff
  12. 0x6a1be01744d4cd9af4c498146a66c86941817311f294a3330b8681bb0dd4ea8a
  13. 0x608160924e1d66c9701d48e69e878606fa6a4dd94a73d3f0570dadb0c3de65b3
  14. 0xb903742c059190ddedc375958f73db84c3806732f1e54330407245d4734015f5
  15. 0x2cdc73dde4ed839d7482b6b91833e64bef56c7626db8439f3bbdfcffd2ae32a3
  16. 0x0e5696ae625571c52ddcd8dc09aa6c994b4ab38f2086df20d56f1f01c603e501
  17. 0xf9973981f80219d4f00fa9186b40a8144accc0c9875572fb79eaea312a21a187
  18. 0x4d205063c881c48edbbb37762a8d3bbb7444d4c42daa882f663a231893d25c35
  19. 0x365b161a4b68d750dcc4b3ecce1154a2163c87b08762079428e68f0ebb6a754e
Day root
0x78fecaabbe319e56f5c4b80fc02e2052e198ad24781da8832a475ff65f2002d1
Chained
0xdc35957db5d1371ca382b9152878ffece28ec7c5cb4f98fd71ddb367f8b999b2
Published
On Arc Testnet, block 70432815: 0x56b814612eb2e3e544153df3e91e1f7199106d1e430c7d8c6b653feeb9ebe9af

How to check it · This row as JSON