NDK does something like that; it doesn’t expose it via web sockets but when you query anything it’ll query the cache (if you added a cache adapter) first (or only/parallel/skip, defaults to
For the user its all the same (though you can query if the event came from a cache or the relay)