Monad testnet
Status
Is Hunch Book solvent and running right now? Every check below reads the contracts directly, with no server in between. Amber means something needs attention; red means a rule is broken.
Checking
Not knownKeeper (ours)
Not known- Address
- 0x1f5A…5569
- MON on chain
- ...
- Health
- Reading the keeper's health...
Maker bot (ours)
Not known- Address
- 0x0f11…232A
- MON on chain
- ...
- Health
- Reading the maker's health...
Last settlement and graduation
- Last settlement
- Last settlement: not known yet
- Last graduation
- Last graduation: not known yet
The indexer and the keeper's health did not answer just now. Reading the chain instead: every settlement, with its transaction.
Incident log
This is Hunch Book's incident log, shown on the app's status page. Anything that stops a market, delays a settlement or a payout, or puts funds at risk is logged here, newest first. Each entry has a ## date: title heading, then what happened, who was affected, what was done (with links to the transactions), and what changes so it does not happen again.
2026-10-05: keeper and maker stopped for 22 hours, market #1 settled late
What happened. On Monad testnet, Hunch Book's keeper and maker bot run as background processes on one machine. Both received SIGTERM at 20:59 UTC on 2026-10-04, then a second SIGTERM 11 seconds later, the signature of the processes being stopped together with the shell session that started them. The keeper finished its cycle and exited; the maker exited before it could cancel its two resting orders. Neither was restarted until 19:43 UTC on 2026-10-05, and that first restart came up as a dry run, because the setting that turns sending on lived in the shell that had started them before, not in a file. They ran live from 19:45 UTC.
Who was affected.
- Market #1 0x2A44…3982 closed at 00:56 UTC on 2026-10-05 and was not settled for 18 hours 49 minutes. Its settlement deadline is 7 days after close, so it never risked a void. Every token in it is held by our own wallets.
- A touch market 0xD45e…1000 could have been proved YES about 22 hours earlier.
- Two maker orders stayed on market #1's Kuru book after close. No one traded against them.
- Nothing was lost: settlement and redemption never depend on the keeper (anyone can call settle), and no funds moved without their owner.
What was done.
- The keeper settled market #1 NO at 19:45 UTC (tx) and proved the touch market YES (tx).
- The maker redeemed its NO tokens (tx).
- The liveness watchdog had opened a warning issue at 11:44 UTC ("closed 10 h 47 min ago and not settled yet"). It was closed after the settlement.
What changes.
- scripts/run-local-services.sh now starts each service in a session of its own, so the shell or tool session that ran start can no longer take it down when it ends.
- Live settings (KEEPER_ENABLED, MAKER_ENABLED and the rest that are not secrets) live in .run/services.env; start warns loudly when a service would run as a dry run, and config shows what a start would use. launchd runs the same script, so both paths take the same settings.
- On macOS, start keeps the machine awake while the services run.
- The services still run on one machine. Moving them to a host that restarts them on its own (ops/README.md) is the lasting fix.
Every contract
Hunch Book core: primary stack (Kuru v1, new markets)
- Factory
- 0x2c30…928A
- Collateral vault
- 0x81b0…ba37
- Market implementation
- 0xAEf7…8cE6
- Graduator
- 0x7DC8…fFE3
- Router
- 0xB9D2…c2a6
- USDC
- 0x13c5…15Ed
- Kuru router
- 0x7EFb…4630
- Kuru margin account
- 0xd029…CE02
Resolvers
- Resolver 3: price touch
- 0x34Ac…5727
- Resolver 6: parlay
- 0x1a57…9168
- Resolver 1: Perpl funding
- 0x4ec0…0951
- Resolver 4: Perpl funding spike
- 0x3459…CA64
- Resolver 2: price at a time
- 0x5582…8B3C
- Resolver 5: price range
- 0xBA86…8694
- Resolver 7: snapshot
- 0x1E62…D632
Periphery
- Auto-redeemer
- 0x26EF…A534
- Conditional orders
- 0xDf73…7eB6
- Implied-probability oracle
- 0xEc0f…9134
- Rewards distributor
- 0x1872…c2D9
- Price adapter factory
- 0x3484…508B
- Referral registry
- 0x0637…8569
- Template timelock
- 0xCe85…290b
Stack kuruV2 (Kuru v2)
- Factory
- 0xd699…125A
- Collateral vault
- 0x1749…E481
- Graduator
- 0x8D62…A919
- Router
- 0x5B08…1556
- Kuru v2 SpotRouter
- 0xf75A…947E
- Kuru v2 AccountCore
- 0xdbaa…8038
- Kuru v2 WithdrawalLimiter
- 0x6d95…6fe0
- Resolver 3: price touch
- 0xF24D…6d70
- Resolver 6: parlay
- 0x2D91…B8AB
- Resolver 1: Perpl funding
- 0xBEA9…7A56
- Resolver 4: Perpl funding spike
- 0x3028…bEF0
- Resolver 2: price at a time
- 0xC22D…d811
- Resolver 5: price range
- 0xDa0d…7a1E
- Resolver 7: snapshot
- 0x8D79…A24A
- Auto-redeemer
- 0xF07F…f05E
- Conditional orders
- 0x1613…5ea0
- Implied-probability oracle
- 0xE8e1…7638
- Kuru limiter feed factory
- 0x122C…117A
- Rewards distributor
- 0x866a…fB3C
- Price adapter factory
- 0x9F0D…60C7
- Referral registry
- 0x1B66…DD57
- Template timelock
- 0x7f61…b4A5
Stack hunch (Hunch order book)
- Factory
- 0x846C…5AF2
- Collateral vault
- 0x68B5…ee86
- Graduator
- 0xd23c…F3Cc
- Router
- 0x3DED…4CC3
- Order book factory
- 0x0DDF…46C5
- Margin account
- 0x6dDa…Ee1c
- Order book implementation
- 0x7dEE…69d5
- Resolver 6: parlay
- 0xfD6c…c5e5
Our wallets and roles
- Keeper (ours)
- 0x1f5A…5569
- Maker bot (ours)
- 0x0f11…232A
- Guardian
- 0xD183…10A8
- Fee recipient
- 0xD183…10A8
Outside contracts the resolvers read
- Perpl Exchange
- 0x1964…80cc
- Pyth
- 0xFC6b…d379
- Chainlink BTC/USD
- 0x12C0…1715
- Chainlink ETH/USD
- 0x5c8c…6d31