personal_listAccounts
https://api.triport.io/v1/ethReturns the list of Ethereum accounts managed by the node.
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.
——optionalResponse
Response fields
| Field | Type | Description |
|---|---|---|
result | array of string | Account addresses managed by the node, each a 0x-prefixed 20-byte hex string. Empty array if the node manages no accounts. |
Errors
| Code | Meaning | When it happens |
|---|---|---|
-32002 | tier_insufficient | The API key's tier is below Business. |
-32003 | rate_limited | The 20 RPS limit for this method was exceeded. |
-32005 | unauthorized | Missing, 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_listWalletsreturns richer wallet objects (status and derivation info) for the same managed keystore; use it when you need more than the bare addresses. - An empty
resultarray 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.