> For the complete documentation index, see [llms.txt](https://docs.transferchain.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.transferchain.io/core-concepts/grpc.md).

# gRPC

### gRPC Server <a href="#grpc-server" id="grpc-server"></a>

The TransferChain SDK uses Protobuf as its main encoding library. This allows developers to use a wide range of Protobuf-based tools, such as gRPC. gRPC is a modern, high-performance RPC framework that has client support in several languages.

Each module in the TransferChain SDK exposes a Protobuf Query service that defines state queries. These Query services, along with a transaction service used to broadcast transactions, are hooked up to the gRPC server via a function in the application.

Here is a more detailed explanation of each part of the text:

* **Protobuf:** Protocol buffers are a language-neutral, extensible mechanism for serializing structured data. They are used in a wide variety of applications, including the TransferChain SDK.
* **gRPC:** gRPC is a modern, high-performance RPC framework that uses Protobuf as its underlying serialization format. It is a popular choice for building microservices and distributed applications.
* **Query service:** A Query service is a gRPC service that exposes methods for querying the state of the blockchain.
* **Transaction service:** A Transaction service is a gRPC service that exposes methods for broadcasting transactions to the blockchain.
