> ## Documentation Index
> Fetch the complete documentation index at: https://docs.startale.com/llms.txt
> Use this file to discover all available pages before exploring further.

# eth_requestAccounts

> Request the connected wallet address. Opens the connection popup if not yet connected.

Initiates the connection flow. The first call opens the popup; subsequent calls return the cached address.

## Request

```ts theme={null}
const accounts = await provider.request<string[]>({
  method: 'eth_requestAccounts',
})
```

## Parameters

None.

## Returns

`string[]`, array of addresses. The first element is the user's smart-account address. Currently always a single address.

## Errors

| Code   | Cause                                     |
| ------ | ----------------------------------------- |
| `4001` | User rejected the connection in the popup |

## Notes

* Must be called from within a user gesture (e.g. a click handler), or browsers will block the popup.
* After this call resolves, all other RPC methods become available.

## Related

* [`wallet_connect`](/api-reference/rpc-methods/wallet-connect), variant that also returns capabilities.
* [Connect a wallet](/app-sdk/connect)
