SignAndSendTransaction
Once connected to Solflare, an application can ask the user for permission to send transactions on their behalf.
In order to send a transaction, an application must:
1. Create an unsigned transaction.
2. Have the transaction be signed and submitted to the network by the user's Solflare wallet.
3. Optionally await network confirmation using a Solana JSON RPC connection.
Base URL
https://solflare.com/ul/v1/signAndSendTransaction Query String Parameters
dapp_encryption_public_key(required): The original encryption public key used from the app for an existing Connect session.nonce(required): A nonce used for encrypting the request, encoded in base58.redirect_link(required): The URI where Solflare should redirect the user upon completion. Please review Specifying Redirects for more details. URL-encoded.payload(required): An encrypted JSON string with the following fields:
{
"transaction": "...", // serialized transaction, base58-encoded
"sendOptions": "..." // an optional Solana web3.js sendOptions object
"session": "...", // token received from the connect method
}transaction(required): The transaction Solflare will sign and submit is serialized and encoded in base58.sendOptions(optional): An optional object that specifies options for how Solflare should submit the transaction. This object is defined in Solana web3.js.session(required): The session token received from the Connect method. Please see Handling Sessions for more details.
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.
// content of decrypted `data`-parameter
{
"signature": "..." // transaction-signature
}signature: The first signature in the transaction can be used as its transaction id.
Reject
An errorCode and errorMessage as query parameters. Please refer to Errors for a full list of possible error codes.
{
"errorCode": "...",
"errorMessage": "..."
} Example
Please refer to the signAndSendTransaction method implemented in our demo application.
Last updated
Was this helpful?