Kaspa testnet lab

TN12 covenant lab workbench

TN12 configured. Proof transactions accepted.

Open accepted txids first.

Review accepted txids, replay checks, and app receipts first. Commands, artifacts, and unfinished builder work are below.

Workbench boundary

This page is for builder detail.

Use Home and Results for accepted txids and replayed balances. Use Lab Tools for commands, artifacts, app receipts, and unfinished builder work.

Script-enforced

The spend rule is enforced by the covenant or script path.

Replay-derived

The app reads accepted rows and derives state for review.

Wallet policy

A signer or wallet should refuse or warn before broadcast; script enforcement is separate.

Workbench map

Pick one task.

Start with accepted TN12 evidence. Open product ideas or blockers only after the proof set is clear.

Read the product execution plan

Self-serve runbook

Run it yourself.

Start with tKAS, pick a lane, use your wallet, then replay the accepted evidence before trusting the UI.

Before copying commands

Run npm ci first, then check docs/COMMAND_RUNBOOK.md. Lab commands fall into classes: local checks, artifact refreshes, wallet-file writers, and submit/broadcast commands. Most panels below only rebuild review artifacts; wallet commands write testnet-only files under .local/, and anything with --submit is a real TN12 broadcast.

1 Get TN12 tKAS

Open the faucet, fund a fresh kaspatest: address, then paste the txid/outpoint into Manual funding.

Open funding importer
2 Pick a lane

Use TN12 Playground for accepted transfers, Invoices for app receipts, Assurance/Escrow for covenant spend rules, and pool-style lab checks for replay and spend checks.

Open TN12 Playground
3 Use your own wallet

Export a request, review the fields, sign outside the repo, return signed bytes, then run validation.

Open wallet handoff
4 Replay before believing it

Trust the screen only after the txid is accepted, the app receipt or output matches, and replay checks pass.

Open indexer replay
Detailed lane guide

Detailed lane guide

What can be opened, repeated, or studied.

This detailed guide is available for builders. The product map above is the shorter route.

Core lab notes

What to read first.

Accepted proof transactions 16

Nine core proof/funding/settlement rows plus seven role-separated repeats.

Accepted app receipts 40

JSON wRPC app receipts include pool-style, scheduler intent/bid/execution/binding, and agent release events; the public REST route is kept as a dropped-receipt negative result.

Verifier command evidence refresh

npm run demo:operator-refresh verifies TN12 evidence and reruns local checks.

Read docs/PROOF_INDEX.md and docs/TN12_TEST_MATRIX.md before broader app notes.

Check path

One verification route.

Use this path when you need exact checks before reading deeper app notes.

Install npm ci

Use the lockfile; avoid ad hoc dependency drift.

Local gate check:all

Runs script checks, negative checks, and UI smoke checks.

TN12 gate check:tn12

Verifies public TN12 proof and app-receipt evidence.

Full refresh evidence refresh

Runs npm run demo:operator-refresh and refreshes local evidence files.

Proof docs and script groups are available when you need the full detail.

Vault and proof setup Policy builder, next verification work, lifecycle, and templates.

Vault policy

Inputs

Generated policy JSON

Policy ID ...

    
          

    Build next

    Three practical gaps.

    Keep the public path simple: sign with a real wallet, replay accepted txids, then settle one user flow end to end.

    Wallet handoff

    Export a request, sign outside the repo, return signed bytes, submit, and replay.

    Indexer replay

    Read accepted transactions continuously and handle removed blocks before updating app state.

    Settlement flow

    Pick one payout/refund path and show the exact spend evidence.

    Long task queues stay in repo files.

    How the vault should feel

    Lifecycle

      Wallet interface

      Manual address check

      This TN12 address has been used for accepted proof transactions. Paste exact explorer outpoint data before signing new attempts.

      kaspatest:qrtnnhjt8ds6398srxytdn7sjc7585d5pfu8gymxvy32fufwpdsd22432yamt

      Use the TN12 explorer for transaction IDs and output indexes.

      Vault templates

      Pick the next covenant-shaped primitive.

      Assurance funding Individual pledge rules, batch campaign state, and script/app boundaries.

      Assurance contract

      Inputs

      Funding rule

      Release if funded, refund if not.

          
                

          Batch assurance campaigns

          Many pledge outputs, one campaign state.

          The app groups multiple accepted pledge records. Draft pledges can be shown, but they cannot release campaign funds.

          npm run campaign:state
          npm run campaign:custody

          Enforcement matrix

          What scripts enforce and what the app tracks.

          Use this to see which behavior is enforced by Silverscript and which behavior still needs wallet or app checks.

          npm run enforcement:matrix
          Settlement and app examples Escrow, treasury, commitments, scheduler, passes, assets, auctions, pool-style checks, and agents.

          Escrow primitive

          Buyer fund, seller release, timeout refund, mutual cancel.

          Commerce escrow primitive with accepted TN12 funding, release, DAA-refund, and mutual-cancel proof. Cancel is accepted on a separate funded output through the local TN12 compute-budget route; older bad-submit attempts are historical evidence.

          npm run escrow:registry

          Treasury / team vaults

          Spend caps, delayed large withdrawals, recovery, payroll templates.

          Team-vault patterns translated into Kaspa vault policy. The current proof covers delayed withdrawal and recovery; payroll and caps still need stronger rules.

          npm run treasury:registry

          Conditional commitments

          Commit only if enough others commit.

          This first version is transparent: signed commitments enter a pack, a solver checks the threshold, and the UI selects one release or refund route for wallet review.

          npm run coordination:market
          npm run coordination:settlement-brief
          npm run coordination:evidence-dossier

          Universal scheduler workbench

          Small version first.

          This maps scheduled jobs into rows we can test: accepted triggers, bids, execution receipts, coordination packs, auction settlement, and agent-task settlement.

          Expected behavior and predictions
          npm run scheduler:workbench

          Access passes

          Coupons, memberships, tickets, redeemable claims.

          Issuer and indexer state for passes and redemptions. Current rows are replay-derived app state, not native ticket enforcement.

          npm run access:passes

          Simple asset policy

          Mint, transfer, burn, recovery, redemption.

          Issuer-indexed policy shapes only. Native asset enforcement is future work.

          npm run asset:policies

          Auction / intent prototype

          Accepted bid payloads, winner rule, refund planning.

          Accepted bid payloads and winner state. Settlement and refunds still need explicit spends.

          npm run auction:intents

          Pool-style lab checks

          Accepted activity plus blocked execution.

          Accepted TN12 receipts and transfers feed replayed state. Oracles and settlement execution still need separate rules.

          npm run defi:refresh

          Pool-style activity hardening

          Accepted TN12 activity, replay checks, and bounded market logic.

          Session wallets execute funding, deposits, and payouts on TN12. Market pricing, oracle inputs, liquidation, and user-wallet signing are separate work.

          Show pool-style replay checks
          npm run defi:simulation
          npm run defi:scenario
          npm run defi:reducer
          npm run defi:advanced
          npm run defi:multi-wallet
          npm run defi:accepted-activity

          Stable-value paths

          Stable-value paths.

          Comparison only; no live stablecoin.

          npm run stable:value

          Issuer redemption state

          Accepted issuance, accepted redemption, and signed-only requests.

          Issuer/indexer accounting. Signed-only rows do not change accepted balance.

          npm run stable:issuer

          Agent commitment board

          Task offers, deposits, proofs, disputes, refunds.

          Accepted app commitments plus wallet approval. Payout still needs an explicit wallet action.

          npm run agent:commitments
          Proof, replay, invoices, and wallet use Accepted tx evidence, replay rows, app receipts, and submit surfaces.

          Accepted TN12 proofs

          Vault and assurance paths verified on testnet.

          Loaded from local fixture.
          npm run tx:verify

          Accepted transaction indexer

          App state derived from TN12 reads.

          This checkpoint turns accepted proof spends and app receipts into app-state records. Vaults, assurance campaigns, escrow, and receipts should pass through replay before the UI updates app state.

          Show indexed proof and app-receipt rows
          npm run indexer:checkpoint
          npm run indexer:persist
          npm run indexer:virtual-chain-run

          App receipt path

          Invoices become app state after accepted app receipts.

          Payment plus app data. The invoice is not considered paid by local JSON alone; it becomes app state only when an accepted TN12 transaction carries the matching receipt.

          npm run invoice:registry
          npm run payload:readiness
          npm run tx:payload

          Wallet-facing submit console

          Review before any testnet broadcast.

          Check inputs, outputs, fees, app data, and submit commands before signing. The user-wallet path is: review a request, sign outside the repo, return signed bytes, then submit and replay.

          Show signed draft registry
          npm run submit:registry
          npm run wallet:review
          npm run wallet:connector
          npm run wallet:connector-requests
          npm run wallet:adapter-run
          Signals and funding tools App maps, attestations, signal payloads, and manual outpoint import.

          App map

          App paths by evidence.

          Accepted evidence first. Early ideas stay in the lab until they have proof.

          Show app lane map
          docs/MASTER_APP_PLAN.md

          Reference library

          PMF, failure modes, and Kaspa mapping.

          External examples are reference material. Repo evidence is linked separately.

          Show reference rows
          npm run research:library

          Kaspa app stack

          What this naturally grows into next.

          Start with covenant products this repo can test on TN12, then move outward to infrastructure and later proof-backed apps.

          Kaspa app lab

          Base work from the application layer map.

          These app paths start with money movement, covenant spend rules, and small Kaspa-anchored state prototypes.

          Attestation registry

          Signal incentives before prediction markets.

          RTD-style products start with signed signals, source reputation, and accepted app receipts. Prediction markets and portfolio hedges consume this layer later; real-money settlement remains out of scope until assumptions are explicit.

          Sources

          Signals

          fixtures/AttestationSignals.json

          Event signal simulator

          Attestation-fed review prompts, no trading.

          Verified accepted app signals can move simulated event probabilities. Draft signals remain context only. The output is a review prompt, not settlement, advice, or automated execution.

          npm run prediction:hedge

          Signal payload

          Transaction payload receipt

          First buildable step for app data: put a compact receipt into a user transaction payload, then let an accepted-transaction indexer read it.

          Signal channels

          Do not overload block headers.

          App-specific data should start with transaction payloads and accepted transaction replay. Coinbase payload and pool support are later mining-software work.

          
                

          Manual funding

          Explorer outpoint

          Funding JSON

          Ready for transaction builder

            
                  

            TN12 setup

            Get test tokens

            Use the faucet in a browser, then verify accepted outputs through the TN12 explorer before building new spends.

            npm run address

            The command prints a `kaspatest:` address and stores testnet-only wallet material in `.local/tn12-wallet.json`. Paste that address into the faucet.

            Use fresh testnet-only wallet material for new attempts, and keep private keys out of committed files.

            Open gaps

            What still needs proof.

            The main open gaps are user-wallet signing, live rollback evidence, and one concrete settlement path that a user can run end to end.

            docs/PROGRESS.md

            Source discipline

            Status labels

            Accepted TN12

            Vault, assurance, escrow release, escrow DAA-refund, and escrow mutual-cancel proof transactions, covenant-shaped UX, signed/broadcast scripts, and explorer-verifiable testnet outputs.

            Open gaps

            Mainnet covenant tooling, user-wallet signing, live replay behavior, and production wallet integration are tracked separately.

            Build focus

            User-wallet signing, live rollback evidence, durable app-receipt replay, and one concrete settlement flow.