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

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 solana-web3.js docs, as well as the Solana Cookbook.

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 decrypt data using 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.

PreviousDisconnectNextSignAllTransactions

Last updated 2 years ago

Was this helpful?

🔗