- Provide a hex or UTF-8 encoded string as a Uint8Array and then base58-encoded it.
- Request that the encoded message is signed via the user’s Phantom wallet.
The message to be signed must be passed as a base58-encoded string. For more information on how to verify the signature of a message, please refer to Encryption resources.
Base URL
Query string parameters
-
dapp_encryption_public_key(required): The original encryption public key used from the app side for an existing Connect session. -
nonce(required): A nonce used for encrypting the request, encoded in base58. -
redirect_link(required): The URI where Phantom should redirect the user upon completion. For more details, see Specify redirects. URL-encoded. -
payload(required): An encrypted JSON string with the following fields:message(required): The message that should be signed by the user, encoded in base58. Phantom will display this message to the user when they are prompted to sign.session(required): The session token received from the Connect method. For more details, see Handle sessions.display(optional): How you want us to display the string to the user. Defaults toutf8.
Returns
Approve
-
nonce: A nonce used for encrypting the response, encoded in base58. -
data: An encrypted JSON string. Refer to Encryption to learn how apps can decryptdatausing a shared secret. Encrypted bytes are encoded in base58.signature: The message signature, encoded in base58. For more information on how to verify the signature of a message, see Encryption resources.
Reject
AnerrorCode and errorMessage as query parameters. For a full list of possible error codes, see Errors.