{
  "$schema": "https://degreesofsatoshi.com/encyclopedia/schemas/article-v1.json",
  "schemaVersion": "1.0.0",
  "id": "ethereum-rpc-privacy",
  "canonical": "https://degreesofsatoshi.com/encyclopedia/ethereum-rpc-privacy/",
  "collection": "ethereum",
  "title": "What can an Ethereum RPC provider learn about a wallet?",
  "description": "Understand the account information revealed by RPC queries and the privacy limits of both public ledgers and self-hosted nodes.",
  "aliases": [
    "Ethereum RPC privacy",
    "does RPC see wallet address"
  ],
  "dates": {
    "published": "2026-10-02",
    "modified": "2026-10-02",
    "verified": "2026-10-02T19:27:58.939Z",
    "dataAsOf": "2026-10-02"
  },
  "authorship": {
    "publisher": "Degrees of Satoshi editorial project",
    "process": "AI-assisted research and drafting with a separate automated source-verification pass; no external expert or named human review is implied."
  },
  "quickAnswer": {
    "text": "An RPC endpoint receives the requests sent to it. Ethereum balance queries can contain an account address; transaction lookups can reveal which activity you are checking. Because onchain activity is public, those requests can add context about your interests. Running your own node reduces dependence on a third-party query provider, but does not make public transactions private.",
    "claimId": "ethereum-rpc-privacy-quick-answer",
    "sourceIds": [
      "x425-eth-eth-jsonrpc",
      "x425-eth-eth-nodes",
      "x425-eth-eth-privacy"
    ]
  },
  "keyFacts": [
    {
      "label": "Balance query",
      "value": "eth_getBalance includes the address being queried.",
      "sourceIds": [
        "x425-eth-eth-jsonrpc"
      ],
      "id": "balance-query",
      "claimId": "ethereum-rpc-privacy-fact-balance-query"
    },
    {
      "label": "Transaction lookup",
      "value": "RPC methods can request a particular transaction or receipt.",
      "sourceIds": [
        "x425-eth-eth-jsonrpc"
      ],
      "id": "transaction-lookup",
      "claimId": "ethereum-rpc-privacy-fact-transaction-lookup"
    },
    {
      "label": "Public activity",
      "value": "Ethereum’s public ledger can reveal transaction relationships.",
      "sourceIds": [
        "x425-eth-eth-privacy"
      ],
      "id": "public-activity",
      "claimId": "ethereum-rpc-privacy-fact-public-activity"
    }
  ],
  "prerequisites": [
    "ethereum-nodes-rpc"
  ],
  "sections": [
    {
      "id": "requests",
      "heading": "Read the information sent to the endpoint",
      "sourceIds": [
        "x425-eth-eth-jsonrpc"
      ],
      "paragraphs": [
        "A provider cannot answer an address-specific balance query without receiving its address parameter. A wallet querying several accounts through one service can disclose that those addresses are being examined through that service. This is a privacy implication of the requests, not a claim about any provider’s retention policy.",
        "Read the provider’s own policy to determine what it says it logs. RPC support and privacy promises are separate properties."
      ]
    },
    {
      "id": "example",
      "heading": "An apparently passive check still asks about an address",
      "sourceIds": [
        "x425-eth-eth-jsonrpc"
      ],
      "paragraphs": [
        "Suppose you never send a transaction but repeatedly request the balance of two savings accounts from a hosted endpoint. The endpoint receives the two account parameters even though the queries themselves do not change blockchain state.",
        "A block explorer similarly needs enough information to show the account you search. Read-only use means no state change, not automatically no information disclosure."
      ]
    },
    {
      "id": "limits",
      "heading": "A personal node changes the intermediary",
      "sourceIds": [
        "x425-eth-eth-nodes",
        "x425-eth-eth-privacy"
      ],
      "paragraphs": [
        "Ethereum’s node documentation identifies privacy as a reason to query your own node: you need not send address and balance requests to an external RPC service. Operating the node creates its own maintenance and connectivity responsibilities.",
        "Transactions you publish still become part of the public ledger. Self-hosting the query layer does not hide sender, recipient or contract activity recorded by the network."
      ]
    }
  ],
  "faq": [
    {
      "question": "Can I infer that a provider stores every query?",
      "answer": "No. The protocol tells you what a request contains, not how a particular service retains it. Check that service’s stated policy and configuration.",
      "sourceIds": [
        "x425-eth-eth-jsonrpc"
      ]
    },
    {
      "question": "Does switching RPC providers erase earlier onchain activity?",
      "answer": "No. Choosing another endpoint changes the service you query. Public transaction history remains on the network.",
      "sourceIds": [
        "x425-eth-eth-jsonrpc",
        "x425-eth-eth-privacy"
      ]
    }
  ],
  "claims": [
    {
      "id": "ethereum-rpc-privacy-quick-answer",
      "articleSlug": "ethereum-rpc-privacy",
      "statement": "An RPC endpoint receives the requests sent to it. Ethereum balance queries can contain an account address; transaction lookups can reveal which activity you are checking. Because onchain activity is public, those requests can add context about your interests. Running your own node reduces dependence on a third-party query provider, but does not make public transactions private.",
      "sourceIds": [
        "source-a5154b4118a3d15f",
        "source-81c7c6821c46702f",
        "source-236481753b554345"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getBalance; eth_getTransactionReceipt; block parameter; logs"
        },
        {
          "sourceId": "source-81c7c6821c46702f",
          "locator": "Execution and consensus clients; synchronization; node types"
        },
        {
          "sourceId": "source-236481753b554345",
          "locator": "Public ledger; wallet and network privacy"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh eth_getBalance parameters include queried address; receipt lookup includes requested transaction hash. Node guide explicitly describes avoiding intermediary address/balance exposure. Privacy source currently states Ethereum remains a public transparent ledger. Draft makes an inference about what endpoint receives and explicitly avoids unsupported retention-policy claims."
        ]
      }
    },
    {
      "id": "ethereum-rpc-privacy-fact-balance-query",
      "articleSlug": "ethereum-rpc-privacy",
      "statement": "Balance query: eth_getBalance includes the address being queried.",
      "sourceIds": [
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getBalance; eth_getTransactionReceipt; block parameter; logs"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh eth_getBalance parameters include queried address; receipt lookup includes requested transaction hash. Node guide explicitly describes avoiding intermediary address/balance exposure. Privacy source currently states Ethereum remains a public transparent ledger. Draft makes an inference about what endpoint receives and explicitly avoids unsupported retention-policy claims."
        ]
      }
    },
    {
      "id": "ethereum-rpc-privacy-fact-transaction-lookup",
      "articleSlug": "ethereum-rpc-privacy",
      "statement": "Transaction lookup: RPC methods can request a particular transaction or receipt.",
      "sourceIds": [
        "source-a5154b4118a3d15f"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-a5154b4118a3d15f",
          "locator": "eth_getBalance; eth_getTransactionReceipt; block parameter; logs"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh eth_getBalance parameters include queried address; receipt lookup includes requested transaction hash. Node guide explicitly describes avoiding intermediary address/balance exposure. Privacy source currently states Ethereum remains a public transparent ledger. Draft makes an inference about what endpoint receives and explicitly avoids unsupported retention-policy claims."
        ]
      }
    },
    {
      "id": "ethereum-rpc-privacy-fact-public-activity",
      "articleSlug": "ethereum-rpc-privacy",
      "statement": "Public activity: Ethereum’s public ledger can reveal transaction relationships.",
      "sourceIds": [
        "source-236481753b554345"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-236481753b554345",
          "locator": "Public ledger; wallet and network privacy"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Fresh eth_getBalance parameters include queried address; receipt lookup includes requested transaction hash. Node guide explicitly describes avoiding intermediary address/balance exposure. Privacy source currently states Ethereum remains a public transparent ledger. Draft makes an inference about what endpoint receives and explicitly avoids unsupported retention-policy claims."
        ]
      }
    }
  ],
  "sources": [
    {
      "id": "x425-eth-eth-jsonrpc",
      "label": "Ethereum JSON-RPC API",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/developers/docs/apis/json-rpc/",
      "locator": "eth_getBalance; eth_getTransactionReceipt; block parameter; logs",
      "note": "RPC requests explicitly identify addresses and block scope; receipts and removed log fields support verification examples.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:24.990Z",
      "contentSha256": "ed13997ec4f415dff80883add0730d4e64bcc8c17b95dd4f6c27aed0241a4073",
      "recordId": "source-a5154b4118a3d15f"
    },
    {
      "id": "x425-eth-eth-nodes",
      "label": "Ethereum nodes and clients",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/developers/docs/nodes-and-clients/",
      "locator": "Execution and consensus clients; synchronization; node types",
      "note": "Post-Merge client roles, optional validators and synchronization modes.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:26.405Z",
      "contentSha256": "504af7a98b297efac4a639ad20b92921c64db4df44e543acc2f75683f56420d2",
      "recordId": "source-81c7c6821c46702f"
    },
    {
      "id": "x425-eth-eth-privacy",
      "label": "Ethereum privacy",
      "publisher": "ethereum.org contributors",
      "url": "https://ethereum.org/en/privacy/",
      "locator": "Public ledger; wallet and network privacy",
      "note": "Public address activity and privacy consequences of sharing queries with intermediaries.",
      "version": "Documentation snapshot retrieved 2 October 2026; response hash recorded separately",
      "checkedAt": "2026-10-02T18:55:24.562Z",
      "contentSha256": "37b32a087997be1348aa2ff16921c8212dd636741e5f31e054948ee1d1336cf6",
      "recordId": "source-236481753b554345"
    }
  ],
  "related": {
    "articles": [
      "ethereum-nodes-rpc",
      "ethereum-block-explorer",
      "walletconnect-sessions",
      "ethereum-send-max-balance"
    ],
    "dossiers": [],
    "wallets": []
  },
  "revisionHistory": [
    {
      "date": "2026-10-02",
      "kind": "published",
      "summary": "First publication after primary-source research and separate automated verification."
    }
  ],
  "citation": "Degrees of Satoshi editorial project. “What can an Ethereum RPC provider learn about a wallet?.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/ethereum-rpc-privacy/"
}
