Connect
The default way to connect to Phantom is by callingwindow.ethereum.request() function.
eth_requestAccounts method will return a Promise. If it resolves, it is an array where the connected address is in the 0th index, and rejects (throw when awaited) when the user declines the request or closes the pop-up. See Errors for a breakdown of error messages Phantom may emit.
When the user accepts the request to connect, the provider will also emit a connect event that contains the chainId of the network the user is connected to.
isConnected boolean.
Disconnect
There is no way to programmatically disconnect a user from their connection once they have established one.Once a user has established a connection, Phantom will add the website they opened a connection with to a list of “trusted apps.” The user can then revoke access through the UI at any time, and will then need to reconnect. Phantom will attempt to reconnect to any application that is added to the users’ “trusted apps” automatically.
Change accounts
Phantom allows users to seamlessly manage multiple accounts (addresses) from within a single extension or mobile app. Whenever a user switches accounts, Phantom will emit anaccountsChanged event.
If a user changes accounts while already connected to an application, and the new account had already whitelisted that application, then the user will stay connected and Phantom will pass the public key of the new account: