{"assessments":[],"deployments":[],"fuzz":[],"identity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"interpretation":"Records acceptance and evidence. Neither completion nor an AI assessment establishes correctness, safety, or independent review.","jobId":"1dc6a64f-d2a5-4bfe-9fd5-dce8ad4b887d","kind":"skill:research-report","nodes":[{"acceptedSubmissionHash":"cc80d3445be67e85faa6505eaee64020071322f3ed2abc1ee63df4b10ff82f2a","dependsOn":[],"execution":{"network":true,"profile":"none","requires":["network"],"skillHash":"3ddca93330036359dd721585e58e67820336a0398b7927b3c89369d6134f30f6","skillId":"research-report","tools":[]},"key":"research_report","kind":"code","role":"implement","skillHash":"3ddca93330036359dd721585e58e67820336a0398b7927b3c89369d6134f30f6","skillId":"research-report","state":"accepted"}],"objective":"Prompt: research-report\n\nProject site: https://hamsterhour.fun\n\nDesign and security review, no build. Hamster Hour is a pari-mutuel IMD betting game on the Squeekchain hamster wheel. v1 is deployed on Ethereum mainnet (HamsterHour 0xc5217f129da200a8e86229de4eabf3686eef64b1, OracleVerifier 0xdcd7a7dee31d589f9df8113780050c18e7ea1f7d) but was never announced and has no users, so we will redeploy as v2. Review the v2 spec below and the $HAMSTER token plan. Find economic exploits, farming loops, oracle and settlement risks, and parameter mistakes. Suggest concrete fixes and better parameter values with reasoning. Also say what is missing for a safe launch.\n\nTelemetry (Squeekchain API, last 162 hours): the hamster sleeps 77% of hours (0 work). It is active 21:00–06:00 UTC. Hourly work in active hours: median ~2100, p10 ~1090, p90 ~3060, max 3194. Windows are 1 hour = 6 rounds of 600 s. Correct genesis is 1791847200.\n\nv2 game spec:\n\nMarkets per window: OVER/UNDER, SLEEP (did the hamster run at all), EXACT jackpot.\nA result below a sleep threshold (proposed 100 work units) counts as sleeping. When the hamster sleeps, OVER/UNDER refunds 100%, EXACT has no winners and all tickets roll into the jackpot, and SLEEP settles normally.\nLine for OVER/UNDER: bootstrap 2100. After that, the median of the last 12 settled awake windows, ordered by window index, not settlement order. It is snapshotted when the window is created.\nEXACT jackpot: fixed ticket of 5 IMD, one ticket per address per window. Guesses within ±1% of the result split 80% of the jackpot equally. 20% stays as the seed for the next window. With no winner, everything stays and grows. Review ±1% versus a tighter range given the distribution, and Sybil multi-wallet coverage of the range.\nFees on binary markets: 5% stakers, 2% jackpot, 1% oracle reserve, 1% team, 91% winners. EXACT ticket: 5% stakers, 1% team, 1% oracle reserve, 93% jackpot. One-sided binary pools refund without fees.\nOracle: an external IMD oracle attestation per window, verified on-chain. The first settler is reimbursed from the oracle reserve. A 48h timeout refunds everything.\nAdd a view lossOf(k, account) returning the account’s net losing stake for a settled window (refunds excluded), so an external MiningVault can pull-verify losses. Staking token is set once by TEAM behind a 48h timelock. No owner, pause, upgrade or withdrawal powers.\n\n$HAMSTER plan (launched later via IMD swarm, Uniswap v4 hook):\n\n1B supply: 100M swarm, 100M pool vs IMD, 800M MiningVault.\nLose-to-earn: 20,000 HAMSTER per 1 IMD lost, halving every 20,000 IMD of cumulative losses (counted from game launch, retroactive). Claim is pull-based per window via lossOf. Rewards vest linearly over 7 days, and vesting balances count as staked.\nMiningVault is the game’s single staking token holder. Stakers get the 5% IMD bet share. Unstake: rewards stop at request, tokens release after 24h.\nHook fee 1.6% on every swap, taken in IMD: 1% team, 0.5% to the game’s jackpot, 0.1% to the oracle reserve.\nAnti-snipe buy tax: starts at 98%, drops 2% per minute, 0 after 49 minutes. Tax goes 80% to stakers as a perpetual drip (1% of the remaining pot per day), 10% to the oracle reserve, 10% to team.\n\nSpecific questions:\n\nTwo-wallet farming cost per HAMSTER at each halving, and whether 20,000/IMD is sane.\nWhether the sleep threshold and the line rule can be gamed by settlement timing or by betting on predictable hours.\nJackpot hit probability per hour at different ticket counts.\nOracle reserve runway at low volume.\nAnything in v2 that blocks a clean lossOf integration or staking-with-vesting.\n\nDeliver a report: findings ranked by severity, recommended final parameters as a table, and a short list of required changes before build.\nAlso propose 5–8 fun, on-brand features that increase retention and virality without breaking the economics. Candidates to evaluate: a weekly biggest-loser HAMSTER bonus; a free daily EXACT ticket for stakers above a threshold; a 2x mining “wake-up hour” (the first awake window each night); a daily wake-up-time market; a referral share of 0.5% of referred bets paid from the team fee; a HAMSTER drop to Squeek NFT holders; an hourly results bot for X and Telegram. For each: the exploit risk, whether it must be on-chain in v2 or can be added later, and a verdict.\nAdd a Squeek Boost Pool: 50M HAMSTER (5%, taken from the vault, so the vault holds 750M). Players who hold a Squeek NFT get +50% on their mined HAMSTER, and the bonus is paid from this pool until it runs out. One Squeek can boost one wallet per window, with a daily bonus cap per Squeek, so a transferred or lent NFT cannot boost many wallets. Ownership is checked directly with ownerOf once Squeekchain’s NFTs are on the same chain as the game (mainnet). The pool stays inactive until then. If it is not activated within 12 months, anyone can push it into the MiningVault. No other withdrawal path. Review the design, including flash-loan or rental abuse, and safe cross-chain options if mainnet is delayed.","parentJobId":null,"planHash":"73e517638e7497579a52cb004cd8898b9389b04724395dd0ec9eb5cd9a1f1765","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"1dc6a64f-d2a5-4bfe-9fd5-dce8ad4b887d","publication":{"commit":null,"deliveredAt":null,"repoUrl":null},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"52344","feedbackHash":"e47cb5851d27ca0e47c313689cf5ee4be774e0ac57ab99248e7f38e2241fb6cb","nodeKey":"research_report","submissionHash":"cc80d3445be67e85faa6505eaee64020071322f3ed2abc1ee63df4b10ff82f2a","tag1":"verification:structural","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"20c9a84c849bf1ecf2a33972f3f8e43d28391dc8cb73c7ce453899c7a1e00ba5","state":"completed","submissions":[{"artifacts":[{"bytes":58761,"hash":"a03a41315c8dc09875b8aa34d0780426c458adfb7f5f87a0824159d5d47f0af8","mediaType":"text/markdown","name":"report","path":"artifacts/report.md"}],"attempt":2,"bundleHash":"4390151a0c8ed4a8c9abf287ae70ca5efd64c99d94628e86fd7c98f552e18f06","device":"ab846a7d68ed31f8","findings":[],"hash":"cc80d3445be67e85faa6505eaee64020071322f3ed2abc1ee63df4b10ff82f2a","nodeId":"681143ca-d29e-44a0-9773-48c35be17230","outcome":"completed","summary":"Completed [artifacts/report.md](artifacts/report.md) with ranked findings, farming costs, jackpot models, parameter recommendations, boost review and eight feature verdicts.\n\nKey findings: cheap Sybil loss farming, settlement-order risks, and an 800M emission schedule backed by only 750M.\n\nOffline arithmetic and document checks passed. Evidence limits and unanswered launch questions are explicit. No build or deployment performed.","treeHash":"09c3aa9c52ed01d63da8badeca8dee9a19817994","usage":{"cachedInputTokens":668160,"inputTokens":83440,"model":null,"outputTokens":19907,"runtime":"codex","turns":5,"wallClockMs":364182}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"771f83f312eace21","findings":[],"hash":"d89f3647ae99fd2a4b0185613f752cd49a89d2b308ebcc3d24b87f80440bc515","nodeId":"681143ca-d29e-44a0-9773-48c35be17230","outcome":"failed","summary":"bundle upload failed (502)","treeHash":null,"usage":{"cachedInputTokens":212340,"inputTokens":8,"model":"claude-sonnet-5-5","outputTokens":51733,"runtime":"claude","turns":4,"wallClockMs":453173}}],"verification":[{"checks":[],"detail":"paths and tree verified; no suite was run for this kind of work","evaluation":"structural","profile":"none","status":"accepted","submissionHash":"cc80d3445be67e85faa6505eaee64020071322f3ed2abc1ee63df4b10ff82f2a","verifiedTreeHash":"09c3aa9c52ed01d63da8badeca8dee9a19817994","verifierVersion":"0.1.0+6a374fcd"}]}