Skip to main content
Node RPC is a fast and reliable production node that enables access to over 80 blockchain networks via RPC. It allows you to send transactions, deploy smart contracts, query blockchain data or other operations without having to run your own node or manage infrastructure.
Node RPC is available on the paid plan. To enable it for your account, contact our sales team.
Node RPC supports:
  • Multi-regional infrastructure (EU & US) ensuring location-independent low latency
  • Access through http and WebSocket protocols
  • Request batching
  • Building custom RPC methods through Node Extensions
  • Access to Tenderly’s development tooling

Custom RPC methods

In addition to supporting standard EVM methods, Node RPC exposes Tenderly’s custom RPC methods in the tenderly_ namespace. Simulation, gas estimation, and tracing methods are documented on dedicated pages: Decoding and signature lookup methods are available in the RPC reference:

Managing Node RPCs

Log into the Dashboard and go to the Node RPCs page where you can create new Node RPCs and manage existing ones.

Creating a Node RPC

To create a new Node RPC, follow these steps:
  • Click the Create Node button
  • Choose the network you want to access
  • Provide a name for the Node
  • Click Create
Each Node you create will have a unique URL.

Configuring Node RPCs

Once the Node RPC has been created, you can configure it in the Settings. From there, you can:
  • Reset the Node RPC URL
  • Change the Node name
  • Delete the Node

Add Node RPC to MetaMask

Add the Node RPC to your MetaMask wallet with a single click. Open the node’s Overview page, click the Add to Wallet button, and confirm the action in MetaMask. Click Approve in MetaMask to add Node RPC. Node RPC

WebSockets

Node RPC is accessible over WebSocket (wss://) in addition to HTTPS. A WebSocket connection is persistent and bidirectional, and is required for the subscription methods eth_subscribe and eth_unsubscribe. To get the WebSocket endpoint, open the node’s Overview page in the Dashboard and copy the WSS URL. You can test the connection with the wscat command-line tool:
example
wscat -c wss://mainnet.gateway.tenderly.co/$TENDERLY_NODE_ACCESS_KEY
Once connected, send JSON-RPC requests over the socket and receive responses in real time:
request.json
{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}
response.json
{"jsonrpc":"2.0","id":1,"result":"0x657330"}

Batching JSON-RPC requests

JSON-RPC request batching allows you to send several JSON-RPC method invocations within a single HTTPS call. A batch request consists of an array of individual JSON-RPC requests, and the response is an array of results in the order corresponding to each request from the batch. You can use batching:
  • directly, by sending an HTTPS request that contains an array of individual JSON-RPC calls,
  • using Ethers, by instantiating a JsonRpcBatchProvider,
  • using Viem, by configuring the batch parameter when creating a client via createPublicClient.
If a particular request fails, the batch request still returns a 200 OK HTTP status, and the response object corresponding to the failing JSON-RPC call carries the error.
Request batching is supported over HTTPS only. There is no batching support over WSS. Each request inside a batch is counted and charged individually; see Node RPC pricing.
batch-call.sh
curl https://mainnet.gateway.tenderly.co/$TENDERLY_NODE_ACCESS_KEY \
-X POST \
-H "Content-Type: application/json" \
-d '[
  {"jsonrpc": "2.0", "id": 1, "method": "eth_blockNumber", "params": []},
  {"jsonrpc": "2.0", "id": 2, "method": "eth_gasPrice", "params": []},
  {"jsonrpc": "2.0", "id": 3, "method": "eth_getBalance", "params": ["0xd8da6bf26964af9d7eed9e03e53415d37aa96045", "latest"]}
]'
With Viem, batching is configured at the client level:
batch-calls.ts
const client = createPublicClient({
  chain: mainnet,
  transport: http(
    `https://mainnet.gateway.tenderly.co/${process.env.TENDERLY_NODE_ACCESS_KEY}`,
    {
      batch: true,
    }
  ),
});

const [blockNumber, balance, ensName] = await Promise.all([
  client.getBlockNumber(),
  client.getBalance({ address: "0xd2135CfB216b74109775236E36d4b433F1DF507B" }),
  client.getEnsName({ address: "0xd2135CfB216b74109775236E36d4b433F1DF507B" }),
]);

RPC Request Builder

The RPC Request Builder lets you execute any of the supported RPC methods from your browser. Each request is sent directly to Node RPC. The Builder also allows you to use existing collections or create your own requests. Check out the list of all supported RPC methods in the RPC reference.

Node Extensions

Node Extensions allow you to extend the functionality of Node RPC with custom RPC methods tailored to your dapp, protocol, or specific needs using JavaScript or TypeScript. RPC methods built as Node Extensions have the extension_ prefix and are executed through Node RPC. Node Extensions You can create a Node Extension in several ways from the Node Extensions tab in the Dashboard:
  • Build from scratch: click Create Custom Extension, name the RPC method, and write the JavaScript/TypeScript function executed on each call.
  • Repurpose a Web3 Action: reuse the source code of an existing Web3 Action with a non-authenticated webhook trigger as the extension’s function.
  • Deploy from the library: click Add From Library to activate a ready-made extension from the public Node Extensions library. Library extensions cannot be edited.
  • Deploy via the CLI: define extensions in tenderly.yaml with tenderly node-extensions init and ship them with tenderly node-extensions deploy using the Tenderly CLI.
If your extension uses API keys or other sensitive values, store them as Web3 Action Secrets and read them in code with await context.secrets.get('API_KEY'). Use the Test button on an extension to send a JSON-RPC payload to it and preview the request and response.

Resources

Get started with Node RPC or continue learning about how it works with these resources.

Simulations & Gas Estimation

Simulate transactions and get exact gas estimates via JSON-RPC.

RPC Reference

See the detailed list of supported RPC methods on Node RPC.

Supported Networks

Check out the full list of networks supported on Node RPC.

Pricing

Understand billing based on compute power used to execute RPC methods.