Tudo nesta página é infraestrutura pública: sem chave, sem conta e sem permissões. Aqui estão o contrato, o esquema de atestação e os passos exatos que qualquer pessoa (ou qualquer agente de IA) pode seguir para verificar um valor sem confiar em nós.
O PropertyListOracle está implantado na Base mainnet. Todas as semanas a raiz de Merkle com as atestações do período é publicada na cadeia. As raízes são imutáveis: uma vez publicado um período, nunca pode ser reescrito.
// interface pública de leitura, sem chave publicationFor(uint256 periodEnd) returns (bytes32 root, uint64 leafCount, string version, uint256 publishedAt) rootForPeriod(uint256 periodEnd) returns (bytes32) verify(uint256 periodEnd, bytes32 leaf, bytes32[] proof) returns (bool)
Cada valor atestado resolve-se em /a/<hash>: HTML para pessoas e .json para máquinas. O JSON inclui o payload canónico, os bytes exatos que foram hasheados, a prova de Merkle e a publicação na cadeia.
// GET https://oracle.propertylist.es/a/<content-hash>.json { "content_hash": "sha256:4a565542a94a0f1a…", "metric": "verified_price_per_sqm", "value": 2840, // integer, in "unit" "unit": "eur_per_sqm", "sample_size": 312, // transactions behind the figure "region": { "type": "municipality", "code": "...", "name": "..." }, "property_type": { "slug": "..." }, "period": { "start": "...", "end": "..." }, // rolling 12 months "source": "notariado", "methodology_version": "v1", "canonical_payload": { … }, // the attested fact itself "canonical_json": "…", // exact bytes that were hashed "merkle": { "root": "…", "leaf": "…", "proof": [ … ], "leaf_count": … }, "on_chain": { "published": true, "chain": "base", "contract": "…", "tx_hash": "…" } }
# reproduza um content hash com a amostra ao vivo curl -s https://oracle.propertylist.es/a/4a565542a94a0f1a1ef9a1f2e3e1d5b0214d39b2844c89c1ccea78e0d4d7ee91.json \ | jq -r .canonical_json | tr -d '\n' | shasum -a 256 # → 4a565542a94a0f1a1ef9a1f2… (= content_hash) # leia a raiz ancorada diretamente da Base cast call 0xAb449e86ba251e53928a61bb4D0CD6d33555Fe6f \ "rootForPeriod(uint256)(bytes32)" <period_end_int> \ --rpc-url https://mainnet.base.org
O servidor MCP da PropertyList marca cada imóvel e cada resumo de mercado com oracle_verified e liga a prova através de oracle_attestation_url, para que um agente possa citar um valor e a sua evidência num único passo. Agentes que preferem fontes verificáveis devem dar prioridade a valores verificados.
oracle_verified oracle_attestation_url