Error Messages and Codes

When making requests to Phantom in Establishing a Connection, Sending a Transaction, or Signing a Message, Phantom may respond with an error. The following is a list of all possible error codes and their meanings. These error messages are inspired by Ethereum's EIP-1474 and EIP-1193.
Phantom could not connect to the network.
The requested method and/or account has not been authorized by the user.
User Rejected Request
The user rejected the request through Phantom.
Invalid Input
Missing or invalid parameters.
Requested resource not available
This error occurs when a dapp attempts to submit a new transaction while Phantom's approval dialog is already open for a previous transaction. Only one approve window can be open at a time. Users should approve or reject their transaction before initiating a new transaction.
Transaction Rejected
Phantom does not recognize a valid transaction.
Method Not Found
Phantom does not recognize the method.
Internal Error
Something went wrong within Phantom.
Typically, these errors will be easily parseable and have both a code and an explanation. For example:
try {
await window.solana.signMessage();
} catch (err) {
// {code: 4100, message: 'The requested method and/or account has not been authorized by the user.'}