{
  "schema": "tn12-wallet-standard-requests/v1",
  "network": "kaspa-testnet-12",
  "generatedAt": "2026-05-10T20:50:06.548Z",
  "status": "wallet-standard-request-candidates-ready",
  "selectedStandard": "pskb-pskt",
  "liveWalletIntegrationReady": false,
  "summary": {
    "sourceTemplates": 50,
    "mappedRequests": 4,
    "payloadRequests": 1,
    "computeBudgetRequests": 1,
    "blocking": 0
  },
  "requests": [
    {
      "requestId": "ureq-fcfdf1df-standard",
      "sourceRequestId": "ureq-fcfdf1df",
      "sourceSignedDraftPath": "artifacts/signed-drafts/tn12-multi-wallet-a-receipt.json",
      "label": "DeFi v1 multi-wallet A receipt",
      "class": "payload-app-state",
      "status": "wallet-standard-request-candidate-ready",
      "blockers": [],
      "body": {
        "network": "kaspa-testnet-12",
        "format": "pskb-pskt-candidate-json",
        "version": 1,
        "sourceRequestId": "ureq-fcfdf1df",
        "transaction": {
          "version": 0,
          "lockTime": "0",
          "subnetworkId": "0000000000000000000000000000000000000000",
          "inputs": [
            {
              "index": 0,
              "previousOutpoint": {
                "transactionId": "d12e4c75b7d82ebaefe68dd85917655b98b5086ce6c5742fd5c171691cd15dc9",
                "index": 0
              },
              "sequence": "0",
              "sigOpCount": 1,
              "computeBudget": null,
              "signatureScript": ""
            }
          ],
          "outputs": [
            {
              "index": 0,
              "amount": "100000000",
              "scriptPublicKey": {
                "version": 0,
                "scriptPublicKey": "20394d411e8ba8752868b7f3810077466264838676369820c2706d5fe119a81d29ac"
              }
            },
            {
              "index": 1,
              "amount": "9899995000",
              "scriptPublicKey": {
                "version": 0,
                "scriptPublicKey": "20394d411e8ba8752868b7f3810077466264838676369820c2706d5fe119a81d29ac"
              }
            }
          ],
          "payload": {
            "present": true,
            "bytes": 154,
            "hash": "h-ce7f6711",
            "hexPreview": "7b226b696e64223a226f726465722d72656365697074222c..."
          }
        }
      },
      "reviewFingerprint": "03022c4021c69473bba1873e7141fb87d28d5bc80fad988b6bf8859f34980fc4",
      "preservation": {
        "expectedTransactionIdAfterSigning": "ff7835059368b559db98e6625b0ffc82e1df2c37cb33f2fbe8abb6408d45ceaa",
        "originalSignedDraftFingerprint": "h-b5904e77",
        "computeBudgetInputs": 0,
        "mustPreserve": [
          "network",
          "version",
          "lockTime",
          "subnetworkId",
          "previousOutpoints",
          "sequences",
          "sigOpCount fields when present",
          "computeBudget fields when present",
          "outputs",
          "payload bytes"
        ],
        "requiredWalletChecks": [
          "Confirm kaspa-testnet-12.",
          "Display exact inputs, outputs, fees, version, lock time, and payload bytes.",
          "Require explicit user action.",
          "Reject public REST payload submit."
        ]
      },
      "signerReturnContract": {
        "required": [
          "signedTransaction",
          "transactionId",
          "reviewFingerprint",
          "payloadBytes",
          "inputBudgetReport",
          "signerName",
          "signerVersion"
        ],
        "rejectWhen": [
          "reviewFingerprint changes",
          "payload bytes differ from request",
          "output amount or script changes",
          "previous outpoint changes",
          "computeBudget is dropped or rewritten on v1 covenant inputs",
          "network differs from request"
        ]
      }
    },
    {
      "requestId": "ureq-fda320a9-standard",
      "sourceRequestId": "ureq-fda320a9",
      "sourceSignedDraftPath": "artifacts/signed-drafts/role-escrow-release.json",
      "label": "Role-separated escrow release",
      "class": "contract-proof",
      "status": "wallet-standard-request-candidate-ready",
      "blockers": [],
      "body": {
        "network": "kaspa-testnet-12",
        "format": "pskb-pskt-candidate-json",
        "version": 1,
        "sourceRequestId": "ureq-fda320a9",
        "transaction": {
          "version": 0,
          "lockTime": "0",
          "subnetworkId": "0000000000000000000000000000000000000000",
          "inputs": [
            {
              "index": 0,
              "previousOutpoint": {
                "transactionId": "64b68f1cc61acc1197198e67bf0c49130db9a43dead1d94823f81b487a5707a3",
                "index": 0
              },
              "sequence": "18446744073709551615",
              "sigOpCount": 1,
              "computeBudget": null,
              "signatureScript": ""
            }
          ],
          "outputs": [
            {
              "index": 0,
              "amount": "99995000",
              "scriptPublicKey": {
                "version": 0,
                "scriptPublicKey": "2054c30da88e06a72eedd1f445fa42c82c68c0d4aaea58710abc07fdedc1b1c669ac"
              }
            }
          ],
          "payload": {
            "present": false,
            "bytes": 0,
            "hash": "",
            "hexPreview": ""
          }
        }
      },
      "reviewFingerprint": "3f3594fede596a084d1b06b8aba37989e984a646f0bf82ef9cdfb823a58388e1",
      "preservation": {
        "expectedTransactionIdAfterSigning": "3550475ff95e472a8ec8f50bfb2a40f8d38e90e2f69cdf8ceb6d1d51cd1e1379",
        "originalSignedDraftFingerprint": "h-5d8afc67",
        "computeBudgetInputs": 0,
        "mustPreserve": [
          "network",
          "version",
          "lockTime",
          "subnetworkId",
          "previousOutpoints",
          "sequences",
          "sigOpCount fields when present",
          "computeBudget fields when present",
          "outputs",
          "payload bytes"
        ],
        "requiredWalletChecks": [
          "Confirm kaspa-testnet-12.",
          "Display exact inputs, outputs, fees, version, lock time, and payload bytes.",
          "Require explicit user action.",
          "Preserve computeBudget and contract script arguments exactly."
        ]
      },
      "signerReturnContract": {
        "required": [
          "signedTransaction",
          "transactionId",
          "reviewFingerprint",
          "payloadBytes",
          "inputBudgetReport",
          "signerName",
          "signerVersion"
        ],
        "rejectWhen": [
          "reviewFingerprint changes",
          "payload bytes differ from request",
          "output amount or script changes",
          "previous outpoint changes",
          "computeBudget is dropped or rewritten on v1 covenant inputs",
          "network differs from request"
        ]
      }
    },
    {
      "requestId": "ureq-f5845e00-standard",
      "sourceRequestId": "ureq-f5845e00",
      "sourceSignedDraftPath": "artifacts/signed-drafts/role-escrow-refund.json",
      "label": "Role-separated escrow refund",
      "class": "contract-proof",
      "status": "wallet-standard-request-candidate-ready",
      "blockers": [],
      "body": {
        "network": "kaspa-testnet-12",
        "format": "pskb-pskt-candidate-json",
        "version": 1,
        "sourceRequestId": "ureq-f5845e00",
        "transaction": {
          "version": 0,
          "lockTime": "1778428847",
          "subnetworkId": "0000000000000000000000000000000000000000",
          "inputs": [
            {
              "index": 0,
              "previousOutpoint": {
                "transactionId": "64b68f1cc61acc1197198e67bf0c49130db9a43dead1d94823f81b487a5707a3",
                "index": 0
              },
              "sequence": "0",
              "sigOpCount": 1,
              "computeBudget": null,
              "signatureScript": ""
            }
          ],
          "outputs": [
            {
              "index": 0,
              "amount": "99995000",
              "scriptPublicKey": {
                "version": 0,
                "scriptPublicKey": "200674fd46e3b854f15fa4aad7c962005ab11b202773fc2c8ff94d985d3373aedeac"
              }
            }
          ],
          "payload": {
            "present": false,
            "bytes": 0,
            "hash": "",
            "hexPreview": ""
          }
        }
      },
      "reviewFingerprint": "f942d584621067e78ab79bb6175a3f35e127e6d859fb4b7b26bc782eaa3485b5",
      "preservation": {
        "expectedTransactionIdAfterSigning": "aed75c6b897e16bdeb9f835d3a4ce537158e6061aba14bddc4e63a448eec0b96",
        "originalSignedDraftFingerprint": "h-e4ba56cd",
        "computeBudgetInputs": 0,
        "mustPreserve": [
          "network",
          "version",
          "lockTime",
          "subnetworkId",
          "previousOutpoints",
          "sequences",
          "sigOpCount fields when present",
          "computeBudget fields when present",
          "outputs",
          "payload bytes"
        ],
        "requiredWalletChecks": [
          "Confirm kaspa-testnet-12.",
          "Display exact inputs, outputs, fees, version, lock time, and payload bytes.",
          "Require explicit user action.",
          "Preserve computeBudget and contract script arguments exactly."
        ]
      },
      "signerReturnContract": {
        "required": [
          "signedTransaction",
          "transactionId",
          "reviewFingerprint",
          "payloadBytes",
          "inputBudgetReport",
          "signerName",
          "signerVersion"
        ],
        "rejectWhen": [
          "reviewFingerprint changes",
          "payload bytes differ from request",
          "output amount or script changes",
          "previous outpoint changes",
          "computeBudget is dropped or rewritten on v1 covenant inputs",
          "network differs from request"
        ]
      }
    },
    {
      "requestId": "ureq-d12412d8-standard",
      "sourceRequestId": "ureq-d12412d8",
      "sourceSignedDraftPath": "artifacts/signed-drafts/role-escrow-cancel.json",
      "label": "Role-separated escrow cancel",
      "class": "contract-proof",
      "status": "wallet-standard-request-candidate-ready",
      "blockers": [],
      "body": {
        "network": "kaspa-testnet-12",
        "format": "pskb-pskt-candidate-json",
        "version": 1,
        "sourceRequestId": "ureq-d12412d8",
        "transaction": {
          "version": 1,
          "lockTime": "0",
          "subnetworkId": "0000000000000000000000000000000000000000",
          "inputs": [
            {
              "index": 0,
              "previousOutpoint": {
                "transactionId": "64b68f1cc61acc1197198e67bf0c49130db9a43dead1d94823f81b487a5707a3",
                "index": 0
              },
              "sequence": "18446744073709551615",
              "sigOpCount": null,
              "computeBudget": 30,
              "signatureScript": ""
            }
          ],
          "outputs": [
            {
              "index": 0,
              "amount": "99995000",
              "scriptPublicKey": {
                "version": 0,
                "scriptPublicKey": "200674fd46e3b854f15fa4aad7c962005ab11b202773fc2c8ff94d985d3373aedeac"
              }
            }
          ],
          "payload": {
            "present": false,
            "bytes": 0,
            "hash": "",
            "hexPreview": ""
          }
        }
      },
      "reviewFingerprint": "3c94c9091718fe8ba5461322e554b9764cf032d6f0a80fb74536a7255fea8353",
      "preservation": {
        "expectedTransactionIdAfterSigning": "fcddd9a9af9bb1167e28d8079f8bc6cd965f423f5d8af1c5a18911b24f12a89e",
        "originalSignedDraftFingerprint": "h-250d2c35",
        "computeBudgetInputs": 1,
        "mustPreserve": [
          "network",
          "version",
          "lockTime",
          "subnetworkId",
          "previousOutpoints",
          "sequences",
          "sigOpCount fields when present",
          "computeBudget fields when present",
          "outputs",
          "payload bytes"
        ],
        "requiredWalletChecks": [
          "Confirm kaspa-testnet-12.",
          "Display exact inputs, outputs, fees, version, lock time, and payload bytes.",
          "Require explicit user action.",
          "Preserve computeBudget and contract script arguments exactly."
        ]
      },
      "signerReturnContract": {
        "required": [
          "signedTransaction",
          "transactionId",
          "reviewFingerprint",
          "payloadBytes",
          "inputBudgetReport",
          "signerName",
          "signerVersion"
        ],
        "rejectWhen": [
          "reviewFingerprint changes",
          "payload bytes differ from request",
          "output amount or script changes",
          "previous outpoint changes",
          "computeBudget is dropped or rewritten on v1 covenant inputs",
          "network differs from request"
        ]
      }
    }
  ],
  "firstRoundTrip": {
    "requestId": "ureq-fcfdf1df-standard",
    "sourceSignedDraftPath": "artifacts/signed-drafts/tn12-multi-wallet-a-receipt.json",
    "acceptance": "external signer returns signed transaction; submit through payload-preserving route; replay accepted txid and payload bytes"
  },
  "covenantRoundTrip": {
    "requestId": "ureq-d12412d8-standard",
    "sourceSignedDraftPath": "artifacts/signed-drafts/role-escrow-cancel.json",
    "acceptance": "external signer preserves tx version 1, sigOpCount compatibility field, and computeBudget before submit"
  },
  "blocking": [],
  "boundaries": [
    "This is a repo-side wallet-standard candidate object, not an official PSKB/PSKT binary.",
    "It is intentionally field-by-field so a wallet adapter can reject any mutation before signing.",
    "No local private key, mnemonic, seed, or signature script is included.",
    "No-local-key signing is not claimed until one external signer round trip is accepted and replayed."
  ]
}
