What problem does it solve? Building the server side of an Effect RPC API requires correctly composing handler layers, protocol transports, serialization formats, and middleware, and mistakes in any of these cause subtle runtime failures like broken backpressure, lost stack traces, or ungraceful shutdowns. ## Core Features & Use Cases - Handler Layers: Build handlers with RpcGroup.toLayer, toLayerHandler, or accessHandler, including deferred responses, per-request scopes, and Rpc.fork/Rpc.uninterruptible wrappers. - Transports & Serialization: Choose between HTTP, WebSocket, TCP socket, stdio, and worker protocols, paired with JSON, NDJSON, JSON-RPC, or MessagePack wire formats, with clear rules on framing and backpressure. - Middleware, Streaming & Lifecycle: Implement RpcMiddleware with typed errors and provided services, serve streaming rpcs with ack-based backpressure, handle client aborts via the ClientAbort annotation, and test servers in-process with RpcTest. - Use Case: Mount a UserRpcs group on an HttpRouter with NDJSON serialization and auth middleware, then verify handlers with RpcTest.makeClient before deploying behind NodeHttpServer. ## Quick Start Ask the assistant to implement an Effect RpcServer for your RpcGroup with HTTP transport, NDJSON serialization, and an authentication middleware layer.