Open data

Everything this site shows comes from public endpoints, no key required. Below: the full index, the anchors and how to rebuild the root.

The API did not answer at build time or returned seed data. Everything on this page is illustrative until the pilot starts collecting.

Real-time inflation index

Pilot basket of 200 items, geometric median per item, chained day by day. Base 100 on the first day with coverage ≥ 60%. Published only with coverage ≥ 40%.

Window
Download CSV

Salvador

+1.5% ▲

change 30 d · latest 104.88 · coverage 86%

102.7104.1105.408/2809/1109/26

CSV straight from the API: date, dayIndex, value, daily change, coverage, published.

Methodological note. This index is not the official CPI (IPCA). It is the variation of shelf prices observed by people, weighted equally per basket item, without consumption weights. Days below minimum coverage are left blank rather than interpolated. Method and basket at /en/data.

Daily anchors

day date root leaves tx status
268 2026-09-26 0xf28de90cfd…cbf99864 16 0xc4a0a07f…c98a54 confirmed
267 2026-09-25 0xd09d8e1692…5563159e 14,765 0x0593a947…f885c1 confirmed
266 2026-09-24 0xbcc5a139d4…208e4f7b 13,104 0x6f23e1fb…a03a40 confirmed
265 2026-09-23 0xd9489315ba…f7529843 13,327 0xa4c0fd16…db45ca confirmed
264 2026-09-22 0x4239142fa3…5f5a7cfe 12,464 0x3c14d93b…606a6b confirmed
263 2026-09-21 0x401e09af78…0d615215 13,833 0x1a84cfa0…13add8 confirmed
262 2026-09-20 0x5369a2919b…5cea1206 14,552 0x3c96dd3f…dcf1d9 confirmed
261 2026-09-19 0x0cc1d1affc…fdb3e4c7 13,549 0x978786d1…553113 confirmed
260 2026-09-18 0xb3ad6b96b1…8840a606 14,016 0x6fbdc0ba…92dc96 confirmed
259 2026-09-17 0x56a4be14d5…ed929b23 13,381 0x4ba83bdd…56d01f confirmed
258 2026-09-16 0x58642b1f22…5b6ce52c 13,641 0x2c629d94…8a2eb7 confirmed
257 2026-09-15 0x916cf1ca3d…e6a85323 14,202 0xb88c0265…83bcbb confirmed
256 2026-09-14 0xb7ba72b3fe…88c4ef47 14,218 0x779f5ada…5d853c confirmed
255 2026-09-13 0x2e7b90124d…f1a82838 14,446 0x6f58be5c…4323b9 confirmed
254 2026-09-12 0x8f9a66d32c…e53ce298 13,688 0x728e68f6…2e5140 confirmed
253 2026-09-11 0x38c640b759…8eb0a07d 14,732 0x34495f53…9546d3 confirmed
252 2026-09-10 0x83391c6e99…98a0c42c 14,072 0xfee48964…82feb8 confirmed
251 2026-09-09 0x37165ea1e4…2657dd3e 14,957 0xdae9fd87…ce86fb confirmed
250 2026-09-08 0xc75d07c676…e80df7e7 14,041 0x2326ea8d…eab831 confirmed
249 2026-09-07 0xb64454cca6…a83df469 12,826 0x202bb8f2…b84e16 confirmed
248 2026-09-06 0xd384869059…bcaf1047 14,731 0x26b9c6f4…93d44b confirmed
247 2026-09-05 0x5f8f3fb46f…4fbde386 12,561 0x7fcfd8fc…7da06b confirmed
246 2026-09-04 0xf243dc76d7…db7d3017 14,247 0x6fe5a604…7dc6bf confirmed
245 2026-09-03 0xbe311acde3…154ed02c 13,356 0x652f2c54…b744d3 confirmed
244 2026-09-02 0x3bcde27b3b…24da7105 13,946 0x3ec1587e…a7a21e confirmed
243 2026-09-01 0xc96d4d4bea…0a0aeddf 14,908 0x1a33470a…791ec1 confirmed
242 2026-08-31 0x45940bdfff…2c5268d0 12,560 0xfe107ea0…d9c0d0 confirmed
241 2026-08-30 0x48cb3bc753…a899b079 13,356 0x2bf2f3f1…060a51 confirmed
240 2026-08-29 0x7fe1a11150…38ecf908 14,692 0x874eb177…cfc76b confirmed
239 2026-08-28 0x19692cac01…8dbb8f2c 14,045 0x93d300be…c24649 confirmed

Endpoints

Rebuild the root

Download the day’s CSV, build one leaf per (product, store) with keccak256(abi.encode(...)) over the fields listed in ADR 0002, sort by hash and build a StandardMerkleTree (OpenZeppelin). The root must match rootOf(dayIndex) in the contract.

leaf = keccak256(keccak256(abi.encode(
  bytes16 productId, bytes16 storeId, uint32 priceCents,
  uint64 firstObservedAt, uint64 lastObservedAt,
  uint16 confidenceBp, bytes16 winningObservationId)))
root = StandardMerkleTree.of(sortByHash(leaves)).root
assert root == PrecisaAnchor.rootOf(dayIndex)