Market Memory · Indexed from Hook Events

Every swap leaves a trace.

The hook's afterSwap emits a typed Signal event for every trade. An indexer reads those logs and reconstructs the protocol's live activity — buys, sells, cap-hits, stakes, claims, votes — into one chronological feed.

MARKET MEMORY · LIVE
08:41:34PROPOSAL

Thesis vote opened: sellCapBps 50 -> 75 (epoch 4)

08:41:21CLAIM

0x7B..D2 claimed 0.0008 ETH from Pulse pool

08:41:13SELL_CAP_HIT

0x9F..0c sold 4,820 ORCH — Sentinel pool +0.0024 ETH

08:41:08SELL

0xF3..09 sold 1,420 ORCH for 0.0014 ETH

08:41:05STAKE

Thesis pool grew to 84,210 ORCH (+5,000)

08:41:03BUY

0xA1..7C bought 2,184 ORCH for 0.0021 ETH

EVENT TAXONOMY
BUYAnyone swaps ETH for ORCH on the V4 pool. 3% of the ETH leg routes to staking pools, hook emits a Signal of kind 0.
SELLAnyone swaps ORCH for ETH below the sell-cap threshold. Same fee routing, Signal kind 1.
SELL_CAP_HITA sell trade reaches at least 95% of the current sellCapBps cap. Fee routing flips: Sentinel receives 50%. Signal kind 2.
FULL FEED
TIMESTAMPKINDDETAIL
08:41:34PROPOSALThesis vote opened: sellCapBps 50 -> 75 (epoch 4)
08:41:21CLAIM0x7B..D2 claimed 0.0008 ETH from Pulse pool
08:41:13SELL_CAP_HIT0x9F..0c sold 4,820 ORCH — Sentinel pool +0.0024 ETH
08:41:08SELL0xF3..09 sold 1,420 ORCH for 0.0014 ETH
08:41:05STAKEThesis pool grew to 84,210 ORCH (+5,000)
08:41:03BUY0xA1..7C bought 2,184 ORCH for 0.0021 ETH
08:40:58BUY0x42..B8 bought 320 ORCH for 0.00031 ETH
08:40:51UNSTAKE0x55..1F unstaked 12,000 ORCH from Pulse
08:40:42SELL0x8C..7A sold 980 ORCH for 0.00094 ETH
08:40:31CLAIM0xE2..30 claimed 0.0145 ETH from Sentinel pool

Placeholder data shown until the indexer is connected to mainnet Signal events. The indexer is a thin worker that reads logs from the hook contract and serves them via a static JSON endpoint.

Why on-chain events instead of a hosted API?

Because the feed is the protocol's public record. If our indexer disappears, anyone can rebuild it from the chain in an afternoon. There is no API key, no rate limit, no privileged access — just typed events that other tools can subscribe to.