ΣΤΥΞ

Public deployment · Liquid testnet

Join the testnet

The protocol is deployed on the public Liquid testnet with worthless coins. Everything below is the result of the deployment ceremony: the two issuances, the oracle set, and the relay. There is no registration and no admin key - the config is all a wallet needs.

ΑʹThe deployment record

The ceremony ran once, at block 2,518,440 (2026-07-07). It issued 100,000,000 OBOL into the pot and one identity-token unit into the issuer, both without a reissuance token, and seeded the stability reserve. None of it can be repeated or revoked; a new deployment would be a different set of asset ids.

FieldValue
Chainliquidtestnet
Genesis a771da8e52ee6ad581ed1e9a99825e5b3b7992225534eaa2ae23244fe26ab1c1
OBOL 814cc30aca6b188ac22accffc503e7bc4c052a8b6916e59f869f1247f87d31b6
Identity token feb3d9c9f2a9aaab816c2e93cfd4479f841b8e05596b8418ed0fd56e0b8d2e6d
Collateral (tL-BTC) 144c654344aa716d6f3abcc1ca90e5641e4e2a7f633bc09fe3baf64585819a49
Issuer anchor2518440
Quote relaywss://relay.testnet.styx.network

The issuer anchor is also the scan floor: a wallet indexes the chain from that height, so your node has to be synced past it before any command works. The collateral asset is the testnet peg asset, which your node reports as pegged_asset.

ΒʹThe oracle set

Five keys, fixed at compile time inside the vault covenant: changing the set would change the vault CMR and therefore every address in the deployment. Three of the five sign a price tick; the protocol key verifies the quote inside the covenant, the nostr key identifies the publisher on the relay.

SlotProtocol keyNostr key
0 cb58a1a707702cbbe9ba172ab9bc3b83e2d91bc61b39d496b9663c37bb1b0bfa 55408697ab1d13b9330b00c908e5d87b59482b1bcf98bbce4b56e76c5c9bb90b
1 fff79bda2df574c7c08b981ec2302b1114bf140b72a0177158af7140a99b37a6 3b21bac52d8920fbe5a80dc8b5b1af8e9581a8181ec77643508a519646f0402a
2 c71d4ebfa0e7b88bc188cd3227e290e5daa8dc109594830b68aabbb1d0d72261 66b8446d6dd79a749628f54695056028bcf7bd65a3de0fb2d8ed2caf7a8e3daf
3 61fe5be2db7c5b6168de3f343bca8af5e3e8c82e7c6232e03bc28671335af382 55fe45679e0d89e262b7134d974cba09e18158b32793d91344ba20590339f541
4 ac8e7446463ae1b5e87b0c4528a047478113decc1c8f3a0b74de67b4428e0337 8803ba11104216f5a07b10f0824956a00dcbcf9c877df50ffdb8df253415222d

Per-slot freshness is visible in the explorer. The oracles have no public HTTP: they publish over the relay, and their admin ports stay on loopback.

ΓʹThe config file

Those values ship as one file, liquid-testnet.toml, which every role reads - the wallet, the app, the keeper, the explorer. Two places serve the same bytes:

Compare them if you like; they are byte-identical, and the record above is the same data in prose. Tampering is not much of a threat anyway: your wallet cross-checks the config's genesis against your own node and refuses to sign against a chain that disagrees, and every address in the deployment is derived from the asset ids and the oracle keys, so a wrong file produces addresses where nothing lives.

ΔʹJoining

One idempotent script writes ~/.styx: a node dir with generated RPC credentials, your keys, the config above, and one app.toml that both the app and the CLI read.

git clone https://github.com/standardsats/styx-cdp && cd styx-cdp
nix develop
deploy/join-testnet.sh

It ends by printing what it cannot do for you, in order: start the node, wait for the sync to pass block 2,518,440, point a Liquid-testnet faucet at your funding address, run the app. First sync takes a few hours. The long way, section by section, is in TESTNET.md.

What is operated, and what is not

The covenants are frozen and hold the money; nobody can move it outside the rules, including whoever runs this deployment. The oracles and the relay are operated, so a stalled feed stops new operations - it cannot take collateral. Testnet coins are worthless and the deployment may be re-run without warning.