Battle test: PegLab vs Parker’s GitHub PoC

Parker’s public model is not a dollar printer. It is kaspa-explained (Testnet-10 receipts, wrap lab, Sprout Harbor) plus tn12-covenant-vault-demo (accepted TN12 vault/escrow/assurance proofs).

Authority: DOCTRINE.md. This file scores this PegLab checkout against that model. PegLab is allowed to lose. If a row says Parker wins, do not “fix” it by calling tPEG USD.

TESTNET TOY. NOT USD. DO NOT RAISE AGAINST tPEG.

Sources dated September 2026: Parker README + docs/wrap-poc.md + docs/backed-receipt.md; PegLab src/engine.mjs, MAINNET.md, VISION.md.


1. What Parker actually proved

Native receipt (the object PegLab should become)

From backed-receipt.md / wrap lab:

Wrap / “stable” path (explicitly not money)

Economy (Sprout Harbor)

TN12 covenant lab

Parker’s model in one sentence: lock real tKAS (or a named test wrap), prove the spend rule, journal the txid, never call it a bank dollar.


2. Scorecard

TestParker PoCPegLab (this repo)Winner
What the unit *is*1 receipt = 1 sompi locked in the outputtPEG minted at an admin oracle (default 100_000 sompi/tPEG) plus a 2 tKAS constant-product poolParker for money. PegLab is a *different object*: a depeg toy.
Dollar claimForbidden. wTestUSD cannot buy crops. pUSD is freely minted test.Forbidden in copy (WILL DEPEG). Engine still *has* a USD-shaped oracle + poolTie on copy. Parker wins on *mechanism* (no dollar feed).
RedemptionHolder spends backing; no oracleRedeem tPEG for tKAS at admin priceParker
FeesSponsor input; no skim of principalLab UI does not yet enforce sponsor-fee on a live UNIT txParker
On-chain evidenceAccepted TN10/TN12 txids, JSON journals, explorer linksEngine + tests + optional genesis submit; no public accepted UNIT transfer/redeem journalParker
Caps10 tKAS teaching bound on receipts10 tKAS backing, 10k tPEG, 2 tKAS pool — same teaching scaleTie
IdentityGenesis / template / series; name ≠ authenticitySame sentence in PegLab copyTie
Fail closedWrong signer/amount/skim rejected; wrap rejects duplicate deposit/burnEngine rejects ALIGN, OVER_CAP, PAUSED, STALE_ORACLE, BAD_ADMIN, TINY_POOLTie on *intent*. Parker has VM + node rejects on record.
Oracle honestyWrap oracle is named as trust. Native receipt has none.Admin key *is* the price. Lab shows the depeg on purposePegLab as a *lesson*. Parker as a *product*.
AMM / “peg defense”Explicitly no AMM on TN12 (“current gaps”)Tiny pool is the depeg demoPegLab for teaching. Parker for not pretending a pool is a peg.
Timeout / escrowTN12 buyer escrow, delayed vault, pledge refund — acceptedDocumented for KaChat (KaChatPayTimeout); not liveParker
Indexer / replayPayload receipts, replay guards, claim classesNo UNIT indexer row yetParker
WalletsEncrypted browser journal; wrap keys stay .local/; Kaspa does not get a public signing serverKasWare header (Gramlane getBalance) + localhost faucet; public site has no host keyTie (different surfaces). Parker is ahead on recorded independent-role txs.
Product sceneTown that spends tKAS with rulesKaChat-on-phone vision; PC told KaChat is mobile-onlyPegLab on *consumer story*. Parker on *executed economy*.
Funding / law mapWrap-poc “from here to real capital” table (asset, oracle, users, supply, finality, recovery, assurance, obligations)MAINNET.md + STABLES-GUIDE.md: Maker/Circle/Liquity funding, GENIUS, never raise tPEGPegLab on *capital honesty*. Parker’s table is tighter on *ops*.
MainnetOut of scope; readiness doc is gapsOut of scope as money; successor A = Parker’s receipt**Parker already *is* successor A**

Verdict: PegLab does not beat Parker as a Kaspa unit. Parker’s backed receipt is the thing MAINNET.md calls successor A. PegLab wins only as the public depeg classroom and the fundraising/KaChat map. If you deploy PegLab’s pool+oracle on kaspa:, you lose the battle Parker already won in copy: *do not let a test wrap buy the town.*


3. Battle on Parker’s own tests

Run PegLab’s engine against Parker’s receipt rules. Failures are expected where PegLab is a different machine.

Parker rulePegLab todayResult
Quantity = backing sompiMint: tKAS in must be a multiple of oracle price, not 1:1 sompiFAIL as receipt. PASS as “toy mint.”
No price oracle on the unitDEFAULT_ORACLE = 100_000n sompi/tPEG; mint/swap require oracleLiveFAIL as receipt. PASS as depeg lab.
Sponsor pays fees; no skimNot encoded in the live UNIT pathFAIL until successor copies Parker’s sponsor pattern
Transfer conserves unitstransfer conserves tPEG quantitiesPASS (tPEG, not sompi)
Redeem to holder P2PKRedeem burns tPEG, pays tKAS at oracleFAIL as 1:1 sompi redeem. Different payout.
Tiny pool cannot defend $1cannotDefendPeg true at seed; depeg lab moves pool >5%PASS — this is PegLab’s job
Name ≠ authenticityCopy + series idPASS in docs
Accepted txid journalMissing for UNITFAIL
wTestUSD cannot buy cropstPEG must not sit in KaChat as moneyPASS in KACHAT.md; FAIL if anyone lists lab tPEG in 4.x

4. What PegLab should steal from Parker (copy-paste)

Not the town art. The enforcement.

  1. Successor A = Parker’s receipt. Kill the admin USD oracle on any asset KaChat would show. 1 unit = 1 sompi.
  2. Sponsor fee input. Parker already wrote it. MAINNET.md already requires it for 0-KAS receivers.
  3. Evidence pack. Every “done” is an accepted txid JSON like Parker’s wrap verification record — not a screenshot of the depeg UI.
  4. Claim vocabulary. Label PegLab engine rows ENGINE_SPEC, SilverScript SCRIPT_ENFORCED, homepage copy COPY_ONLY. Do not mix.
  5. Wrap honesty. If you ever host USDC, say “trusted issuer/bridge” the way Parker says “trusted test oracle.” wTestUSD cannot buy crops becomes tPEG cannot pay KaChat.
  6. TN12 primitives for KaChat. Timeout pay = Parker’s delayed vault + escrow + pledge refund. Do not invent a third covenant family.
  7. .local/ never on the public host. Parker’s wrap signing server is loopback-only. PegLab faucet already is. Keep it.

5. What Parker should steal from PegLab (if anything)

Do not merge the labs into one ticker.


6. Outcome

If you wanted…WinnerNext move
A Kaspa-native unit people can transfer and redeemParker receiptStop minting tPEG at an oracle. Implement successor A on TN10 with Parker’s sponsor-fee rules. Journal txids.
A dollarNeitherCircle/Tether or a licensed company. Parker already refused. PegLab MAINNET.md same.
A teaching depegPegLabKeep WILL DEPEG. Do not mainnet the pool.
Chat settlementNeither liveParker has escrow/timeout on TN12. PegLab has the KaChat story. Combine: Parker primitive + KaChat signer.
Something to raise money againstNeitherGrants for indexer/signer. Equity only if you are an issuer.

Short version: Parker’s GitHub PoC already *is* the honest Kaspa unit. PegLab is the honest warning that a pool is not a peg. Battle-test score: receipts 1–0 Parker; classroom 1–0 PegLab; dollars 0–0. Deploy the receipt. Keep the lab. Do not put PegLab’s oracle on mainnet.

Parker: https://github.com/parker2017code/kaspa-explained · https://github.com/parker2017code/tn12-covenant-vault-demo PegLab: this repo · MAINNET.md