Skip to content

Power — Yuan Composition

TL;DR: Yuan = wallet + 10 × LAU + 40 × YUE. A token parked in YUE counts 40× harder than the same token in your wallet. Move rewards into YUE fast; leave them there.

Why this matters

Yuan is the modulus used by ZI and PANG — the last two stages of the Soeng chain. Bigger Yuan means a wider output space for modExp, which means more possible Iotas, more possible Dione values, more possible Yeo values. And because the 40× YUE weight dominates, where you hold your assets beats how much you hold.

A player with 100 asset-tokens in their YUE has Yuan contribution 4000. A player with 100 in wallet has Yuan contribution 100. Same holdings, 40× stat differential.

The numbers

From CHOA:

Yuan(user, QING) = bal(user)          // your wallet balance of QING.Asset
                 + 10 * bal(LAU)       // LAU contract's balance of QING.Asset
                 + 40 * bal(YUE)       // YUE contract's balance of QING.Asset

All three are the balance of the QING's underlying asset (the Asset field on the QING), not of the QING token itself.

Location Weight Source
Your wallet CHOA
Your LAU contract 10× CHOA
Your YUE contract 40× CHOA

The play

  1. Mint rewards into YUE, not wallet. H2O and VITUS mint to Chi, which resolves to YUE. This is the default. Don't withdraw them until you need to.
  2. Transfer your existing wallet holdings into YUE. If you've been hoarding an asset in your wallet, moving it to YUE is a free 40× Yuan upgrade.
  3. Don't overthink LAU. The 10× LAU weight is for tokens the LAU contract holds (on your behalf, because the LAU owns itself through MultiOwnable). You can't usually shove arbitrary tokens into your LAU; they end up there when the game puts them there.
  4. Per-QING Yuan is independent. Yuan is computed for a specific QING's asset. Stacking asset A in YUE boosts Yuan at QINGs wrapping A; it doesn't boost Yuan at QINGs wrapping B.
  5. (inferred) Choose a home QING. Pick one QING you care about. Pile that asset in YUE. Use that as your Yuan base for all Soeng calculations around that QING. Spread across five QINGs and you're 5× less concentrated on any one.
  6. Withdraw only when forced. Withdrawing an asset from YUE to wallet is a 40× → 1× demotion. You want to hit Meridians[13] overflow before you voluntarily withdraw.

Worked example

Say you hold 100 of some QING's asset, split three ways:

Distribution Wallet LAU YUE Yuan contribution
All wallet 100 0 0 100
All LAU 0 100 0 1000
All YUE 0 0 100 4000
Even split 33 33 34 33 + 330 + 1360 = 1723

"All YUE" wins, hard. Even split is 2.3× worse than concentrated YUE despite holding the same total.

If you hold 1000 atomic units wallet + 10 YUE, your Yuan is 1000 + 0 + 400 = 1400. If you move 10 from wallet to YUE, you'd have 990 + 0 + 440 = 1430. Every token moved from wallet → YUE yields 40 - 1 = 39 extra Yuan per token until the wallet is empty.

Gotchas

  • "LAU balance" means the LAU contract's own balance of the QING asset. Not your balance of your LAU token. These are different. LAU balance is usually tiny unless the LAU itself purchased the asset.
  • Yuan's increase is not linearly reward. Yuan is a modulus at ZI and PANG. Bigger modulus widens the output range but doesn't "add" to the stat linearly. Expect nonlinear changes in downstream stats as Yuan changes.
  • YUE stacking doesn't help if you don't hold any of the QING asset. Yuan reads balanceOf(QING.Asset()). If your YUE has USDC but the QING wraps a different token, Yuan contribution for that QING = 0.
  • (inferred) Some assets you care about can't be moved into YUE. Your LAU token itself can't be shoved into your YUE to boost its own Yuan. Only other tokens matter.
  • Withdraw resets the 40× stack. As soon as you YUE.Withdraw something to your wallet, it drops to 1× weighting. Avoid withdrawal unless you need external liquidity.

Where it cross-connects