🔲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:
recipients
an array of transfer objects with <runeName, amount & recipient> properties:
runeNamea string representing the name of the Rune to transferamounta number representing the amount of Rune tokens to send. ℹ️You can retrieve your user's balance of any Rune tokens with the runes_getBalance methodaddressa 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:
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