Fralda Pampers Confort Sec G 30un
R$6169
latest recorded price · Salvador
R$6169
Real inflation in Salvador · last 30 days · +1.5% ▲
basket coverage 86% · Install the app →
The API did not answer at build time or returned seed data. Everything on this page is illustrative until the pilot starts collecting.
Every day, millions of Brazilians find out the price of rice the same way: by walking to the shelf. The information exists, printed on a tag, and dies there. Someone two kilometers away does not know it; whoever measured inflation at the end of the month worked from a sample that did not include that store.
precisa starts from a simple idea: if a person points a camera at the tag, the price becomes data. If three people do it in the same store, the data becomes consensus. No authority decides which price is right — there is counting, contesting and an expiry date.
Consensus is not blind trust. Each price carries how many people confirmed it, when it was last seen and until when it is valid. Bread recorded yesterday is no longer information; a bag of rice seen five days ago still is.
At midnight, the day’s prices become leaves of a Merkle tree and a single root is written to Base, one transaction per day. That does not make a price true — it makes it impossible for anyone, including us, to rewrite it later. It is a timestamp, not a seal of quality.
What comes out is a number that does not exist today: the real inflation of your neighborhood, computed from tags photographed by neighbors. We start in Salvador. The rest of Brazil has shelves too.
The tag that transforms
Someone in Cajazeiras points a camera at a shelf tag.
The app records price, store, time and position. No signal? It waits in a queue and uploads later.
Two other people confirm. One contests. A third independent record settles it.
At midnight the consolidated price becomes a leaf. Thousands of leaves become a single root.
The root is written to Base. One transaction per day. Anyone can verify.
All anchored prices of the month add up to one number: the real inflation of your neighborhood.
A price is not true forever. Each category has a validity window; once it closes, the price expires without penalizing whoever recorded it. A new record restarts the clock.
| category | validity | unit | depth |
|---|---|---|---|
| Alimentos | 7 days | unit | 0 |
| Açúcar e adoçantes | 7 days | kg | 1 |
| Bebidas não alcoólicas | 7 days | l | 1 |
| Café e chás | 7 days | kg | 1 |
| Carnes bovinas | 2 days | kg | 1 |
| Enlatados e conservas | 14 days | unit | 1 |
| Frango | 2 days | kg | 1 |
| Grãos e cereais | 7 days | kg | 1 |
| Hortifruti | 2 days | kg | 1 |
| Laticínios | 3 days | l | 1 |
| Massas | 7 days | kg | 1 |
| Óleos e gorduras | 7 days | l | 1 |
| Ovos | 3 days | unit | 1 |
| Padaria | 24 h | unit | 1 |
| Peixes | 24 h | kg | 1 |
| Bebê | 14 days | unit | 0 |
| Fraldas | 14 days | unit | 1 |
| Combustíveis | 6 h | l | 0 |
| Diesel S10 | 6 h | l | 1 |
| Etanol | 6 h | l | 1 |
| Gasolina comum | 6 h | l | 1 |
| Farmácia | 14 days | unit | 0 |
| Analgésicos | 14 days | unit | 1 |
| Higiene e beleza | 14 days | unit | 0 |
| Limpeza | 14 days | unit | 0 |
| Pet | 14 days | unit | 0 |
Windows are defined per category in `/v1/categories`. Fuel changes between morning and afternoon; canned goods last weeks. Expiry is neutral: there is no penalty for an expired price, only absence of data.
Pick a product, a store and a day. Your browser downloads the proof, recomputes the leaf and reads the root straight from the contract on Base. We take no part in the verification.
What it is
What it is not
ECONOMY · ONE RECEIPT
The base reward halves at each milestone of weekly active contributors — in the city and globally. Rules are versioned, never edited.
| milestone | city (weekly active) | global (weekly active) | factor |
|---|---|---|---|
| 1 | ≥ 500 | ≥ 5.000 | ×0,5 |
| 2 | ≥ 2.000 | ≥ 20.000 | ×0,25 |
| 3 | ≥ 10.000 | ≥ 100.000 | ×0,125 |
| 4 | ≥ 50.000 | ≥ 500.000 | ×0,0625 |
Source: `DEFAULT_REWARD_RULES` in @precisa/shared. Base: 1.000000 per record, 0.5 per update, ×0.2 per confirmation, ×1.5 per sustained contest.
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%.
Salvador
+1.5% ▲
change 30 d · latest 104.88 · coverage 86%
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.
Stores with a price recorded in the last 7 days. The ring shows freshness: the more recent the median observation, the darker.
© OpenStreetMap contributors · 24 stores
Supermarkets, gas stations and pharmacies can talk to people who are already comparing prices at the store door.
sample offer
R$1690
R$18.99 · −11% ▼
Universities, press, consumer-protection agencies and treasury departments: the data is open by default.
Salvador, 20 neighborhoods, ~40 stores in the pilot. Basket of 200 items across food, cleaning, hygiene, pharmacy and fuel.
Consensus by counting and contesting, validity per category, geometric median per item, no interpolation. Documented in the repository ADRs.
One Merkle root per day in the PrecisaAnchor contract (Base). Full dataset in CSV and Parquet with its SHA-256 stored next to the root.
Rounded figures; public sources cited. The first two are official series; the third is an estimate from inspection reports and will be replaced by the pilot’s own data.
| risk | mitigation | status |
|---|---|---|
| Observation fraud (made-up price, reused photo) | Geographic plausibility (store radius), photo pHash, per-user cadence, quarantine for new contributors, contest with bond. | implemented |
| Centralized custody of token balances | Auditable append-only ledger; on-chain withdrawal behind a flag; proof of reserves planned. Keys in KMS and owner in multisig before mainnet (ADR 0007). | prototype · accepted risk |
| Regulation (CVM / Central Bank) | Utility token, no yield; yield staking disabled until legal opinion (ADR 0008). No promise of appreciation in any material. | monitoring |
| Insufficient adoption in the pilot city | Pioneer bonus (first 1,000 observations ×3), partnerships with neighborhood stores, focus on 20 neighborhoods before expanding. | hypothesis to validate |
| Dependency on public Base RPC | Retry with backoff, configurable fallback RPC, anchor resubmitted for up to 6 h; alert on every failure. | implemented |
| Base-map errors (OSM) | Self-hosted tiles; proposed stores require approval; manual merge of duplicates. | implemented |
Salvador pilot: 20 neighborhoods, 40 stores, daily anchor on Base Sepolia.
Index published by neighborhood; first 3 commercial partnerships; app in stores.
Base mainnet with owner in a Safe and keys in KMS; on-chain withdrawal for level 3+.
Second city (Recife or Fortaleza); data API for institutions.
Tag recognition from images; index in 5 state capitals.
Product and engineering. Wrote the protocol, the app and this site.
| stage | range | when | use of funds |
|---|---|---|---|
| Pre-seed | range to be defined | 2026 Q4 | Salvador pilot, 3 people, 12 months of operation. |
| Seed | — | 2027 | Second city, mainnet, team of 8. |
Memo on request: invest@precisa.io