TriportRPC

admin_nodeInfo

POSThttps://api.triport.io/v1/eth

Returns metadata about the Ethereum node serving your request — its identity, network endpoints, and the sub-protocols it speaks.

Ethereumeth_peergraphbusiness + 20 rps

admin_nodeInfo returns a single object describing the node that handled the call: its node ID, the human-readable client name/version, the enode URL used for peering, the IP and ports it listens on, and the set of sub-protocols it supports along with their status.

Use it to confirm which node served a request, to read the node's advertised enode for peering diagnostics, or as the anchor point when building a peer graph alongside the other eth_peergraph methods.

This is a business-tier method in the eth_peergraph category. It takes no parameters and is rate-limited to 20 requests per second with burst.

Parameters

This method takes no parameters. Send an empty params array.

optional
No parameters.

Response

Response fields

FieldTypeDescription
idstringUnique node identifier (hex).
namestringClient name/version string.
enodestringThe enode URL of the node.
ipstringNode IP address.
portsobjectThe node's network ports.
ports.discoveryintegerUDP port used for peer discovery.
ports.listenerintegerTCP port used for the devp2p listener.
protocolsobjectSupported sub-protocols and their status.

Errors

CodeMeaningWhen it happens
-32002tier_insufficientYour plan is below the business tier required for eth_peergraph methods.
-32003rate_limitedYou exceeded the 20 rps limit for this method.
-32005unauthorizedMissing/invalid API key, or the key lacks the eth_peergraph scope.

Example tier_insufficient envelope:

{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -32002,
    "message": "tier_insufficient",
    "data": { "required_tier": "business", "current_tier": "free", "method": "admin_nodeInfo" }
  }
}

See the shared errors page for the full error envelope and retry guidance.

Examples

JavaScript (fetch)

const res = await fetch("https://api.triport.io/v1/eth", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.TRIPORT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    jsonrpc: "2.0",
    id: 1,
    method: "admin_nodeInfo",
    params: [],
  }),
});


const { result } = await res.json();
console.log(result.name, result.enode);

TypeScript SDK (@triport/sdk)

import { Triport } from "@triport/sdk";


const triport = new Triport({ apiKey: process.env.TRIPORT_API_KEY! });


const info = await triport.eth.request("admin_nodeInfo", []);
console.log(info.id, info.protocols);

Python (triport-sdk)

import os
from triport import Triport


triport = Triport(api_key=os.environ["TRIPORT_API_KEY"])


info = triport.eth.request("admin_nodeInfo", [])
print(info["name"], info["ports"]["listener"])

Notes

  • This method takes no parameters; always send "params": [].
  • It is part of the eth_peergraph method group (business tier). The companion peer-inspection methods in the same group are useful alongside it for building a view of the node's connectivity.
  • The protocols object reflects the node's live state and may vary as the client is upgraded or new forks activate.