User Activated Sidechains
sidestr is a way to run a chain beside Bitcoin: its transaction rules, blocks that are valid because they are signed, no subsidy, and every coin a coin locked on the parent with a refund path. The parent is any Bitcoin-family chain, stock or the BLAKE2b fork, mainnet or test, or another siding. The rules are documents with activation heights, and a node applies one because its operator adopted it.
Draft 0.0.4, October 2026. Chains run beside both the BLAKE2b testnet4 and stock testnet4, at levels 1 and 2, each validated in the browser by the same engine that runs datstr. Faucets, peg-ins from a browser key, an asset-and-pool chain and an EVM chain are live. One npm package, one command.
A peg-in is a taproot output on the parent whose key path is the peg holders' and whose script path refunds the pegger after a timelock. The sidechain mints exactly what is pegged and nothing else. A dead sidechain costs time, not coins.
Bitcoin's rules with one added and one removed: a block must carry a signature satisfying the chain's challenge, in the shape BIP 325 gave signet, and the subsidy is zero. Fees go to the signer.
A rule change is a signed document with an activation height. A node follows the keys its operator chose, shows the text before applying anything new, and refuses what it did not adopt. Signers can stall a chain; they cannot change it.
Validators check every rule and trust the signers for which pegs exist and for ordering. For coins with no value.
Validators also hold the parent's headers and peg outputs, and refuse a peg-in claim they cannot verify.
Several independent signers, a rotation, and a path back to the parent if they all vanish. Liveness is the only thing trusted.
A parent may be a siding. Coins flow down by peg-in and up by peg-out; the parent's blocks are the child's clock, and trust compounds with depth.
A siding is an overlay on the same engine that validates Bitcoin, stock or its BLAKE2b fork, in a tab: the network beside its parent, and one rule for the block signature, evaluated by the engine's own script interpreter. A validator needs no key, no hash and no permission, syncs from any mirror, and agrees with the producer at every height or says exactly where it stopped. Genesis is deterministic from the chain document: the same file gives the same block 0, byte for byte.
Blocks are receipts for transactions. A producer idles when it has nothing to include and keeps a heartbeat so timelocks keep moving. A chain is a JSON document and a key, which makes a siding cheap enough to make one per project, per agent, or per afternoon.
| chain | parent | pegs | prefix | genesis |
|---|---|---|---|---|
sidestr:txbt4-siding | Knots BLAKE2b testnet4 | 4 × 25 tBTC | ts | 0864df37…987f |
sidestr:aatest | Knots BLAKE2b testnet4 | 25 tBTC | ta | 63993fae…7a7e |
sidestr:aastage | Knots BLAKE2b testnet4 | 25 tBTC | tg | 580c4ad4…dff6 |
These are a sample. More chains are in the directory, including ones beside stock testnet4, a level-2 federation, an asset-and-pool chain and an EVM chain.