Swapping
Swapping requires 2 roles: The maker who initiates the swap and the taker who fills the open swap.
There are a few types of swap we can do.
STAS for STAS where we swap one STAS token for another.
P2PKH for STAS which is swapping BSV for STAS
STAS for P2PKH swaps STAS for BSV
The swap transaction
The maker creates a partial transaction
Index | Input | Output |
---|---|---|
0 | Maker offered UTXO | Maker wanted output |
The offered UTXO is one the maker owns and the wanted output is a script that pays the maker.
The taker then completes the transaction adding the payment and change.
Index | Input | Output |
---|---|---|
0 | Maker offered UTXO | Maker wanted output |
1 | Taker UTXO | Taker output |
2 | Funding UTXO | Change output |
Steps
The swap can be done in 2 or 3 steps depending on the need to validate the taker UTXO. If the taker UTXO is a token then this token should be validated by the maker before he signs the transaction.
2 step swap
The maker creates a partial transaction and signs it using sighash single | anyone can pay. The partial transaction is then offered for completion.
The taker then adds his inputs and outputs and signs the transaction then submits it to the blockchain.
3 step swap
The maker creates a partial transaction and offers it for completion.
The taker then adds his inputs and outputs and signs the transaction then returns it to the maker.
The maker then signs the transaction and submits it to the blockchain.
There's an example of using the SDK to create swaps here
Last updated