Solflare Wallet
  • ☀️Introduction
    • The Power of Self-Custody
    • Benefits of Non-Custodial Wallets
    • Digital Wallet Best Practices
    • Bigger Picture
  • Onboarding
    • 📞Mobile
      • Generate a New Wallet
      • Connect a Ledger Wallet
      • Import any Solana Wallet
    • 🖥️Web App & Extension
      • Generate a New Wallet
      • Import Your Ledger Device
      • Import Your Keystone Device
      • Import any Solana Wallet
    • 🚶Next Steps
  • Integrations
    • ⛓️Integrate Solflare
      • MetaMask
      • Using the Solana Wallet Adapter
      • Solflare Wallet SDK
    • 🎭Profile Picture Protocol
      • Get a Wallet's Profile Picture
      • Set NFT as Profile Picture
      • Remove a Profile Picture
    • ⚡Solflare Notifications
      • Sending Notifications
      • User's Perspective
        • Notification Center
        • Receiving Notifications
        • Subscription Management
      • API Endpoints
        • Broadcast Endpoint
        • Unicast Endpoint
        • List Casts Endpoint
        • View Cast Endpoint
        • Check Public Key Subscription Status for Domain
    • 🖼️NFT Standard
      • URI JSON Schema
      • CDN hosted files
      • Collections
      • Additional Attributes Specification
      • Order of JSON Fields
    • 🔗Deeplinks
      • Provider Methods
        • Connect
        • Disconnect
        • SignAndSendTransaction
        • SignAllTransactions
        • SignTransaction
        • SignMessage
      • Other Methods
        • Browse
      • Handling Sessions
      • Specifying Redirects
      • Encryption
      • Limitations
Powered by GitBook
On this page
  • Base URL
  • Query String Parameters
  • Returns
  • Example

Was this helpful?

  1. Integrations
  2. Deeplinks
  3. Provider Methods

SignAndSendTransaction

PreviousDisconnectNextSignAllTransactions

Last updated 2 years ago

Was this helpful?

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.

For more information about the nature of Solana transactions, please review the , as well as the .

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 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 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
}

Returns

Approve

  • nonce: A nonce used for encrypting the response, encoded in base58.

// content of decrypted `data`-parameter
{  
    "signature": "..." // transaction-signature
}

Reject

{          
    "errorCode": "...",          
    "errorMessage": "..."          
}  

Example

transaction (required): The 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 .

session (required): The session token received from the method. Please see for more details.

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 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 method implemented in our demo application.

🔗
solana-web3.js docs
Solana Cookbook
Connect
Specifying Redirects
transaction
defined in Solana web3.js
Connect
Handling Sessions
Encryption
transaction id
Errors
signAndSendTransaction