Power — Entropy Discipline¶
TL;DR: User.Entropy divides your stat at multiple Soeng stages. Every
Reactcall bumps Entropy. Unplanned churn tax-drags your own stats.
Why this matters¶
"Entropy" in Dysnomia is a per-user counter that goes up when cryptographic reactions fire. Most of the Soeng chain expresses power as SomeBalance / Entropy. If Entropy keeps rising relative to your balances, your stats secularly decay.
You can't stop Entropy from rising — many useful calls bump it — but you can avoid gratuitous bumps. Entropy discipline is picking which actions you'll pay-Entropy-for and accepting that every other action is free.
The numbers¶
Entropy appears as a divisor in:
| Location | Uses Entropy how? |
Source |
|---|---|---|
| QI | SHIO.balanceOf / User.Entropy (user) and / QING.Entropy() (QING) |
QI |
| MAI | QING.balanceOf / User.Entropy |
MAI |
| XIE | Omicron = Fornax.balanceOf(user) / User.Entropy; Omega = Fornax.balanceOf(QING) / QING.Entropy() |
XIE |
| ZI | Omega = Tethys.balanceOf(user) / User.Entropy; Eta = Tethys.balanceOf(QING) / QING.Entropy() |
ZI |
| PANG | QING.Entropy() appears as an exponent in the Iota recomputation, not a divisor. |
PANG |
So User.Entropy divides in four stages; QING.Entropy() divides in two stages and exponentiates in one.
Where Entropy comes from: every cryptographic React (on SHA/SHIO/Yue/QING) mutates contract state — including Entropy counters — to ensure non-replayability. REACTIONS_CORE and the many React entrypoints are where these bumps happen.
The play¶
- Don't React for fun. Calling
YUE.React(Qing)or re-running a cryptographic op that you don't need costs you Entropy. Do it when you need Omicron/Omega output, not just to "re-sync". - Prefer
viewfunctions over state-mutating queries. Balances, rates, metadata — all view-ish.Eta,Beat,Faa,Pushare state-changing; treat them as "I commit to whatever this outputs, and I pay Entropy for it". - Batch. (inferred) When you do need multiple React-ful operations, do them in the same tx if possible. You still bump Entropy per call, but you avoid the scenario where someone else's tx lands between yours, changing the modulus you were planning against.
- Grow balances faster than Entropy grows. Since power ≈
balance / entropy, if your balance keeps climbing your stats hold. A session that net-mints MAI and H2O into your YUE grows balances; a session of many React calls with no mints grows only Entropy. - Avoid pointless Chat. Every chat call in a QING where you don't hold the underlying mints zero MAI but still runs CHOA.Chat which — via its internal paths — can touch Entropy-affecting state. If there's no MAI to earn, there's no point.
- (inferred) Let the QING's entropy be someone else's problem. QING.Entropy() is shared across all players interacting with that QING. If a QING is packed, its Entropy drifts in ways no individual can control. Pick venues you trust to stay stable.
Worked example¶
Two players, same initial stat profile. One day of play.
Alice: 20 Chats at a venue she holds (earning MAI), 2 Codes, 1 Faa. Total non-view calls: 23.
Bob: 5 Chats, 2 Codes, 1 Faa, but also calls YUE.React(Qing) 30 times to "check charge". Total non-view calls: 38.
After the day, Alice has more MAI in YUE (20 messages × 1 MAI cap = 20 MAI). Bob has 5. Alice's Entropy has gone up less than Bob's (fewer cryptographic reactions). Alice's raw power stats a week from now — when both have a similar balance profile after a few withdrawals — will be higher, because her balance/entropy ratio is better.
"Check charge" was a sink without a source.
Gotchas¶
- Entropy is not directly visible as a number in every context. It lives inside SHA/SHIO/LAU/QING state. You can read it through the contract if you care; most players will just notice their downstream stats decaying.
- You cannot reset Entropy. There's no decrement path. This is by design — entropy accumulation is the game's history guarantee.
- (inferred) Reputation vs. entropy tradeoff. Being active (chatting, claiming) makes you stronger via balance gains, which outpace entropy growth. Lurking (only checking) makes you weaker via entropy drift without balance gains.
- Entropy is divisor AND exponent. At PANG, QING.Entropy() appears as an exponent. Very high QING.Entropy() can make PANG.Iota swing unpredictably. This is not purely "less is better".
- Newly-minted LAUs have Entropy seeded, not zero. Fresh players aren't divided-by-zero; Entropy is initialized. You can't game the system by being "new".
Where it cross-connects¶
- Power: Soeng Chain Optimization — where Entropy divides into each stage.
- Power: Yuan Composition — balance-first strategy that beats entropy drift.
- Timing: First-Mover Tradeoffs — early-game Entropy is still low.
- Cheat Sheet: Power Formulas — the exact formulas.