# Access account

User accounts can be used in various contexts on Ethereum, including as identifiers and to sign transactions. In order to request a user's signature or have the user approve a transaction, the user's account must be accessible. The following wallet methods involve signing or transaction approval, both of which require sending accounts as a function parameter.

* `eth_sendTransaction`
* `eth_sign`（Not safe and not recommended）
* `eth_personalSign`
* `eth_signTypedData`

[After connecting to the user](/developer-en/extension-wallet/guide/getting-started.md), you can always recheck the current account with ethereum.selectedAddress. If you'd like to be notified when the address changes, we have an event you can subscribe to:

```javascript
ethereum.on('accountsChanged', function (accounts) {
  // Time to reload your interface with accounts[0]!
});
```

If the first account in the returned array is not the one you expected, you should notify the user! In the future, the accounts array may contain multiple ones, but now not yet available. The first account in the array will always be considered the user's "selected" account.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.tokenpocket.pro/developer-en/extension-wallet/guide/access-account.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
