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 known
Reading Monad testnet

Keeper (ours)

Not known
MON on chain
...
Health
Reading the keeper's health...

Maker bot (ours)

Not known
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)

Collateral vault
0x81b0…ba37
Market implementation
0xAEf7…8cE6
Graduator
0x7DC8…fFE3
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)

Collateral vault
0x1749…E481
Graduator
0x8D62…A919
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)

Collateral vault
0x68B5…ee86
Graduator
0xd23c…F3Cc
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
Fee recipient
0xD183…10A8

Outside contracts the resolvers read

Perpl Exchange
0x1964…80cc
Chainlink BTC/USD
0x12C0…1715
Chainlink ETH/USD
0x5c8c…6d31