6. Worked examples
Split — pay 3 BK$ from a 10 BK$ token
One input, two outputs: receiver gets payment, sender gets change. Sum = 10.
{
"tx_id": "wallet-tx-pay1",
"type": "split",
"sender": "<your 64-hex>",
"nonce": "wallet-tx-pay1-nonce",
"inputs": [{ "token_id": "tok-10", "version": 2 }],
"outputs": [
{ "token_id": "out-recv", "value": "3.000000000000000000", "owner": "<receiver>" },
{ "token_id": "out-change", "value": "7.000000000000000000", "owner": "<your 64-hex>" }
],
"signature": "<128-hex>"
}
Merge — combine two UTXOs
Burn both inputs, mint one output to sender (often before a split payment).
{
"tx_id": "wallet-merge-tx-1",
"type": "merge",
"sender": "<your 64-hex>",
"nonce": "wallet-merge-tx-1-nonce",
"inputs": [
{ "token_id": "tok-a", "version": 1 },
{ "token_id": "tok-b", "version": 1 }
],
"outputs": [
{ "token_id": "wallet-merged-xyz", "value": "15.000000000000000000", "owner": "<your 64-hex>" }
],
"signature": "<128-hex>"
}
Merge then split (two submits)
When multiple inputs and change are needed: (1) merge → wait committed + peer quorum → (2) split with merged token’s new version.