← The evidence ledger
Evidence row 2201289
Observed , by sync.x402_bazaar/1.
- Kind
- listing
- About
- source_record x402_bazaar:https://fx-ecb.x402tookit.com/fx-change
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 8a7d3c63d56df41372bf180b58c25b1719bb8b51ec7fd82eae6f17755e8ee38c
- Leaf
- 0x62959f487caac1203c57542c954213fea41d7ed37919bfa2010da6e48ddca096
What was observed
{
"endpoints": [
[
"x402",
"https://fx-ecb.x402tookit.com/fx-change"
]
],
"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": "Currency pair move over 7-365 days: percent change, high, low, annualized volatility and where today sits in the range.",
"extensions": {
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"base": "USD",
"days": 90,
"quote": "EUR"
},
"type": "http"
},
"output": {
"example": {
"annualizedVolatilityPct": 4.79,
"asOf": "2026-10-11T03:53:19.228Z",
"attribution": "Source: European Central Bank reference rates via Frankfurter.",
"base": "USD",
"changePct": 1.946,
"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.",
"fixings": 65,
"high": {
"date": "2026-10-07",
"rate": 0.89469
},
"latestRate": 0.89238,
"low": {
"date": "2026-08-21",
"rate": 0.85477
},
"notChecked": [
"intraday swings",
"causes of the move"
],
"positionInRange": 0.942,
"quote": "EUR",
"reasons": [
"Today sits at 94% of the window's range.",
"Source: European Central Bank reference rates via Frankfurter."
],
"source": "ECB reference rates via Frankfurter",
"sourceUrl": "https://api.frankfurter.dev",
"startRate": 0.87535,
"summary": "USD/EUR +1.946% over 90 days (0.87535 to 0.89238); range 0.85477 to 0.89469; annualized volatility 4.79%.",
"thresholds": {
"highVolAnnualPct": 15,
"moveAbsPct": 3
},
"verdict": "RANGE_BOUND",
"windowDays": 90
},
"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",
"type": "string"
},
"days": {
"description": "Window in days, 7 to 365, default 30",
"type": "integer"
},
"quote": {
"description": "Quote currency",
"type": "string"
}
},
"required": [
"base",
"quote"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"annualizedVolatilityPct": {
"type": [
"null",
"number"
]
},
"asOf": {
"type": [
"null",
"string"
]
},
"attribution": {
"type": [
"null",
"string"
]
},
"base": {
"type": [
"null",
"string"
]
},
"changePct": {
"type": [
"null",
"number"
]
},
"degraded": {
"type": [
"boolean",
"null"
]
},
"disclaimer": {
"type": [
"null",
"string"
]
},
"fixings": {
"type": [
"null",
"number"
]
},
"high": {
"properties": {
"date": {
"type": [
"null",
"string"
]
},
"rate": {
"type": [
"null",
"number"
]
}
},
"type": [
"null",
"object"
]
},
"latestRate": {
"type": [
"null",
"number"
]
},
"low": {
"properties": {
"date": {
"type": [
"null",
"string"
]
},
"rate": {
"type": [
"null",
"number"
]
}
},
"type": [
"null",
"object"
]
},
"notChecked": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"positionInRange": {
"type": [
"null",
"number"
]
},
"quote": {
"type": [
"null",
"string"
]
},
"reasons": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"source": {
"type": [
"null",
"string"
]
},
"sourceUrl": {
"type": [
"null",
"string"
]
},
"startRate": {
"type": [
"null",
"number"
]
},
"summary": {
"type": [
"null",
"string"
]
},
"thresholds": {
"properties": {
"highVolAnnualPct": {
"type": [
"null",
"number"
]
},
"moveAbsPct": {
"type": [
"null",
"number"
]
}
},
"type": [
"null",
"object"
]
},
"verdict": {
"type": [
"null",
"string"
]
},
"windowDays": {
"type": [
"null",
"number"
]
}
},
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
},
"lastUpdated": "2026-11-02T04:06:24.082Z",
"quality": {
"l30DaysTotalCalls": 2,
"l30DaysUniquePayers": 1,
"lastCalledAt": "2026-11-02T04:06:23.854Z"
},
"resource": "https://fx-ecb.x402tookit.com/fx-change",
"serviceName": "FX Rates ECB",
"tags": [
"fx",
"volatility",
"trend"
],
"type": "http",
"x402Version": 2
},
"source": "x402_bazaar",
"summary": "Currency pair move over 7-365 days: percent change, high, low, annualized volatility and where today sits in the range."
}What the leaf hashes
{"body":"8a7d3c63d56df41372bf180b58c25b1719bb8b51ec7fd82eae6f17755e8ee38c","id":2201289,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793646803194702,"prev":null,"subject":"x402_bazaar:https://fx-ecb.x402tookit.com/fx-change","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).
- 0x6295a33a568de82570832e92adb115fba57f2b11c26c4ffce1db2436758ffc98
- 0x4e27119534652c71ad2f11c213f49e5234c254a75d42095b16402ffe3fd4393c
- 0x64792bdf8e9ffcef2aeb968800817ef261ebe0bb0755fd9a00f6b65169fbd397
- 0x6483e13ccec4378d8a9d6ec134a2778b7e69671941839d0ff6f4a05e488cbc3e
- 0x93f20ebaa92c2d31752f2d8dc9b21e0b465b0a70afefd1d1dd7e6b12fe346e57
- 0x395d8a43260d10681b1c9d9de18729ec34efe76af1b22246e41f390d6e12d382
- 0x6581e85cda07aba95abd90e6ab0c558e16cfd09a1cc6e5cbfa66063644b4df1e
- 0xaa3fabcd6ec2ee52f97c9de76c01a62c8c73ea87f88d4ed6c42843feb41fbe88
- 0x1853fd9c25f40ca557c3a22c5a6a515a251bfb72b3f29ff09d99163eee1e5fb7
- 0x9257a3cd40035ec68ad359bb9f49e518b1321563da680aa74ebb3d96cea5c6ef
- 0x31384fed531ba72d8b15633b0eb125ca578abc3318e4a2c32e2f7f3c457f4e18
- 0x01f1d6bc3b4b6d999bc8426485b340e41a9ad059d38c36f458e881f8b52146d1
- 0xfcf5d9c790c40588489c41a23736feba4efc9e83eda3317c30f53a98ce8d1d89
- 0x6ae97c2bdc679e3326a739627f6c3a307d7e25e547b9bf23dbf2622fb26d858e
- 0x23f4763e8db2efe57fbc28dfc68f2b97b65f54a03425994e68157763af649a50
- 0x0e5696ae625571c52ddcd8dc09aa6c994b4ab38f2086df20d56f1f01c603e501
- 0xf9973981f80219d4f00fa9186b40a8144accc0c9875572fb79eaea312a21a187
- 0x4d205063c881c48edbbb37762a8d3bbb7444d4c42daa882f663a231893d25c35
- 0x365b161a4b68d750dcc4b3ecce1154a2163c87b08762079428e68f0ebb6a754e
- Day root
- 0x78fecaabbe319e56f5c4b80fc02e2052e198ad24781da8832a475ff65f2002d1
- Chained
- 0xdc35957db5d1371ca382b9152878ffece28ec7c5cb4f98fd71ddb367f8b999b2
- Published
- On Arc Testnet, block 70432815: 0x56b814612eb2e3e544153df3e91e1f7199106d1e430c7d8c6b653feeb9ebe9af