Skip to main content

PSBT and transactions

UTXO applications should construct transactions carefully, request a signature through Pali, and broadcast only after the user approves.

Sign a PSBT​

Pali Wallet

UTXO • Syscoin

PSBT Sign Review

UTXO signing confirmation

Scroll inside the preview to inspect outputs, inputs, size, weight, and lock time.

Pali PSBT signing review screen
Pali prompts the user before signing UTXO PSBTs.
const signed = await window.pali.request({
method: 'sys_sign',
params: [psbtBase64],
});

Sign and send​

const txid = await window.pali.request({
method: 'sys_signAndSend',
params: [psbtBase64],
});

Fetch transactions​

const transactions = await window.pali.request({
method: 'sys_getTransactions',
});

const tx = await window.pali.request({
method: 'sys_transaction',
params: [txid],
});

Validate an address​

const valid = await window.pali.request({
method: 'sys_isValidSYSAddress',
params: [address],
});

Dapp responsibility​

Pali signs what the user approves. Your application is responsible for constructing sane PSBT inputs, outputs, fees, change, and asset metadata before requesting a signature.

Account selection​

Signing is bound to the account connected to the requesting dapp and the approved network. PSBT metadata cannot select another wallet account. If Pali is displaying a different account, it can ask the user to switch to the connected account before approval. To use another account, change the dapp connection and request a new approval.

For a PSBT with unfinished inputs, at least one unfinished input must belong to that approved account. Pali signs only that account's inputs. Shared and multisig transactions can therefore return partially signed; other participants must complete their own inputs or signatures. Existing external signatures and supported finalized inputs are preserved. A completely finalized PSBT can be returned without adding signatures. Hardware-wallet support still depends on the device and transaction format.

A change of account or network invalidates the pending signing context. Rebuild or recheck the request and obtain a fresh approval instead of replaying the old request.