TriportRPC

personal_listAccounts

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

Returns the list of Ethereum accounts managed by the node.

Ethereumeth_peergraphBusiness — 20 RPS

personal_listAccounts returns an array of the account addresses that are managed by the node, each as a 0x-prefixed, 20-byte hex string. It is the JSON-RPC equivalent of enumerating the keystore the node holds.

Use this method to discover which accounts are available before composing calls that act on a specific from address. The order of the returned addresses is not guaranteed and may change between calls; do not rely on it as a stable index.

This is a Business-tier method in the eth_peergraph category and is rate limited to 20 RPS. Requests authenticated with a lower tier are rejected with -32002 tier_insufficient.

Parameters

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

optional
No parameters.

Response

Response fields

FieldTypeDescription
resultarray of stringAccount addresses managed by the node, each a 0x-prefixed 20-byte hex string. Empty array if the node manages no accounts.

Errors

CodeMeaningWhen it happens
-32002tier_insufficientThe API key's tier is below Business.
-32003rate_limitedThe 20 RPS limit for this method was exceeded.
-32005unauthorizedMissing, invalid, or revoked API key, or the key lacks the eth_peergraph scope.

See errors.md 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: "personal_listAccounts",
    params: [],
  }),
});


const { result: accounts } = await res.json();
console.log(accounts);

TypeScript SDK (@triport/sdk)

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


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


const accounts: string[] = await client.eth.rpc("personal_listAccounts", []);
console.log(accounts);

Python (triport-sdk)

import os
from triport import Triport


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


accounts = client.eth.rpc("personal_listAccounts", [])
print(accounts)

Notes

  • The companion method personal_listWallets returns richer wallet objects (status and derivation info) for the same managed keystore; use it when you need more than the bare addresses.
  • An empty result array is a valid response and simply means the node manages no accounts — it is not an error.
  • Address ordering is not stable across calls; treat the response as a set.