What Is JSON-RPC?
Also known as: JSON-RPC 2.0, RPC Endpoint, Remote Procedure Call
In short
JSON-RPC is a lightweight remote procedure call protocol that carries data in JSON format; wallets and applications mostly use it to read data from blockchain nodes such as Ethereum and Bitcoin and to submit transactions.
In JSON-RPC, the client sends the node a JSON message containing the name of the method it wants to call, its parameters and a request ID; the node returns the result or error information, also as JSON. Ethereum nodes offer a standard set of methods for this purpose: eth_blockNumber returns the latest block number, eth_getBalance returns an address's balance, eth_call returns the result of a contract function, and eth_sendRawTransaction submits a signed transaction to the network. Bitcoin Core also has a similar RPC interface.
Most users never notice this layer. When a wallet displays a balance or a decentralized application sends a transaction, a request is made to an RPC endpoint in the background. Libraries such as ethers.js, web3.js and web3.py turn these calls into easy-to-use functions for developers. Because not everyone runs their own node, many applications use RPC endpoints offered by node service providers.
This creates dependency and privacy risks: an RPC provider can see the user's IP address and the addresses they query from the requests, or can cut off the service; fake RPC addresses can be used to display incorrect data. Running your own node or working with well-known providers reduces these risks.
Last updated: · This content is for information purposes only and is not investment advice.

