Experimental only. Not a product.
Do not use wallet integrations on this GitHub. STP remains a clown. DISCLAIMER.md
Parker has the unit. PegLab has the warning. KaChat has the pocket. Do not mix them.
This repo is the Testnet-10 classroom. tPEG + a 2 tKAS pool + one admin oracle will depeg if you treat it as USD. The unit you would actually ship is a KAS receipt (1 sompi locked = 1 sompi claimed) — Parker’s GitHub already proved that. Ruling: DOCTRINE.md. One-page: IDEA.md.
TESTNET-10 · NOT USD · NOT AN ISSUER · NOT A TOKEN SALE
| What you get | What you do not get |
|---|---|
| SilverScript covenant + economic engine | A bank, a Circle/Tether license, or T-bills |
| Tests that reproduce the depeg | A paid firm audit or a badge |
| A 2 tKAS / 2,000 tPEG pool | A market maker |
| One admin-posted price | Multi-feed oracles |
| Honest wallet copy | 1:1 USD redemption |
A name is not authenticity. Anybody can compile a similarly named series. Verify genesis outpoint, template hash, series bytes, and backing.
A peg survives on reserves, liquidity, and an operator who can be sued. This toy has:
- 10 tKAS of maximum backing
- 10,000 tPEG of maximum supply
- 2 tKAS of pool seed (the “tiny pool”)
- one admin key as the oracle
The depeg lab mints at the oracle, moves the oracle +25%, then sells tKAS through the pool. Target, pool price, and redeem price disagree. The pool cannot pull them together. That is the product.
Run it:
npm test
npm run fixtures
npm run serveThen open http://127.0.0.1:8765/. Public copy (no host faucet): https://stp-kas.github.io/peglab-stp/. The .club custom domain is NXDOMAIN until DNS is restored — DNS.md. On a PC, scan the QR to open the live public URL on a phone.
How to try it:
- Run Receipt PoC (Parker rules, ENGINE_SPEC). Then Classroom (depeg lab).
- On a PC: KasWare on Testnet 10, or Make local wallet + fund from host (1 tKAS). On a phone: skip KasWare.
- Three classroom prices (admin, pool, redeem) will disagree. That is why tPEG is not a bank stable.
The page never asks for a seed. Mainnet kaspa: is refused.
Dedicated PegLab wallet (receive index 0). The seed/key is not in git.
kaspatest:qzpvdakagvwfm95g8pv9ndpupjtndgjfhmve08cg3tv5wgfytjzf7cudwwzv0
Mining payouts still land on:
kaspatest:qqup3k4ru5uhj9swa05afa3zqcwkyhtv9vz9dme68cglza73mc5yk4r7an5cj
Send at least 2.01 tKAS from the miner to the PegLab wallet, then:
npm run genesis
npm run genesis:submit--submit reads gitignored .local/sponsor.json or PEGLAB_SPONSOR_KEY. Genesis locks 2 tKAS in CONTROL, fee cap 0.01 tKAS, change back to the PegLab address. Journal: artifacts/testnet-genesis.json. Public ids: web/series.json.
Live Testnet-10 CONTROL (SCRIPT_ENFORCED genesis; mint/redeem on the page are still ENGINE_SPEC):
- txid:
f8a8315592bf6aa863ebb09476867f82c9b39247723bee83e07956db429f046a - covenant:
3645afa88bf721625ac49e3e28d6c61381aad6bdfb152bfeaf2b34bd230bedd4 - P2SH:
kaspatest:pzpuxya0drdqr0frtz5za8zfw6v80em9kdl3gq8kfq7n2xjykl6kz37jetrgk
contracts/PegLab.sil Testnet-10 covenant (compiled JSON checked in)
src/engine.mjs Executable economic spec (browser + Node)
server/peglab.mjs Fixtures + silverc wrapper
web/ Depeg-lab UI
tests/ Reject paths, conservation, depeg reproduction
DOCTRINE.md Ruling: Parker unit, PegLab classroom, KaChat scene, Circle company
IDEA.md One-page: three objects, never mix
VISION.md Finished conversation on a phone: full vision and to-do beyond the chain
MAINNET.md What a successor would need to leave the lab; other-chain PoCs and how they were funded
BATTLE.md PegLab scored against Parker’s kaspa-explained / TN12 receipt PoC
BEST.md Best of both: receipt PoC spec (Parker rules + PegLab honesty)
src/receipt.mjs Executable 1-sompi receipt engine (no dollar oracle)
KACHAT.md How KaChat could use that unit, and what must be built first
STABLES-GUIDE.md Capital ladder, other-chain practice, fundraising pushback
AUDIT-LITE.md What was checked; what a real audit would still do
KNOWN-BREAKS.md Required failure reproductions
- Network: Kaspa Testnet-10 only
- Backing cap:
1_000_000_000sompi (10 tKAS) - tPEG cap:
10_000integer units - Fee cap:
3_000_000sompi, paid by a sponsor input - Unit cell:
1_000sompi (not backing) - Pool dust:
1_000_000sompi and1tPEG - Default oracle:
100_000sompi per tPEG
Mint and redeem use the oracle. Swaps use constant-product on the tiny pool. Pause blocks mint and swaps; redeem of existing units still works if the oracle is live and backing remains.
Requires silverc v1.0.0 (3ed9733). Master-file pin. Not v1-rc1. On this machine the wrapper looks for %USERPROFILE%\tools\silverc\silverc.exe, or $SILVERC.
Genesis is this PegLab sponsor, not groks-wallet. Do not mix the two TN10 whales. Hard-test: STP-KAS/tn10-hard-test.
npm run compileThe covenant uses #[covenant(binding = cov, from = 3, to = 3)]. It does not readInputState of a foreign covenant.
Want a Kaspa dollar instead of this toy? Read STABLES-GUIDE.md. Short version: do not raise money against tPEG; host a real USD when it exists; or ship KAS receipts that never claim $1.
Not 1kUSD. That is a larger research program. PegLab does not import Solidity and does not claim that track’s product objective.
Not mainnet. There is no deploy script for kaspa:. Do not put real funds in this.
MIT. No warranty. Will depeg.
Standard disclaimer. This GitHub, not the topic above.
Intentions are good; thought process is questionable. STP remains delusional. Si vis pacem, para bellum.
Intern at https://sixpack.wtf/
X: https://x.com/StppStp · GitHub: https://github.com/STP-KAS