Placeholder post — replace before launch
Of the 37 programs OnchainQueries currently decodes, sixteen declare no events at all in their IDL. Raydium AMM, Marinade Finance, OpenBook v2, every Kamino program, Jupiter's DCA, limit order and perpetuals programs — none of them emit a single decoded event.
That surprises people who arrive expecting an events table for everything. It should not. Emitting events costs compute units, and plenty of well-built programs decline to pay for something a caller can reconstruct from the instruction.
OnchainQueries generates one table per instruction as well as one per event, so those programs are fully queryable. You read the call rather than the emission: which instruction ran, with what arguments, against which accounts. OnchainQueries also exposes verified account_<name> aliases for instruction account columns where the bundled IDL and the live schema agree.
In some ways it is the better read. An event tells you what the program decided to tell you. An instruction tells you what was actually asked of it, including the calls that failed to produce the event you were looking for.
Every dataset page states which tables a program has, up front. If a program has no events, the page says so rather than showing you an empty list.