SignAndSendTransaction
Last updated
Was this helpful?
Last updated
Was this helpful?
Once an application is connected to Phantom, it can prompt the user for permission to send transactions on their behalf.
In order to send a transaction, an application must:
Create an unsigned transaction.
Have the transaction be signed and submitted to the network by the user's Phantom wallet.
Optionally await network confirmation using a Solana JSON RPC connection.
For a sample transaction using Phantom deeplinks, check out our .
dapp_encryption_public_key
(required): The original encryption public key used from the app side for an existing 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. Please review for more details. URL-encoded.
payload
(required): An encrypted JSON string with the following fields:
transaction
(required): The that Phantom will sign and submit, serialized and encoded in base58.
sendOptions
(optional): An optional object that specifies options for how Phantom should submit the transaction. This object is .
session
(required): The session token received from the method. Please see for more details.
nonce
: A nonce used for encrypting the response, encoded in base58.
data
: An encrypted JSON string. Refer to to learn how apps can decrypt data
using a shared secret. Encrypted bytes are encoded in base58.
signature
: The first signature in the transaction, which can be used as its .
An errorCode
and errorMessage
as query parameters. Please refer to for a full list of possible error codes.
Please refer to the .