Sends SPL tokens from the user's wallet and awaits network confirmation


This method may lead to slightly inaccurate results due to decimal roundoff error. We highly recommend using the sendTokens method (sendTokens) instead.

(async() => {
    await SOLPay.sendTokensDecimal("WALLET_ADDRESS", 0.00001, "TOKEN_ADDRESS"); // {"from": "...", "to": "WALLET_ADDRESS", "amount_decimal": 0.00001, "token_address": "TOKEN_ADDRESS", "signature": "..."}
    await SOLPay.sendTokensDecimal("WALLET_ADDRESS", 0.00001, "TOKEN_ADDRESS", (details) => {
        // {"from": "...", "to": "WALLET_ADDRESS", "amount_decimal": 0.00001, "token_address": "TOKEN_ADDRESS", "signature": "..."}
    }); // {"from": "...", "to": "WALLET_ADDRESS", "amount_decimal": 0.00001, "token_address": "TOKEN_ADDRESS", "signature": "..."}


  • address: string - the address where the tokens should be sent

  • amount_decimal: number - the decimal amount of tokens to send

  • token_address: string - the mint address of the token

  • preconfirm (optional, default: (details) => {}): function - a function to capture the unconfirmed and unbroadcasted transaction details before the transaction has been broadcasted and confirmed on the Solana network


object ({"from": "...", "to": "WALLET_ADDRESS", "amount_decimal": 0.00001, "token_address": "TOKEN_ADDRESS", "signature": "..."}) - the transaction details

  • from: string ("...") - the address from which Solana is sent

  • to: string ("...") - the address to which Solana is sent

  • amount_decimal: number (0.00001) - the amount of tokens sent

  • token_address: string("...") - the address of the token sent

  • signature: string ("...") - the signature of the transaction


  • SOL Pay SDK Fatal Error: No connection found. Use SOLPay.connectNetwork() to connect to the Solana network. - could not find a connection to the Solana network

  • SOL Pay SDK Fatal Error: No wallet connection found. Use SOLPay.connectWallet() to connect to a Solana wallet. - no wallet was connected

  • SOL Pay SDK Fatal Error: Unable to get recent blockhash. - was not able to get a recent blockhash

  • SOL Pay SDK Fatal Error: SOL Pay SDK Fatal Error: Unable to broadcast transaction. - was not able to broadcast the transaction

  • SOL Pay SDK Fatal Error: The preconfirm function returned an error, halting the transaction from being sent: ${err} - did not send transaction because the preconfirm function could not be run to completion successfully

  • SOL Pay SDK Fatal Error: Invalid transfers ${transfers}. - invalid transfers were used

  • SOL Pay SDK Fatal Error: Invalid serialized transaction ${serialized_transaction}. - an invalid serialized transaction was used


Sending a transaction includes a fee of at least 0.000005 SOL.

Last updated