🔲runes_transfer

You can use the runes_transfer method to request Runes transfers from your user's wallet. You can request multiple transfers in a single request, each transfer involving:

  • a rune

  • a transfer amount

  • a recipient address

The method accepts a recipients array as request parameter:

Request parameters
Description

recipients

an array of transfer objects with <runeName, amount & recipient> properties:

  • runeName a string representing the name of the Rune to transfer

  • amount a number representing the amount of Rune tokens to send. ℹ️You can retrieve your user's balance of any Rune tokens with the runes_getBalance method

  • address a string representing the Bitcoin address of the Rune transfer recipient ℹ️ We recommend managing runes holdings on taproot/ordinal addresses.

import { request } from "sats-connect";

   const response = await request('runes_transfer', {
      recipients: [
        {
          runeName: 'UNCOMMON•GOODS',
          amount: 200,
          address: ordinalsAddress1,
        },
        {
          runeName: 'SATOSHI•NAKAMOTO',
          amount: 100,
          address: ordinalsAddress2,
        }]
    });

    if (response.status === "success") {
      // handle success
    } else {
      if (response.error.code === RpcErrorCode.USER_REJECTION) {
        // handle user cancellation error
      } else {
        // handle error
      }
    }
  } catch (err) {
      alert(err.error.message);
  }

The user will be prompted to review the Rune transfer transaction in the wallet, and to confirm:

  • the recipients and amounts of the Rune token to send

  • their desired Bitcoin transaction fee

The transaction will be signed and broadcasted upon user approval.

The runes_transfer method returns a Promise that resolves to the transferRunesResult object:

Property
Description

txid

The Bitcoin transaction id as a hex-encoded string.

If the requested transfer requires a Runestone whose size exceeds the OP_RETURN payload limit of 80 bytes, runes_transfer will return an error.

Last updated