The spend rule is enforced by the covenant or script path.
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.
The app reads accepted rows and derives state for review.
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.
Start with examples that already have TN12 txids or app receipts.
These need wallet, custody, or app-state work before they become user products.
The public demo stays testnet-only until signing, replay, and custody are hardened.
Self-serve runbook
Run it yourself.
Start with tKAS, pick a lane, use your wallet, then replay the accepted evidence before trusting the UI.
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.
Open the faucet, fund a fresh kaspatest: address, then paste the txid/outpoint into Manual funding.
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 PlaygroundExport a request, review the fields, sign outside the repo, return signed bytes, then run validation.
Open wallet handoffTrust the screen only after the txid is accepted, the app receipt or output matches, and replay checks pass.
Open indexer replayDetailed 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.
Nine core proof/funding/settlement rows plus seven role-separated repeats.
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.
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.
Use the lockfile; avoid ad hoc dependency drift.
Runs script checks, negative checks, and UI smoke checks.
Verifies public TN12 proof and app-receipt evidence.
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.
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.
Export a request, sign outside the repo, return signed bytes, submit, and replay.
Read accepted transactions continuously and handle removed blocks before updating app state.
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.
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.
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 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
Vault, assurance, escrow release, escrow DAA-refund, and escrow mutual-cancel proof transactions, covenant-shaped UX, signed/broadcast scripts, and explorer-verifiable testnet outputs.
Mainnet covenant tooling, user-wallet signing, live replay behavior, and production wallet integration are tracked separately.
User-wallet signing, live rollback evidence, durable app-receipt replay, and one concrete settlement flow.