sponsorTransaction
Constructs and signs a sponsored transaction as the sponsor. Takes an origin-signed transaction and adds the sponsor's authorization, paying the transaction fee on behalf of the original sender.
Usage
import {
makeSTXTokenTransfer,
sponsorTransaction,
broadcastTransaction,
} from '@stacks/transactions';
// Step 1: The origin creates a sponsored transaction
const transaction = await makeSTXTokenTransfer({
recipient: 'ST1SJ3DTE5DN7X54YDH5D64R3BCB6A2AG2ZQ8YPD5',
amount: 1000000n,
senderKey: 'origin-private-key-here',
network: 'testnet',
sponsored: true, // Mark as sponsored
});
// Step 2: The sponsor signs the transaction
const sponsoredTx = await sponsorTransaction({
transaction,
sponsorPrivateKey: 'sponsor-private-key-here',
fee: 10000n,
sponsorNonce: 0n,
network: 'testnet',
});
// Step 3: Broadcast the sponsored transaction
const result = await broadcastTransaction({ transaction: sponsoredTx, network: 'testnet' });Notes
The original transaction must have
sponsored: trueset when it was created.If
feeis omitted, the fee is estimated automatically.If
sponsorNonceis omitted, the sponsor's nonce is fetched automatically.Supported transaction types: token transfers, smart contract deploys, and contract calls.
Signature
Returns
Promise<StacksTransactionWire>
A promise that resolves to a fully-signed sponsored StacksTransactionWire object, ready to be broadcast.
Parameters
sponsorOptions (required)
Type:
SponsorOptionsOpts
Last updated
Was this helpful?