# ADR 3: Must an ABCI-app have an RPC server? ## Context ABCI-server could expose its own RPC-server and act as a proxy to Tendermint. The idea was for the Tendermint RPC to just be a transparent proxy to the app. Clients need to talk to Tendermint for proofs, unless we burden all app devs with exposing Tendermint proof stuff. Also seems less complex to lock down one server than two, but granted it makes querying a bit more kludgy since it needs to be passed as a `Query`. Also, **having a very standard rpc interface means the light-client can work with all apps and handle proofs**. The only app-specific logic is decoding the binary data to a more readable form (eg. json). This is a huge advantage for code-reuse and standardization. ## Decision We dont expose an RPC server on any of our ABCI-apps. ## Status Implemented ## Consequences ### Positive - Unified interface for all apps ### Negative - `Query` interface ### Neutral