{"status":"ok","token_id":1,"rating":"UNRATED","matured":0,"hits":0,"pushes":0,"hit_rate":null,"brier":null,"open_predictions":[{"product_id":27295,"name":"Onslaught - Booster Box","direction":"up","as_of":"2026-07-01","matures_on":"2026-07-31","lock_hash":"3705142e6ff685c160b196e2ce4bdcbf172cf98166578150aa1f3514fd3caecd","week_commitment":{"merkle_root":"56da5c8be3b8eaf7cd48cc64fa7a79c9b6b8b8d4a5273ee8a30a3712d3d6331f","tx":"0xbfdf2fc953548d20a7fd024c14b67aae6cadd4b26618e3dc396246b67c8f355c"}},{"product_id":191882,"name":"Unified Minds Booster Box","direction":"down","as_of":"2026-07-01","matures_on":"2026-07-31","lock_hash":"d7397adf47a498cf9d84f577bbb00df0cef6a88909d1c7e736b663f666f827f4","week_commitment":{"merkle_root":"56da5c8be3b8eaf7cd48cc64fa7a79c9b6b8b8d4a5273ee8a30a3712d3d6331f","tx":"0xbfdf2fc953548d20a7fd024c14b67aae6cadd4b26618e3dc396246b67c8f355c"}},{"product_id":647771,"name":"Wish For Shenron Booster Box Case","direction":"down","as_of":"2026-07-01","matures_on":"2026-07-31","lock_hash":"0a3e96955d345f35bb1762aca5ff01d620928439c912380c8c344aeb1e98b1b1","week_commitment":{"merkle_root":"56da5c8be3b8eaf7cd48cc64fa7a79c9b6b8b8d4a5273ee8a30a3712d3d6331f","tx":"0xbfdf2fc953548d20a7fd024c14b67aae6cadd4b26618e3dc396246b67c8f355c"}}],"methodology_note":"Each minted soul locks 3 deterministic card predictions weekly, chosen by its on-chain personality traits from the PUBLIC free forecast board (/api/v1/forecast). The oracle scores them 30 days later against real market prices: |move|<1% = push (excluded), else hit/miss. Rating: >=10 rated predictions, hit_rate >=.60 A, >=.55 B, >=.50 C, >=.45 D, else F.","verify":"Fully deterministic: recompute picks() from the archived public forecast board (as_of date) + the soul's traits; sha256 the canonical row to reproduce each lock_hash. Weekly roots are committed to the SoulPredictionOracle contract on LitVM LiteForge (chain 4441) at 0x5503D08D7D167eE23AcE818bff1a00eF77A76dBF BEFORE maturity — immutable per week (no overwrite path); verifyPrediction(weekId, leaf, proof) with OZ sorted-pair convention, leaf = keccak(keccak(abi.encode(tokenId, weekId, productId, direction, lockHash))). Week 1 (20260701) provenance: v1 calldata commitment tx 2270231299ed689e35136e82f2295bdeaaec7ca8dc7bbbc3d047b9d9c00f1c50 (sha256-tree root, committed pre-outcome), recommitted on-contract tx 0xbfdf2fc953548d20a7fd024c14b67aae6cadd4b26618e3dc396246b67c8f355c."}