Updated: 1/24/2026
Partially Signed Kaspa Transactions (PSKT & PSKTB)
A collection of notes & links on Partially Signed Kaspa Transactions (PSKT & PSKB)Kaspa’s PSKT implementation follows the specification defined in BIP-370.
Roles
The following roles are used (as defined by BIP-370):
| Role | Notes |
|---|---|
| Creator | Initializes the PSKT (with 0 inputs and 0 outputs). |
| Constructor | Adds inputs/outputs. |
| Updater | Sets sequence number. |
| Signer | Signs inputs. |
| Combiner | Merges multiple PSKTs into one. |
| Finalizer | Completes the PSKT (ensures all inputs have valid signatures, and finalizes the transaction). |
| Extractor | Extracts final transaction from the PSKT. |
Process
Very high level and simple example of the process:
1. Create PSKT
Create PSKT from a Transaction object, from a serialized PSKT, or from scratch. When created from scratch, it starts with no inputs and no outputs.
2. Add Inputs/Outputs
Add inputs and outputs as necessary.
3. Serialize
Serialize PSKT for transmission to signers or other parties.
4. Sign
Signers deserialize and sign the PSKT. Then continue to pass serialized PSKT until all signers have signed.
5. Finalize, Extract & Submit
Final party or coordinator finalizes the PSKT, extracts the transaction, and submits it to the network.