🔲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:
runeName
a string representing the name of the Rune to transferamount
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 methodaddress
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:
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