← The evidence ledger
Evidence row 2201927
Observed , by sync.x402_bazaar/1.
- Kind
- listing
- About
- source_record x402_bazaar:https://environment-screen.x402tookit.com/air-quality-history
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 0c5e72dd2de46c8c65c88d5b41a446188a23623c091d00350b7e4ca9b05a760b
- Leaf
- 0x87d8130cd5eb34bd5afae5e2bc79c3c1931010ee73c3a8a0ff55964fb4561ed1
What was observed
{
"endpoints": [
[
"x402",
"https://environment-screen.x402tookit.com/air-quality-history"
]
],
"name": "Environment Screen",
"owner_address": "0xb531320805c5bed1d46aeadcf4f008fdf172dbda",
"raw": {
"accepts": [
{
"amount": "30000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:8453",
"payTo": "0xb531320805C5BED1D46AEaDcF4F008FDF172DBDa",
"scheme": "exact"
},
{
"amount": "30000",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "D6ZhtNQ5nT9ZnTHUbqXZsTx5MH2rPFiBBggX4hY1WePM",
"transactionVersions": [
0
]
},
"maxTimeoutSeconds": 300,
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "DUPiupXtuox38dcGoXUKer5mAydCzmaHjrbQ66qeEm8s",
"scheme": "exact"
},
{
"amount": "30000",
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:137",
"payTo": "0xb531320805C5BED1D46AEaDcF4F008FDF172DBDa",
"scheme": "exact"
},
{
"amount": "30000",
"asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:42161",
"payTo": "0xb531320805C5BED1D46AEaDcF4F008FDF172DBDa",
"scheme": "exact"
}
],
"description": "Daily mean PM2.5, PM10, ozone, NO2 and US AQI over a date range, plus the count of days above an AQI threshold.",
"extensions": {
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"end": "2025-01-31",
"lat": 34.0522,
"lon": -118.2437,
"start": "2025-01-01",
"threshold": 100
},
"type": "http"
},
"output": {
"example": {
"asOf": "2026-10-21T00:33:14.201Z",
"concentrationUnit": "μg/m³",
"daily": [
{
"date": "2025-01-01",
"hours": 24,
"nitrogenDioxideMean": 57.4,
"ozoneMean": 12.9,
"pm10Mean": 30.5,
"pm2_5Mean": 30.2,
"usAqiMax": 97,
"usAqiMean": 92.2
},
{
"date": "2025-01-02",
"hours": 24,
"nitrogenDioxideMean": 66.5,
"ozoneMean": 13.1,
"pm10Mean": 33.6,
"pm2_5Mean": 33.2,
"usAqiMax": 96,
"usAqiMean": 91.8
}
],
"daysAboveThreshold": 7,
"daysRequested": 31,
"daysWithAnyHourAboveThreshold": 9,
"daysWithData": 31,
"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.",
"end": "2025-01-31",
"meanNitrogenDioxide": 55.8,
"meanOzone": 30.3,
"meanPm10": 34.9,
"meanPm2_5": 33.7,
"meanUsAqi": 90.9,
"notChecked": [
"real monitor readings: CAMS model output, smoothed at about 11 km",
"EPA's 24-hour PM2.5 AQI method: the daily mean here is the mean of hourly Open-Meteo AQI values",
"…1 more"
],
"reasons": [
"7 of 31 days had a daily-mean US AQI above 100."
],
"source": "Open-Meteo Air Quality API (CAMS model reanalysis and forecast)",
"sourceUrl": "https://open-meteo.com/en/docs/air-quality-api",
"start": "2025-01-01",
"summary": "7 of 31 days had a daily-mean US AQI above 100; the worst hour reached 227 (Very Unhealthy) on 2025-01-11.",
"threshold": 100,
"verdict": "SOME_DAYS_ABOVE_THRESHOLD",
"worstDay": {
"date": "2025-01-11",
"maxUsAqi": 227
}
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"end": {
"description": "Last day, YYYY-MM-DD, at most 92 days after start",
"type": "string"
},
"lat": {
"description": "Latitude",
"type": "number"
},
"lon": {
"description": "Longitude",
"type": "number"
},
"start": {
"description": "First day, YYYY-MM-DD (2013 onward)",
"type": "string"
},
"threshold": {
"description": "US AQI level to count days above (default 100, range 0-500)",
"type": "integer"
}
},
"required": [
"lat",
"lon",
"start",
"end"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"asOf": {
"type": [
"null",
"string"
]
},
"concentrationUnit": {
"type": [
"null",
"string"
]
},
"daily": {
"items": {
"properties": {
"date": {
"type": [
"null",
"string"
]
},
"hours": {
"type": [
"null",
"number"
]
},
"nitrogenDioxideMean": {
"type": [
"null",
"number"
]
},
"ozoneMean": {
"type": [
"null",
"number"
]
},
"pm10Mean": {
"type": [
"null",
"number"
]
},
"pm2_5Mean": {
"type": [
"null",
"number"
]
},
"usAqiMax": {
"type": [
"null",
"number"
]
},
"usAqiMean": {
"type": [
"null",
"number"
]
}
},
"type": "object"
},
"type": [
"array",
"null"
]
},
"daysAboveThreshold": {
"type": [
"null",
"number"
]
},
"daysRequested": {
"type": [
"null",
"number"
]
},
"daysWithAnyHourAboveThreshold": {
"type": [
"null",
"number"
]
},
"daysWithData": {
"type": [
"null",
"number"
]
},
"degraded": {
"type": [
"boolean",
"null"
]
},
"disclaimer": {
"type": [
"null",
"string"
]
},
"end": {
"type": [
"null",
"string"
]
},
"meanNitrogenDioxide": {
"type": [
"null",
"number"
]
},
"meanOzone": {
"type": [
"null",
"number"
]
},
"meanPm10": {
"type": [
"null",
"number"
]
},
"meanPm2_5": {
"type": [
"null",
"number"
]
},
"meanUsAqi": {
"type": [
"null",
"number"
]
},
"notChecked": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"reasons": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"source": {
"type": [
"null",
"string"
]
},
"sourceUrl": {
"type": [
"null",
"string"
]
},
"start": {
"type": [
"null",
"string"
]
},
"summary": {
"type": [
"null",
"string"
]
},
"threshold": {
"type": [
"null",
"number"
]
},
"verdict": {
"type": [
"null",
"string"
]
},
"worstDay": {
"properties": {
"date": {
"type": [
"null",
"string"
]
},
"maxUsAqi": {
"type": [
"null",
"number"
]
}
},
"type": [
"null",
"object"
]
}
},
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
},
"lastUpdated": "2026-11-01T22:52:30.563Z",
"quality": {
"l30DaysTotalCalls": 1,
"l30DaysUniquePayers": 1,
"lastCalledAt": "2026-11-01T22:52:30.301Z"
},
"resource": "https://environment-screen.x402tookit.com/air-quality-history",
"serviceName": "Environment Screen",
"tags": [
"air-quality",
"aqi",
"history",
"environment"
],
"type": "http",
"x402Version": 2
},
"source": "x402_bazaar",
"summary": "Daily mean PM2.5, PM10, ozone, NO2 and US AQI over a date range, plus the count of days above an AQI threshold."
}What the leaf hashes
{"body":"0c5e72dd2de46c8c65c88d5b41a446188a23623c091d00350b7e4ca9b05a760b","id":2201927,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793646810230330,"prev":null,"subject":"x402_bazaar:https://environment-screen.x402tookit.com/air-quality-history","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).
- 0x87d805c9376fb47d5aec6546c6475f991792b647c933573c68394f584aa388e7
- 0xe2a885d664bccc098b581d2e6dd58c2280dc00cd1f650496518efb807e563667
- 0x43a3d0b1c70594b6f977aededdd186de91da234db458b6da984a215dc1c8553e
- 0x08a59392cf2f092fca19cc0452f92aa6fee0e9358d441f1edc04cf2b5bba6830
- 0x7568974f02a2e1fe1bbc5f5f3c4d106d930b1d05980488afe0742ed4f2c434a6
- 0xa97e643107dc4bc335f4c2c1caccdc1f953c822273b4a77e4bc835043d32a740
- 0x037d6edc7705e6e005e68e842c3bd813e385627ee59151af3c4fa6e1bc60f9df
- 0xb2a242f62f15ae6ba28782ec23ce5610a177ce086d551a0049eeda5f1ee5aa68
- 0xab6e7350c936e3fce45aeb56a836194fd2f7827ea6f3a39c54f6ce54d083bb30
- 0x85123dddb4af3af814b14b1599ed1ee5dc736e48915a1e13d2b44f1ece9c0c4c
- 0x48a7d8a73ff3af602180450d457064aad27e3295ef431b56a3513d559fcaebb0
- 0xb29458b26be0efcbcc070d6949659b739465d717f9b08a7e55e19441848f2850
- 0x650762fd3ea664db9c82e9fa57a70645b039ff3d3dda93972e6da6c3b1355d26
- 0x45296e5ab7be6d8163e528d05039d4c685fc8962fc80b797c1d68574b10b444c
- 0x510fa2c647d18bb802da12cf41e17d136163e6624e69ed77e15235c4284b69c7
- 0x5e23ec5954c11a4530aab8c635a72b12bcfeb6fcb03c6cb1a990cc1743424543
- 0x1805ef693fbdb2c23fcb61616f830408ca89bec1dc5b68ee47a770ffc0b9760a
- 0x4d205063c881c48edbbb37762a8d3bbb7444d4c42daa882f663a231893d25c35
- 0x365b161a4b68d750dcc4b3ecce1154a2163c87b08762079428e68f0ebb6a754e
- Day root
- 0x78fecaabbe319e56f5c4b80fc02e2052e198ad24781da8832a475ff65f2002d1
- Chained
- 0xdc35957db5d1371ca382b9152878ffece28ec7c5cb4f98fd71ddb367f8b999b2
- Published
- On Arc Testnet, block 70432815: 0x56b814612eb2e3e544153df3e91e1f7199106d1e430c7d8c6b653feeb9ebe9af