---
sidebar_position: 5
title: RPC API
sidebar_label: RPC API
tags: [rsk, rootstock, resources, tutorials,  setup, dApps, protocol, RPC API]
description: "Remote Procedure Call (RPC) is a protocol that allows a program to execute procedures (functions) on a remote server as if they were local calls."
---  
 
Remote Procedure Call (RPC) is a protocol that allows a program to execute procedures (functions) on a remote server as if they were local calls. This eliminates the need for developers to handle low-level network communication.  

## How Rootstock RPC API Works  
Rootstock RPC API uses the JSON-RPC protocol, a lightweight, text-based standard for defining procedures and their parameters. This makes it easy to communicate with the API using JSON-formatted requests and receive structured responses.  

## Use Cases  
- Building integrations for your product or service.  
- Automating workflows with server-side commands.  
- Extending your application’s capabilities with remote functions.  

## **JSON-RPC Overview**  

### What is JSON-RPC?  
JSON-RPC is a remote procedure call protocol encoded in JSON. It’s simple, stateless, and transport-agnostic, making it perfect for APIs.  

### Supported Features  
- **Version:** JSON-RPC 2.0  
- **Methods:** Flexible method definitions for various tasks.  
- **Error Handling:** Clear error messages and structured codes.  

:::note[Info]

 To learn more about the Rootstock RPC API, including how to use it, features,  click the button below:
 


:::

### Key Data Structures  
- **Request:** 
```
{ "jsonrpc": "2.0", "method": "method_name", "params": {}, "id": 1 }
``` 
- **Response:** 
```
{ "jsonrpc": "2.0", "result": {}, "id": 1 }
```  
- **Error:** 
```
{ "jsonrpc": "2.0", "error": { "code": -32601, "message": "Method not found" }, "id": 1 }
```  



