ops: CMM-custodied LP — SpaceUSD/UST1, UST1/ALPHA, CL8Y/ALPHA, CL8Y/WILLY #558

Closed
opened 2026-08-18 00:39:11 +00:00 by PlasticDigits · 44 comments
PlasticDigits commented 2026-08-18 00:39:11 +00:00 (Migrated from gitlab.com)

Summary

Create new CL8Y factory pairs and seed protocol-owned LP into the ustr-cmm CMM treasury. LP must be held in custody — not sold, not RemoveLiquidity / broken, not transferred out of CMM except by explicit later governance.

This is not a soft-launch gemstone pair and must not be folded into mainnet-soft-launch-defaults.sh (U6).

Parent ops patterns: #508 (create/seed), docs/runbooks/rebalance-mint-ust1-lp.md (mint UST1 → provide with receiver = CMM).

Custody invariant

Rule Detail
Receiver CMM treasury terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2
Provide provide_liquidity with receiver = CMM so the admin hot wallet holds no leftover LP
After provide Re-query CMM LP CW20 balances; fail the run if they did not increase
Forbidden Selling LP, breaking LP, farming-and-exit, or moving LP off CMM

Target pairs (all new on this factory)

Factory query 2026-08-26: SpaceUSD/UST1, UST1/ALPHA, and CL8Y/ALPHA are live (CMM-custodied LP). CL8Y/WILLY still pair not found. Do not RegisterListedPair GDEX/Terraport.

Pair Sizing Replaces Status
SpaceUSD / UST1 1 SpaceUSD = 1 UST1 — Done 2026-08-23
UST1 / ALPHA $1k ALPHA + $1k minted UST1 at live ALPHA USD Old CZB ALPHA venue Done 2026-08-26 — pair terra1rmdtck…hn5u6
CL8Y / ALPHA 2,000 CL8Y (token qty) + matching USD of ALPHA Existing CL8Y/ALPHA venue Done 2026-08-26 — pair terra163qm8…k40z
CL8Y / WILLY 2,000 CL8Y (token qty) + matching USD of WILLY — Open — WILLY not bridged; 2-of-3 CL8Y is 0 (need 2,000 from liquidity)

CL8Y quantity (corrected): 4,000 CL8Y tokens from liquidity — 2,000 into CL8Y/ALPHA and 2,000 into CL8Y/WILLY. This is a token count, not “$2,000 USD of CL8Y”. Pair the other leg to the USD value of those 2,000 CL8Y at the live CL8Y print used for the provide.

ALPHA from team: $1k USD notional for UST1/ALPHA, plus a second ALPHA send sized to match 2,000 CL8Y USD for CL8Y/ALPHA.

Record the old CZB pool and old CL8Y/ALPHA pool addresses + txs when liquidity is migrated / superseded (those venues are not on this factory today).


Price check (size at execution, not at ticket open)

ALPHA (live GDEX $0.0000104787 2026-08-26) — UST1/ALPHA still $1k/$1k

Source ALPHA USD $1,000 → ALPHA (6 dp)
GDEX ALPHA/LUNC terra1xu5k…mnq765 operator print 2026-08-26 0.0000104787 95,431,685 ALPHA
Same pool LCD spot × indexer LUNC ($0.00005338) 0.000010647 (+1.6%) 93,920,163 ALPHA
Operator / Lunc Universe (2026-08-18, superseded) 0.00002253 44,385,264 ALPHA
Coinhall Terraport ALPHA/LUNC terra12u7khzrzn05a73xkpq6a5zrcazz2xmqn7lvupmqmca06pgcyt5qsa9e7p6 (2026-08-18, superseded) ~0.000022955 43,563,494 ALPHA

GDEX is the deeper ALPHA/LUNC venue (~$3.1k TVL vs Terraport ~$0.56k). LCD reserves: 147,906,572.793300 ALPHA / 29,500,063.251813 LUNC → 0.19945066 LUNC per ALPHA. Operator USD uses LUNC ≈ $0.00005254 (matches GDEX UI); indexer/CoinGecko LUNC is ~$0.0000533–$0.0000535.

Post-adopt smoke (LUNC→ALPHA on this pair): 72E31C013AB41C0FF9CA42F74929B65925952BF4EF95B249332E08689784C0D6 height 30117000 — 1000 LUNC → 5,078.319575 ALPHA, tax_kind=honest / tax=0 (GDEX not registered).

Do not use LuncScan’s $0.0596 print. Do not RegisterListedPair the GDEX or Terraport pair. Re-quote ALPHA immediately before provide.

CL8Y — 2,000 tokens per CL8Y pair (not $2k USD)

CoinGecko ceramicliberty-com 2026-08-18 ~21:00 UTC+9: $0.483059 → 2,000 CL8Y ≈ $966.12 per pool; 4,000 CL8Y ≈ $1,932.24 total. Matching ALPHA at GDEX $0.0000104787 ≈ 92,198,269 ALPHA (was 42,881,403 at the old $0.00002253 print). Re-quote both legs together.

cl8y.com spot can differ from CoinGecko — use one recorded print for both the CL8Y USD notional and the matching ALPHA/WILLY size.

SpaceUSD

Peg 1 SpaceUSD = 1 UST1 (not an external USD oracle). Mint UST1 1:1 human against the SpaceUSD amount actually provided.


Known mainnet anchors

Role Address / id
Factory terra1ejpgvv7g3hj0u6fpcnxhflqp84g0w3cnaskqkg5733ygwlmf963sfchsea
Router terra1e7s0h9ftxakwca5gxspyt4haeuaqxds6swr08ul3tsepq7el924sprrsrw
CMM treasury (LP custody) terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2
DEX 2-of-3 (UST1 extra minter) terra1zlmv2xydxcusurtr6rl78wsvytdc6mfex6hep7
UST1 (code 10184, already whitelisted) terra1f0eqgy9w7e5e7up97vjudqwx38tesf8ylx75x2lv3nwm0clry0pqmgfy72
CL8Y (code 10184, already whitelisted) terra16wtml2q66g82fdkx66tap0qjkahqwp4lwq3ngtygacg5q0kzycgqvhpax3
ALPHA (code 11630, adopted from 8654 at height 30116924; 11630 listed; never whitelist 8654) terra1x6e64es6yhauhvs3prvpdg2gkqdtfru840wgnhs935x8axr7zxkqzysuxz
ALPHA manager (source admin after adopt) terra1ljqgc0cdkl7gcc7s64eczv3hrgga32vfh8xvfj
GDEX ALPHA/LUNC (do not register) terra1xu5kwmurh9jlz647ksu77lrd3ylz0hpnjljvkwsscadsxnwwq4yqmnq765 — Garuda market
SpaceUSD (code 8266, whitelisted 2026-08-22) terra1cvd5cgrs8rrl96hte34n57497u5f9cwuv3e6ztxgetkx4uzmcdyswv79zl
WILLY Solana mint F4tzWuCqabuxjZPEouLTFsPAsdi1XrR9BqVdXfvNaEX6 (wild willy); DexScreener Meteora WILLY/SOL EW8okuUphZ78qZ23TKuXNpGFGTiFkk6fPhSA62zYX4TM; Terra Classic CW20 after CL8Y bridge register

ALPHA live CodeInfo checksum 11630 E60A6E31BB0261505170208BBF2B0E17CDB4C6258D701E2E6D22E362CA872B96. Former 8654 checksum 85B92B099C828F236F6B1B09EAADF62DEA5BB5DCE56F16153827C1E850A1101A (do not list). SpaceUSD checksum 953AD60CF6D8C9631B99ADC84C3ABF4083815743F86FF81B2A422FDFDF5F95C0.

Factory whitelist 2026-08-26 LCD: [6036, 8266, 10184, 11630]. SpaceUSD, UST1/ALPHA, and CL8Y/ALPHA CreatePair RAN. Never AddWhitelistedCodeId 8654. Bridged WILLY: whitelist its actual post-bridge code ID (likely 10184 if the CL8Y bridge mints with cw20-mintable; confirm on LCD).

ALPHA adopt (RAN 2026-08-26, S4 — not wrap, not 8654 list)

In-place MsgMigrateContract onto listed tax pin 11630, then MsgUpdateAdmin → CMM in the same tx. CW20 address unchanged. Old tax_map / FoT wiped (fot_wiped=1). Wrap vs drop is superseded by this adopt.

Field Value
Height 30116924 (2026-08-26T07:24:10Z)
New code ID 11630 (crates.io:cl8y-community-tax-token / 1.0.0)
Source 8654 (crates.io:cw20-base / 1.1.0+taxed001)
Tx 22667F2125045F900C06B295CCD6BBFA095A2293133353CAE6772A71F07D7D2B
Wasm admin CMM terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2
Tax buy 450 / sell 100 / transfer 0 (max same; transfer_bps null → 0)
Identity name ALPHA Lunc Universe, symbol ALPHA, 6 dp, total_supply 1328073898910899 (~1.328B)

Adopt payload (on-chain):

{"adopt":{"manager":"terra1ljqgc0cdkl7gcc7s64eczv3hrgga32vfh8xvfj","treasury":"terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2","factory":"terra1ejpgvv7g3hj0u6fpcnxhflqp84g0w3cnaskqkg5733ygwlmf963sfchsea","router":"terra1e7s0h9ftxakwca5gxspyt4haeuaqxds6swr08ul3tsepq7el924sprrsrw","ust1":"terra1f0eqgy9w7e5e7up97vjudqwx38tesf8ylx75x2lv3nwm0clry0pqmgfy72","cmm_treasury":"terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2","official_launcher":"terra126pr5323xkhwas7y03azv48sqr2fy3fxxg0sxu8xhmjdxr8v5tzqahzwze","buy_bps":450,"sell_bps":100,"transfer_bps":null,"max_buy_bps":450,"max_sell_bps":100,"max_transfer_bps":0,"source_code_id":8654}}

Do not RegisterListedPair Terraport ALPHA/LUNC, ALPHA/USTC, or GDEX ALPHA/LUNC. Factory CreatePair autoregistered the new UST1/ALPHA and CL8Y/ALPHA pairs on ALPHA (#633). External DEX stays 1:1 after the wipe.

Factory seeds RAN 2026-08-26 (CMM LP custody)

DEX 2-of-3 provide with receiver = CMM. 5% then 95% remainder. Temporary scripts: scripts/tmp-558-seed-cl8y-alpha.sh, scripts/tmp-558-seed-ust1-alpha.sh.

CL8Y / ALPHA — sized 2,000 CL8Y from deepest factory CL8Y pool (CL8Y/cUSTC) + GDEX×LUNC ALPHA.

Field Value
Pair terra163qm8z5rjgp8av6c6sg673lq2v4kfa0we5uhtzj8alfwhddfhjfs27k40z
LP terra1hymuueuu43750rzut69hxmefl3m5gg27uxnu9fytcvlah27l5rtsrg87rc
CreatePair BD257C97B692B5582263909A86293D9845B0D404BFE2EE5B4F2C25CC03160FE0 height 30117208
Provide 5% 78A4D6959FC64977346E104CB9DC6FC55989E86348E2124D917FA0EFE3637876 height 30117234
Provide 95% 69DB2780D5A9F24430E5A3A4C0D3FA3123C41334C6F2B7EFA9A3E5C6C33CCDB4 height 30117256
Final pool 2,000 CL8Y + 104,056,204.454456 ALPHA
CMM LP 456193389812784420 (total_share +1000 burn). 2-of-3 LP 0

UST1 / ALPHA — hub-sized $1k / $1k at provide-time GDEX ALPHA $0.000010618 × hub UST1 $0.95789 (not 1000 face UST1).

Field Value
Pair terra1rmdtckz5gd0usja36ydwat6prnmew639ry37yq72xh9ek4s3m83sehn5u6
LP terra12ff3nhu239y6a5lh0rs8nwlntc9wulkm3c4x598hp5gjfeqk87xszxkrmp
Mint UST1 2-of-3 extra minter; remainder 1,042.294181 onto existing dust → bag 1,045.021656. Snapshot used 1,043.961439
CreatePair A51FC4053EA0ED477C2D13AA6DE17C7CF2C6AA78E2FBDD22BD29682E09ED4731 height 30117302 (register_listed_pair)
Provide 5% C249992404041841B6E041EBD07FB33B61546A319BA52C3F89B7D6D922C74351 height 30117309
Provide 95% 6DCD53D57DD4A3A9CE7B4F4D573AC3E12C50955DDFC26FF4A64DBCD91F4386D6 height 30117336
Final pool 1,043.961439 UST1 + 94,178,912.624371 ALPHA
CMM LP 313558847300 (total_share +1000 burn). 2-of-3 LP 0
Leftover ALPHA 8,764,882.921173 returned 2-of-3 → Dist terra1w37akazcflgtyp9teawfgq7xm99z7kc4cpdrsj (LCD: Dist 105198754965622, 2-of-3 ALPHA 0; transfer tax 0 / honest)
Leftover UST1 1.060217 still on 2-of-3

2-of-3 CL8Y after both ALPHA seeds: 0. Remaining 2,000 CL8Y for WILLY is not on 2-of-3 — still needs a liquidity send.


CMM balances snapshot (2026-08-18, LCD)

Asset Raw Human
SpaceUSD 200032180 200.032180 (existing inventory to pair 1:1)
ALPHA 10000000000000 10,000,000 (~$105 at GDEX $0.0000104787 — does not cover UST1/ALPHA $1k plus matching ALPHA for 2,000 CL8Y)
CL8Y 0 need 4,000 CL8Y from liquidity
UST1 17977151 17.977 dust; mint fresh for these pools

Inventory staging (2026-08-19): partner ALPHA + liquidity CL8Y landed on the DEX 2-of-3 (terra1zlmv2xydxcusurtr6rl78wsvytdc6mfex6hep7), not CMM. LCD after those sends: 2-of-3 holds 207,000,000 ALPHA and 2,000 CL8Y; CMM still 10,000,000 ALPHA and 0 CL8Y. Provide must still use receiver = CMM. Tx hashes in issue comments.

If more SpaceUSD sits off CMM, move it in first, then mint UST1 1:1 against the final CMM (or provide-wallet) SpaceUSD amount. SpaceUSD total_supply is 530 human — CMM already holds ~200 of that.


Workstream

0. Whitelist (blocker)

  • Source-review SpaceUSD wasm 8266 (1:1 transfer; not fee-on-transfer / rebase) — #581 REPORT GO
  • ALPHA S4 adopt 8654 → 11630 (height 30116924) — do not whitelist 8654; listed pin covers the address
  • DEX 2-of-3 AddWhitelistedCodeId 8266 — height 30060600, tx BA7C9FD05D0FC0BC14713A53325E1F42AAAECF3A11E4EC3BC91368013D8FC5D1
  • Do not AddWhitelistedCodeId 8654 (H-01 / cw20_taxed). 11630 is listed.
  • After WILLY is bridged: confirm CW20 code ID; AddWhitelistedCodeId if not already 10184 / 6036

1. SpaceUSD / UST1 (1:1)

  • Confirm all existing SpaceUSD intended for this pool is on the provide path (CMM already holds 200.032180) — 1000 provided 2026-08-23; CMM 200 still treasury-locked
  • Mint UST1 1:1 via DEX 2-of-3 extra minter (same path as scripts/rebalance-mint-ust1-lp.sh — not wrap-stack governance)
  • CreatePair SpaceUSD + UST1; provide with receiver = CMM
  • Record pair addr, create tx, provide tx, amounts

2. UST1 / ALPHA (replace old CZB pool) — unchanged: $1k / $1k

  • Partner sent ALPHA for UST1/ALPHA to DEX 2-of-3 (107,000,000 ALPHA; operator calc ~106,352,430 — extra flex vs low 7d volume). Still provide with receiver = CMM.
  • ALPHA wasm unblocked for CreatePair via 11630 adopt
  • Mint $1k UST1 (hub-sized 1,045.021656; snapshot used 1,043.961439)
  • CreatePair UST1 + ALPHA; 5%+95% provide $1k/$1k with receiver = CMM; factory autoregistered this pair only (not GDEX/Terraport)
  • Record old CZB pool address and what “replace” means (leave old pool, withdraw, or document superseded)

3. CL8Y / ALPHA (replace existing CL8Y/ALPHA venue)

  • 2,000 CL8Y from liquidity sent to DEX 2-of-3 (not CMM yet)
  • Partner sent matching ALPHA for CL8Y/ALPHA to DEX 2-of-3 (100,000,000 ALPHA; operator calc ~99,699,839). Re-quote both legs at provide. Still provide with receiver = CMM.
  • ALPHA wasm unblocked for CreatePair via 11630 adopt
  • CreatePair CL8Y + ALPHA; provide 2,000 CL8Y + matching ALPHA with receiver = CMM; factory autoregistered this pair only (not GDEX/Terraport)
  • Record old CL8Y/ALPHA pool address + migration notes (Terraport ALPHA/LUNC terra12u7khzrzn05a73xkpq6a5zrcazz2xmqn7lvupmqmca06pgcyt5qsa9e7p6 stays 1:1 after wipe — do not register it)

4. Register WILLY on CL8Y bridge (Solana → Terra Classic)

  • Solana mint recorded: F4tzWuCqabuxjZPEouLTFsPAsdi1XrR9BqVdXfvNaEX6 (DexScreener pair above)
  • Register Lunc Universe WILLY on CL8Y bridge Solana → Terra Classic (work may live in the bridge repo; land the TCL CW20 address here)
  • Tokenlist + frontend-dapp registry/logo for WILLY (ALPHA and SpaceUSD are already in tokenlist/tokenlist.json)
  • Whitelist bridged CW20 code ID if needed

5. CL8Y / WILLY

  • Move remaining 2,000 CL8Y from liquidity to CMM
  • Size WILLY side to the USD value of those 2,000 CL8Y at the same CL8Y print (document WILLY source)
  • CreatePair CL8Y + WILLY; provide with receiver = CMM

6. Indexer / UI / catalog

  • Indexer discovers factory-provenance pairs only (P1)
  • Pair pickers / /pool / /trade / /charts show the new markets (ALPHA + SpaceUSD already listed; WILLY after #4)
  • Do not add these to MAINNET_SOFT_LAUNCH_PAIRS

Acceptance criteria

  • Factory whitelist includes SpaceUSD 8266 and tax pin 11630 ([6036, 8266, 10184, 11630])
  • ALPHA listed via 11630 adopt (address unchanged). 8654 stays off the factory whitelist (H-01). Wrap vs drop superseded.
  • WILLY’s post-bridge code ID (if distinct)
  • Four pairs live on factory — 3/4 recorded (SpaceUSD/UST1, UST1/ALPHA, CL8Y/ALPHA). CL8Y/WILLY remaining
  • CMM holds LP for the three live pairs; 2-of-3 holds 0 of those LP balances (WILLY N/A until created)
  • SpaceUSD/UST1 provided at 1:1 against the SpaceUSD amount used (1000 + 1000; CMM 200 still pending ProposeWithdraw)
  • UST1/ALPHA seeded at ~$1k per leg — provide-time GDEX $0.000010618 / hub UST1 $0.95789 → pool 1,043.961439 UST1 + 94,178,912.624371 ALPHA
  • CL8Y/ALPHA seeded with 2,000 CL8Y + 104,056,204.454456 ALPHA
  • CL8Y/WILLY seeded with 2,000 CL8Y + matching USD of WILLY
  • WILLY registered Solana → Terra Classic; CL8Y/WILLY seeded
  • Issue comments include old CZB and old CL8Y/ALPHA pool identifiers
  • No RemoveLiquidity / LP sale from CMM as part of this work

Labels

deploy governance product docs frontend enhancement

Owner type

ops / governance (DEX 2-of-3 + CMM) / product

Priority

P1 — partner LP + bridge listing; not a launch-blocker for existing UST1 window pairs

## Summary Create new CL8Y factory pairs and seed **protocol-owned LP** into the **ustr-cmm CMM treasury**. LP must be **held in custody** — not sold, not `RemoveLiquidity` / broken, not transferred out of CMM except by explicit later governance. This is **not** a soft-launch gemstone pair and must **not** be folded into `mainnet-soft-launch-defaults.sh` (**U6**). Parent ops patterns: [#508](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/508) (create/seed), [`docs/runbooks/rebalance-mint-ust1-lp.md`](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/blob/main/docs/runbooks/rebalance-mint-ust1-lp.md) (mint UST1 → provide with `receiver` = CMM). ### Custody invariant | Rule | Detail | |------|--------| | Receiver | CMM treasury `terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2` | | Provide | `provide_liquidity` with `receiver` = CMM so the admin hot wallet holds **no leftover LP** | | After provide | Re-query CMM LP CW20 balances; fail the run if they did not increase | | Forbidden | Selling LP, breaking LP, farming-and-exit, or moving LP off CMM | --- ## Target pairs (all new on this factory) Factory query **2026-08-26**: SpaceUSD/UST1, UST1/ALPHA, and CL8Y/ALPHA are **live** (CMM-custodied LP). **CL8Y/WILLY** still `pair not found`. Do **not** `RegisterListedPair` GDEX/Terraport. | Pair | Sizing | Replaces | Status | |------|--------|----------|--------| | **SpaceUSD / UST1** | 1 SpaceUSD = 1 UST1 | — | **Done** 2026-08-23 | | **UST1 / ALPHA** | **$1k** ALPHA + **$1k** minted UST1 at live ALPHA USD | Old **CZB** ALPHA venue | **Done** 2026-08-26 — pair `terra1rmdtck…hn5u6` | | **CL8Y / ALPHA** | **2,000 CL8Y** (token qty) + matching **USD of ALPHA** | Existing **CL8Y/ALPHA** venue | **Done** 2026-08-26 — pair `terra163qm8…k40z` | | **CL8Y / WILLY** | **2,000 CL8Y** (token qty) + matching **USD of WILLY** | — | **Open** — WILLY not bridged; 2-of-3 CL8Y is **0** (need **2,000** from liquidity) | **CL8Y quantity (corrected):** **4,000 CL8Y tokens** from liquidity — **2,000** into CL8Y/ALPHA and **2,000** into CL8Y/WILLY. This is a **token count**, not “$2,000 USD of CL8Y”. Pair the other leg to the **USD value of those 2,000 CL8Y** at the live CL8Y print used for the provide. **ALPHA from team:** **$1k** USD notional for UST1/ALPHA, plus a **second** ALPHA send sized to match **2,000 CL8Y** USD for CL8Y/ALPHA. Record the old CZB pool and old CL8Y/ALPHA pool **addresses + txs** when liquidity is migrated / superseded (those venues are not on this factory today). --- ## Price check (size at execution, not at ticket open) ### ALPHA (live GDEX **$0.0000104787** 2026-08-26) — UST1/ALPHA still $1k/$1k | Source | ALPHA USD | $1,000 → ALPHA (6 dp) | |--------|-----------|------------------------| | **GDEX ALPHA/LUNC** [`terra1xu5k…mnq765`](https://garuda-defi.org/market/terra1xu5kwmurh9jlz647ksu77lrd3ylz0hpnjljvkwsscadsxnwwq4yqmnq765) operator print 2026-08-26 | **0.0000104787** | **95,431,685** ALPHA | | Same pool LCD spot × indexer LUNC (`$0.00005338`) | ~**0.000010647** (~+1.6%) | **93,920,163** ALPHA | | Operator / Lunc Universe (2026-08-18, superseded) | 0.00002253 | 44,385,264 ALPHA | | Coinhall Terraport ALPHA/LUNC `terra12u7khzrzn05a73xkpq6a5zrcazz2xmqn7lvupmqmca06pgcyt5qsa9e7p6` (2026-08-18, superseded) | ~0.000022955 | 43,563,494 ALPHA | GDEX is the deeper ALPHA/LUNC venue (~$3.1k TVL vs Terraport ~$0.56k). LCD reserves: **147,906,572.793300** ALPHA / **29,500,063.251813** LUNC → **0.19945066** LUNC per ALPHA. Operator USD uses LUNC ≈ **$0.00005254** (matches GDEX UI); indexer/CoinGecko LUNC is ~$0.0000533–$0.0000535. Post-adopt smoke (LUNC→ALPHA on this pair): [`72E31C013AB41C0FF9CA42F74929B65925952BF4EF95B249332E08689784C0D6`](https://luncdash.com/explorer/tx/72E31C013AB41C0FF9CA42F74929B65925952BF4EF95B249332E08689784C0D6) height **30117000** — 1000 LUNC → **5,078.319575** ALPHA, `tax_kind=honest` / `tax=0` (GDEX not registered). **Do not use LuncScan’s $0.0596 print.** Do **not** `RegisterListedPair` the GDEX or Terraport pair. Re-quote ALPHA immediately before provide. ### CL8Y — 2,000 tokens per CL8Y pair (not $2k USD) CoinGecko `ceramicliberty-com` 2026-08-18 ~21:00 UTC+9: **$0.483059** → **2,000 CL8Y ≈ $966.12** per pool; **4,000 CL8Y ≈ $1,932.24** total. Matching ALPHA at GDEX **$0.0000104787** ≈ **92,198,269** ALPHA (was 42,881,403 at the old $0.00002253 print). Re-quote both legs together. cl8y.com spot can differ from CoinGecko — use one recorded print for both the CL8Y USD notional and the matching ALPHA/WILLY size. ### SpaceUSD Peg **1 SpaceUSD = 1 UST1** (not an external USD oracle). Mint UST1 **1:1 human** against the SpaceUSD amount actually provided. --- ## Known mainnet anchors | Role | Address / id | |------|----------------| | Factory | `terra1ejpgvv7g3hj0u6fpcnxhflqp84g0w3cnaskqkg5733ygwlmf963sfchsea` | | Router | `terra1e7s0h9ftxakwca5gxspyt4haeuaqxds6swr08ul3tsepq7el924sprrsrw` | | CMM treasury (LP custody) | `terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2` | | DEX 2-of-3 (UST1 extra minter) | `terra1zlmv2xydxcusurtr6rl78wsvytdc6mfex6hep7` | | UST1 (code **10184**, already whitelisted) | `terra1f0eqgy9w7e5e7up97vjudqwx38tesf8ylx75x2lv3nwm0clry0pqmgfy72` | | CL8Y (code **10184**, already whitelisted) | `terra16wtml2q66g82fdkx66tap0qjkahqwp4lwq3ngtygacg5q0kzycgqvhpax3` | | ALPHA (code **11630**, adopted from **8654** at height **30116924**; **11630** listed; **never** whitelist **8654**) | `terra1x6e64es6yhauhvs3prvpdg2gkqdtfru840wgnhs935x8axr7zxkqzysuxz` | | ALPHA manager (source admin after adopt) | `terra1ljqgc0cdkl7gcc7s64eczv3hrgga32vfh8xvfj` | | GDEX ALPHA/LUNC (do **not** register) | `terra1xu5kwmurh9jlz647ksu77lrd3ylz0hpnjljvkwsscadsxnwwq4yqmnq765` — [Garuda market](https://garuda-defi.org/market/terra1xu5kwmurh9jlz647ksu77lrd3ylz0hpnjljvkwsscadsxnwwq4yqmnq765) | | SpaceUSD (code **8266**, **whitelisted** 2026-08-22) | `terra1cvd5cgrs8rrl96hte34n57497u5f9cwuv3e6ztxgetkx4uzmcdyswv79zl` | | WILLY | Solana mint `F4tzWuCqabuxjZPEouLTFsPAsdi1XrR9BqVdXfvNaEX6` (wild willy); DexScreener Meteora WILLY/SOL [`EW8okuUphZ78qZ23TKuXNpGFGTiFkk6fPhSA62zYX4TM`](https://dexscreener.com/solana/ew8okuuphz78qz23tkuxnpgfgtifkk6fphsa62zyx4tm); Terra Classic CW20 after CL8Y bridge register | ALPHA live `CodeInfo` checksum **11630** `E60A6E31BB0261505170208BBF2B0E17CDB4C6258D701E2E6D22E362CA872B96`. Former **8654** checksum `85B92B099C828F236F6B1B09EAADF62DEA5BB5DCE56F16153827C1E850A1101A` (do not list). SpaceUSD checksum `953AD60CF6D8C9631B99ADC84C3ABF4083815743F86FF81B2A422FDFDF5F95C0`. Factory whitelist **2026-08-26** LCD: **`[6036, 8266, 10184, 11630]`**. SpaceUSD, UST1/ALPHA, and CL8Y/ALPHA `CreatePair` **RAN**. **Never** `AddWhitelistedCodeId` **8654**. Bridged WILLY: whitelist its **actual** post-bridge code ID (likely **10184** if the CL8Y bridge mints with cw20-mintable; confirm on LCD). ### ALPHA adopt (RAN 2026-08-26, S4 — not wrap, not 8654 list) In-place `MsgMigrateContract` onto listed tax pin **11630**, then `MsgUpdateAdmin` → CMM in the **same** tx. CW20 address unchanged. Old `tax_map` / FoT wiped (`fot_wiped=1`). Wrap vs drop is **superseded** by this adopt. | Field | Value | |-------|--------| | Height | **30116924** (2026-08-26T07:24:10Z) | | New code ID | **11630** (`crates.io:cl8y-community-tax-token` / `1.0.0`) | | Source | **8654** (`crates.io:cw20-base` / `1.1.0+taxed001`) | | Tx | [`22667F2125045F900C06B295CCD6BBFA095A2293133353CAE6772A71F07D7D2B`](https://luncdash.com/explorer/tx/22667F2125045F900C06B295CCD6BBFA095A2293133353CAE6772A71F07D7D2B) | | Wasm admin | CMM `terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2` | | Tax | buy **450** / sell **100** / transfer **0** (max same; `transfer_bps` null → 0) | | Identity | name `ALPHA Lunc Universe`, symbol `ALPHA`, 6 dp, `total_supply` `1328073898910899` (~**1.328B**) | Adopt payload (on-chain): ```json {"adopt":{"manager":"terra1ljqgc0cdkl7gcc7s64eczv3hrgga32vfh8xvfj","treasury":"terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2","factory":"terra1ejpgvv7g3hj0u6fpcnxhflqp84g0w3cnaskqkg5733ygwlmf963sfchsea","router":"terra1e7s0h9ftxakwca5gxspyt4haeuaqxds6swr08ul3tsepq7el924sprrsrw","ust1":"terra1f0eqgy9w7e5e7up97vjudqwx38tesf8ylx75x2lv3nwm0clry0pqmgfy72","cmm_treasury":"terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2","official_launcher":"terra126pr5323xkhwas7y03azv48sqr2fy3fxxg0sxu8xhmjdxr8v5tzqahzwze","buy_bps":450,"sell_bps":100,"transfer_bps":null,"max_buy_bps":450,"max_sell_bps":100,"max_transfer_bps":0,"source_code_id":8654}} ``` Do **not** `RegisterListedPair` Terraport ALPHA/LUNC, ALPHA/USTC, or GDEX ALPHA/LUNC. Factory `CreatePair` **autoregistered** the new UST1/ALPHA and CL8Y/ALPHA pairs on ALPHA ([#633](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/633)). External DEX stays 1:1 after the wipe. ### Factory seeds RAN 2026-08-26 (CMM LP custody) DEX 2-of-3 provide with `receiver` = CMM. 5% then 95% remainder. Temporary scripts: `scripts/tmp-558-seed-cl8y-alpha.sh`, `scripts/tmp-558-seed-ust1-alpha.sh`. **CL8Y / ALPHA** — sized 2,000 CL8Y from deepest factory CL8Y pool (CL8Y/cUSTC) + GDEX×LUNC ALPHA. | Field | Value | |-------|--------| | Pair | `terra163qm8z5rjgp8av6c6sg673lq2v4kfa0we5uhtzj8alfwhddfhjfs27k40z` | | LP | `terra1hymuueuu43750rzut69hxmefl3m5gg27uxnu9fytcvlah27l5rtsrg87rc` | | CreatePair | [`BD257C97B692B5582263909A86293D9845B0D404BFE2EE5B4F2C25CC03160FE0`](https://luncdash.com/explorer/tx/BD257C97B692B5582263909A86293D9845B0D404BFE2EE5B4F2C25CC03160FE0) height **30117208** | | Provide 5% | [`78A4D6959FC64977346E104CB9DC6FC55989E86348E2124D917FA0EFE3637876`](https://luncdash.com/explorer/tx/78A4D6959FC64977346E104CB9DC6FC55989E86348E2124D917FA0EFE3637876) height **30117234** | | Provide 95% | [`69DB2780D5A9F24430E5A3A4C0D3FA3123C41334C6F2B7EFA9A3E5C6C33CCDB4`](https://luncdash.com/explorer/tx/69DB2780D5A9F24430E5A3A4C0D3FA3123C41334C6F2B7EFA9A3E5C6C33CCDB4) height **30117256** | | Final pool | **2,000** CL8Y + **104,056,204.454456** ALPHA | | CMM LP | `456193389812784420` (`total_share` +1000 burn). 2-of-3 LP **0** | **UST1 / ALPHA** — hub-sized **$1k / $1k** at provide-time GDEX ALPHA **$0.000010618** × hub UST1 **$0.95789** (not 1000 face UST1). | Field | Value | |-------|--------| | Pair | `terra1rmdtckz5gd0usja36ydwat6prnmew639ry37yq72xh9ek4s3m83sehn5u6` | | LP | `terra12ff3nhu239y6a5lh0rs8nwlntc9wulkm3c4x598hp5gjfeqk87xszxkrmp` | | Mint UST1 | 2-of-3 extra minter; remainder **1,042.294181** onto existing dust → bag **1,045.021656**. Snapshot used **1,043.961439** | | CreatePair | [`A51FC4053EA0ED477C2D13AA6DE17C7CF2C6AA78E2FBDD22BD29682E09ED4731`](https://luncdash.com/explorer/tx/A51FC4053EA0ED477C2D13AA6DE17C7CF2C6AA78E2FBDD22BD29682E09ED4731) height **30117302** (`register_listed_pair`) | | Provide 5% | [`C249992404041841B6E041EBD07FB33B61546A319BA52C3F89B7D6D922C74351`](https://luncdash.com/explorer/tx/C249992404041841B6E041EBD07FB33B61546A319BA52C3F89B7D6D922C74351) height **30117309** | | Provide 95% | [`6DCD53D57DD4A3A9CE7B4F4D573AC3E12C50955DDFC26FF4A64DBCD91F4386D6`](https://luncdash.com/explorer/tx/6DCD53D57DD4A3A9CE7B4F4D573AC3E12C50955DDFC26FF4A64DBCD91F4386D6) height **30117336** | | Final pool | **1,043.961439** UST1 + **94,178,912.624371** ALPHA | | CMM LP | `313558847300` (`total_share` +1000 burn). 2-of-3 LP **0** | | Leftover ALPHA | **8,764,882.921173** returned 2-of-3 → Dist `terra1w37akazcflgtyp9teawfgq7xm99z7kc4cpdrsj` (LCD: Dist `105198754965622`, 2-of-3 ALPHA **0**; transfer tax 0 / `honest`) | | Leftover UST1 | **1.060217** still on 2-of-3 | 2-of-3 CL8Y after both ALPHA seeds: **0**. Remaining **2,000 CL8Y** for WILLY is **not** on 2-of-3 — still needs a liquidity send. --- ## CMM balances snapshot (2026-08-18, LCD) | Asset | Raw | Human | |-------|-----|-------| | SpaceUSD | `200032180` | **200.032180** (existing inventory to pair 1:1) | | ALPHA | `10000000000000` | **10,000,000** (~$105 at GDEX $0.0000104787 — **does not** cover UST1/ALPHA $1k plus matching ALPHA for 2,000 CL8Y) | | CL8Y | `0` | need **4,000 CL8Y** from liquidity | | UST1 | `17977151` | **17.977** dust; mint fresh for these pools | **Inventory staging (2026-08-19):** partner ALPHA + liquidity CL8Y landed on the **DEX 2-of-3** (`terra1zlmv2xydxcusurtr6rl78wsvytdc6mfex6hep7`), not CMM. LCD after those sends: 2-of-3 holds **207,000,000** ALPHA and **2,000** CL8Y; CMM still **10,000,000** ALPHA and **0** CL8Y. Provide must still use `receiver` = CMM. Tx hashes in issue comments. If more SpaceUSD sits off CMM, move it in first, then mint UST1 1:1 against the **final** CMM (or provide-wallet) SpaceUSD amount. SpaceUSD `total_supply` is **530** human — CMM already holds ~200 of that. --- ## Workstream ### 0. Whitelist (blocker) - [x] Source-review SpaceUSD wasm **8266** (1:1 transfer; not fee-on-transfer / rebase) — [#581](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/581) REPORT **GO** - [x] ALPHA S4 adopt **8654 → 11630** (height **30116924**) — **do not whitelist 8654**; listed pin covers the address - [x] DEX 2-of-3 `AddWhitelistedCodeId` **8266** — height **30060600**, tx [`BA7C9FD05D0FC0BC14713A53325E1F42AAAECF3A11E4EC3BC91368013D8FC5D1`](https://finder.terraclassic.community/columbus-5/tx/BA7C9FD05D0FC0BC14713A53325E1F42AAAECF3A11E4EC3BC91368013D8FC5D1) - [x] Do **not** `AddWhitelistedCodeId` **8654** (H-01 / `cw20_taxed`). **11630** is listed. - [ ] After WILLY is bridged: confirm CW20 code ID; `AddWhitelistedCodeId` if not already **10184** / **6036** ### 1. SpaceUSD / UST1 (1:1) - [x] Confirm all existing SpaceUSD intended for this pool is on the provide path (CMM already holds 200.032180) — 1000 provided 2026-08-23; CMM 200 still treasury-locked - [x] Mint UST1 **1:1** via DEX 2-of-3 extra minter (same path as `scripts/rebalance-mint-ust1-lp.sh` — not wrap-stack governance) - [x] `CreatePair` SpaceUSD + UST1; provide with `receiver` = CMM - [x] Record pair addr, create tx, provide tx, amounts ### 2. UST1 / ALPHA (replace old CZB pool) — unchanged: $1k / $1k - [x] Partner sent ALPHA for UST1/ALPHA to **DEX 2-of-3** (**107,000,000** ALPHA; operator calc ~106,352,430 — extra flex vs low 7d volume). Still provide with `receiver` = CMM. - [x] ALPHA wasm unblocked for `CreatePair` via **11630** adopt - [x] Mint **$1k** UST1 (hub-sized **1,045.021656**; snapshot used **1,043.961439**) - [x] `CreatePair` UST1 + ALPHA; 5%+95% provide $1k/$1k with `receiver` = CMM; factory **autoregistered** this pair only (not GDEX/Terraport) - [ ] Record old **CZB** pool address and what “replace” means (leave old pool, withdraw, or document superseded) ### 3. CL8Y / ALPHA (replace existing CL8Y/ALPHA venue) - [x] **2,000 CL8Y** from liquidity sent to **DEX 2-of-3** (not CMM yet) - [x] Partner sent matching ALPHA for CL8Y/ALPHA to **DEX 2-of-3** (**100,000,000** ALPHA; operator calc ~99,699,839). Re-quote both legs at provide. Still provide with `receiver` = CMM. - [x] ALPHA wasm unblocked for `CreatePair` via **11630** adopt - [x] `CreatePair` CL8Y + ALPHA; provide **2,000 CL8Y** + matching ALPHA with `receiver` = CMM; factory **autoregistered** this pair only (not GDEX/Terraport) - [ ] Record old CL8Y/ALPHA pool address + migration notes (Terraport ALPHA/LUNC `terra12u7khzrzn05a73xkpq6a5zrcazz2xmqn7lvupmqmca06pgcyt5qsa9e7p6` stays 1:1 after wipe — do **not** register it) ### 4. Register WILLY on CL8Y bridge (Solana → Terra Classic) - [x] Solana mint recorded: `F4tzWuCqabuxjZPEouLTFsPAsdi1XrR9BqVdXfvNaEX6` (DexScreener pair above) - [ ] Register Lunc Universe **WILLY** on [CL8Y bridge](https://cl8y.com/bridge) Solana → Terra Classic (work may live in the bridge repo; land the TCL CW20 address here) - [ ] Tokenlist + `frontend-dapp` registry/logo for WILLY (ALPHA and SpaceUSD are already in `tokenlist/tokenlist.json`) - [ ] Whitelist bridged CW20 code ID if needed ### 5. CL8Y / WILLY - [ ] Move remaining **2,000 CL8Y** from liquidity to CMM - [ ] Size WILLY side to the **USD value of those 2,000 CL8Y** at the same CL8Y print (document WILLY source) - [ ] `CreatePair` CL8Y + WILLY; provide with `receiver` = CMM ### 6. Indexer / UI / catalog - [ ] Indexer discovers factory-provenance pairs only (**P1**) - [ ] Pair pickers / `/pool` / `/trade` / `/charts` show the new markets (ALPHA + SpaceUSD already listed; WILLY after #4) - [ ] Do **not** add these to `MAINNET_SOFT_LAUNCH_PAIRS` --- ## Acceptance criteria - [x] Factory whitelist includes SpaceUSD **8266** and tax pin **11630** (`[6036, 8266, 10184, 11630]`) - [x] ALPHA listed via **11630** adopt (address unchanged). **8654** stays **off** the factory whitelist (H-01). Wrap vs drop **superseded**. - [ ] WILLY’s post-bridge code ID (if distinct) - [ ] Four pairs live on factory — **3/4** recorded (SpaceUSD/UST1, UST1/ALPHA, CL8Y/ALPHA). **CL8Y/WILLY** remaining - [x] CMM holds LP for the three live pairs; 2-of-3 holds **0** of those LP balances (WILLY N/A until created) - [x] SpaceUSD/UST1 provided at **1:1** against the SpaceUSD amount used (1000 + 1000; CMM 200 still pending ProposeWithdraw) - [x] UST1/ALPHA seeded at **~$1k per leg** — provide-time GDEX **$0.000010618** / hub UST1 **$0.95789** → pool **1,043.961439** UST1 + **94,178,912.624371** ALPHA - [x] CL8Y/ALPHA seeded with **2,000 CL8Y** + **104,056,204.454456** ALPHA - [ ] CL8Y/WILLY seeded with **2,000 CL8Y** + matching USD of WILLY - [ ] WILLY registered Solana → Terra Classic; CL8Y/WILLY seeded - [ ] Issue comments include old CZB and old CL8Y/ALPHA pool identifiers - [ ] No `RemoveLiquidity` / LP sale from CMM as part of this work ## Labels `deploy` `governance` `product` `docs` `frontend` `enhancement` ## Owner type ops / governance (DEX 2-of-3 + CMM) / product ## Priority P1 — partner LP + bridge listing; not a launch-blocker for existing UST1 window pairs
PlasticDigits commented 2026-08-18 12:08:41 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
PlasticDigits commented 2026-08-18 12:08:49 +00:00 (Migrated from gitlab.com)

Sizing correction (description updated):

  • UST1/ALPHA stays $1k ALPHA + $1k minted UST1.
  • CL8Y/ALPHA and CL8Y/WILLY are 2,000 CL8Y tokens each (not $2k USD of CL8Y), with the other leg sized to that CL8Y USD notional at the live print.
  • Liquidity CL8Y total is therefore 4,000 CL8Y, not a $2k USD split.
Sizing correction (description updated): - **UST1/ALPHA** stays **$1k ALPHA + $1k minted UST1**. - **CL8Y/ALPHA** and **CL8Y/WILLY** are **2,000 CL8Y tokens each** (not $2k USD of CL8Y), with the other leg sized to that CL8Y USD notional at the live print. - Liquidity CL8Y total is therefore **4,000 CL8Y**, not a $2k USD split.
PlasticDigits commented 2026-08-19 11:48:15 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
PlasticDigits commented 2026-08-19 11:48:16 +00:00 (Migrated from gitlab.com)

Ops update 2026-08-19 — inventory staging + WILLY Solana mint

Anonymized operator notes (no chat logs, no names). Transfers went to the DEX 2-of-3 (terra1zlmv2xydxcusurtr6rl78wsvytdc6mfex6hep7), not CMM. Provide must still use receiver = CMM.

WILLY (Solana) — workstream 4 input

Field Value
Mint F4tzWuCqabuxjZPEouLTFsPAsdi1XrR9BqVdXfvNaEX6 (wild willy)
DexScreener https://dexscreener.com/solana/ew8okuuphz78qz23tkuxnpgfgtifkk6fphsa62zyx4tm
Pair Meteora WILLY/SOL EW8okuUphZ78qZ23TKuXNpGFGTiFkk6fPhSA62zYX4TM
Snapshot ~2026-08-19 ~$0.00001196 · FDV ~$10.8k · liq ~$5.1k · 24h vol ~$0.59

Re-quote at bridge/provide. Terra Classic CW20 still TBD after CL8Y bridge register.

Transfers (columbus-5, code 0)

Intent Asset Human amount Tx Height / time (UTC)
CL8Y/ALPHA CL8Y leg CL8Y 2,000 (18 dp) B3F3DA2D… 30014861 / 2026-08-19T07:51:15Z
CL8Y/ALPHA ALPHA leg ALPHA 100,000,000 (6 dp) DF8F3688… 30014866 / 2026-08-19T07:51:45Z
UST1/ALPHA ALPHA leg ALPHA 107,000,000 (6 dp) FAD72103… 30015531 / 2026-08-19T08:57:05Z

Operator sizing (not LCD): matching ALPHA for 2,000 CL8Y ≈ 99,699,839 → sent 100M. UST1/ALPHA ≈ 106,352,430 → sent 107M (extra flex; 7d volume was light).

First LCD check: transfers succeeded. Office double-check still pending.

LCD balances after these sends (2026-08-19)

Holder ALPHA CL8Y
DEX 2-of-3 207,000,000 2,000
CMM 10,000,000 (unchanged vs 2026-08-18 snapshot) 0

Remaining 2,000 CL8Y for CL8Y/WILLY not sent yet. Whitelist + CreatePair / provide still open.

## Ops update 2026-08-19 — inventory staging + WILLY Solana mint Anonymized operator notes (no chat logs, no names). Transfers went to the **DEX 2-of-3** (`terra1zlmv2xydxcusurtr6rl78wsvytdc6mfex6hep7`), **not** CMM. Provide must still use `receiver` = CMM. ### WILLY (Solana) — workstream 4 input | Field | Value | |--------|--------| | Mint | `F4tzWuCqabuxjZPEouLTFsPAsdi1XrR9BqVdXfvNaEX6` (wild willy) | | DexScreener | https://dexscreener.com/solana/ew8okuuphz78qz23tkuxnpgfgtifkk6fphsa62zyx4tm | | Pair | Meteora WILLY/SOL `EW8okuUphZ78qZ23TKuXNpGFGTiFkk6fPhSA62zYX4TM` | | Snapshot ~2026-08-19 | ~$0.00001196 · FDV ~$10.8k · liq ~$5.1k · 24h vol ~$0.59 | Re-quote at bridge/provide. Terra Classic CW20 still TBD after CL8Y bridge register. ### Transfers (columbus-5, `code` 0) | Intent | Asset | Human amount | Tx | Height / time (UTC) | |--------|--------|--------------|----|---------------------| | CL8Y/ALPHA CL8Y leg | CL8Y | **2,000** (18 dp) | [B3F3DA2D…](https://finder.terraclassic.community/columbus-5/tx/B3F3DA2DA445FAC2C4DCB50FF010D5CE8085FED518118F61B3EA851982B3192C) | 30014861 / 2026-08-19T07:51:15Z | | CL8Y/ALPHA ALPHA leg | ALPHA | **100,000,000** (6 dp) | [DF8F3688…](https://finder.terraclassic.community/columbus-5/tx/DF8F368833DA716B59CDB96AD296CE8043645A7386BC8D94047AF8B43983C27A) | 30014866 / 2026-08-19T07:51:45Z | | UST1/ALPHA ALPHA leg | ALPHA | **107,000,000** (6 dp) | [FAD72103…](https://finder.terraclassic.community/columbus-5/tx/FAD721031743DE43DE60CA4F85E0CF88AAF082E8C7279415EA624DA277B613AE) | 30015531 / 2026-08-19T08:57:05Z | Operator sizing (not LCD): matching ALPHA for 2,000 CL8Y ≈ **99,699,839** → sent **100M**. UST1/ALPHA ≈ **106,352,430** → sent **107M** (extra flex; 7d volume was light). First LCD check: transfers succeeded. Office double-check still pending. ### LCD balances after these sends (2026-08-19) | Holder | ALPHA | CL8Y | |--------|-------|------| | DEX 2-of-3 | **207,000,000** | **2,000** | | CMM | **10,000,000** (unchanged vs 2026-08-18 snapshot) | **0** | Remaining **2,000 CL8Y** for CL8Y/WILLY not sent yet. Whitelist + `CreatePair` / provide still open.
PlasticDigits commented 2026-08-19 11:48:36 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
PlasticDigits commented 2026-08-20 03:24:00 +00:00 (Migrated from gitlab.com)

ALPHA code 8654 — do not whitelist (fee-on-transfer)

LCD token_info / tax_map on ALPHA (terra1x6e64es6yhauhvs3prvpdg2gkqdtfru840wgnhs935x8axr7zxkqzysuxz) is cw20_taxed, not a 1:1 CW20. Code ID 8654, checksum 85B92B099C828F236F6B1B09EAADF62DEA5BB5DCE56F16153827C1E850A1101A.

Live tax_map (2026-08-20):

Hook Behaviour
on_send 1% always, unless destination contract code is 8260 or 8214 (Terraport pairs)
on_transfer 4.5% when the source is those Terraport pair codes
on_transfer_from / on_send_from no tax
tax admin terra1ljqgc0cdkl7gcc7s64eczv3hrgga32vfh8xvfj (mutable; not DEX 2-of-3)

Factory whitelist is still [6036, 10184]. CreatePair with ALPHA will fail CodeIdNotWhitelisted. That is the correct failure.

Trap: increase_allowance + provide_liquidity uses transfer_from, which this tax map does not tax. A seed can look 1:1 and CMM LP balances will increase. The first trader Send into a CL8Y pair (wasm 11586, not 8260/8214) then pays 1%. Pair credits the declared Send.amount (P2 / #377). Internal RESERVES then exceed the CW20 balance. Limit-order escrow has the same declared-amount credit (SEC-I01). Documented in-repo by adversarial_token::fee_on_transfer_creates_reserve_imbalance. H-01 / cw20-code-id-ops.md: do not implement balance-delta reconciliation; do not whitelist FoT templates.

Whitelisting 8654 is also factory-global: any other instantiate of that wasm could CreatePair, not only this ALPHA.

UST1/ALPHA and CL8Y/ALPHA stay inventory-ready on the 2-of-3 (207M ALPHA + 2,000 CL8Y-cb at 18 dp). They must not go live on this factory as raw ALPHA.


Why this is the Balancer-class bug (and why “just sync” is not a fix)

Balancer STA/STONK, 2020-06-28 (~$500k). Pools held deflationary ERC20s (1% transfer fee). BPool stored _records[token] from the declared transferFrom amount, not balanceOf. Repeated swaps drove actual STA to ~1 wei while internal reserves stayed high. Attacker called gulp() (sync internal records to actual near-zero balance), STA marked as extremely expensive vs WETH/WBTC/SNX/LINK, then drained the other legs. Write-ups: Balancer post-mortem, 1inch analysis, PeckShield / CertiK.

Our pair is the same accounting model as pre-gulp Balancer: reserves follow protocol messages, not CW20 balance deltas. We have sweep for excess donations (opposite of underfunding). Sweep does not repair a shortfall; a shortfall breaks withdraw / cancel.

Uniswap V2 / PancakeSwap later added swapSupportingFeeOnTransferTokens (measure balanceOf before/after). That is a protocol change we explicitly rejected (H-01). It also does not close the class:

  • Uniswap “exclusive” FoT (extra transfer after the primary) still breaks K.
  • Rebase / reflection tokens still desync; positive rebase + skim() is a steal; negative rebase needs sync().
  • Tokens that call sync() / skim() / addLiquidity from their own fee hook have been used to corrupt Pancake V2 reserves (fee-token skim / auto-liq class). ALPHA’s tax proceeds go to terra1w37akazcflgtyp9teawfgq7xm99z7kc4cpdrsj; even if that address is “just a wallet” today, the wasm is still a taxed template under someone else’s admin.

So: do not whitelist 8654, and do not add FoT-supporting swap math to ship these two pools.


How others handle taxed assets (what actually works)

Pattern Who Fit here
Never list FoT on the AMM Balancer after STA (UI blacklist); our H-01 Default. Partner intent for ALPHA venues fails unless we wrap or they change tax.
Exempt the DEX pair wasm in the tax map Terraport already does this for ALPHA (dst 8260/8214 on send, src tax on transfer-out) Simplest if ALPHA tax admin adds 11586 the same way. Still requires factory AddWhitelistedCodeId 8654, which we must not do. Tax admin can revert the exemption later. Transfer-out of the pair (swap out / LP remove) is 4.5% on Terraport — that direction also desyncs us unless we measured balances.
Wrap the taxed asset into a standard 1:1 token; AMM only sees the wrap This DEX already: native LUNC/USTC rejected as pair legs; retail pays/receives native via wrap-mapper → cLUNC/cUSTC (code 10184). Bank burn tax never hits pair reserves. Best analogue for ALPHA. AMM lists cALPHA (10184), not ALPHA (8654).
Router FoT helpers Uniswap V2 *SupportingFeeOnTransferTokens Rejected for this pair (H-01 + limit escrow).

Strategies (preferred first)

1. Wrap ALPHA into a 10184 CW20 (cALPHA) and route like native (recommended)

Same shape as LUNC → treasury/WrapDeposit → cLUNC → pair Send, and reverse unwrap_output:

  • Instantiate a 10184 mintable cALPHA (already whitelisted). DEX 2-of-3 extra minter (or wrap-stack governance) as on UST1.
  • Wrapper locks ALPHA 1:1 and mints cALPHA. Use increase_allowance + wrapper transfer_from — ALPHA on_transfer_from is untaxed, so the wrap itself can be 1:1 without begging the tax admin. Unwrap = burn cALPHA + transfer ALPHA out ( on_transfer taxes only when source is Terraport pair code, so a 10184 wrapper should also be 1:1 on unwrap).
  • Factory pairs: UST1/cALPHA and CL8Y/cALPHA. Provide with receiver = CMM. Raw ALPHA never becomes a pair asset.
  • Router/UI: optional “pay ALPHA / receive ALPHA” that wraps/unwraps around the hop, same multi-msg pattern as native (NATIVE_TOKEN_WRAPPING.md). Retail can also hold cALPHA.
  • Inventory: 2-of-3 wraps the 207M ALPHA once, then provides cALPHA + minted UST1 / 2,000 CL8Y.

Advantages vs tax-map exemption: factory never lists 8654; P2 holds; tax admin cannot rug the pool by editing tax_map; swaps do not pay 1% per hop; limit book sees 10184. Cost: one new CW20, wrap UX or at least a protocol-owned wrap, tokenlist/logo for cALPHA, partner communication that the CL8Y venue is wrapped ALPHA not Terraport ALPHA.

A POL-only wrap (no public wrap-mapper) is the simpler subset: wrap the 2-of-3 inventory, list cALPHA pools, skip retail wrap until later. That is enough for this issue’s custody LP.

Do not add 10184 to ALPHA’s on_send dest exemption just to make Send-based wrap tax-free — that would exempt every 10184 contract as a destination. Address-level exemption of the wrapper only would be fine if the tax wasm supports it; transfer_from wrap avoids that ask.

2. Ask ALPHA tax admin to exempt CL8Y pair code 11586 (Terraport clone) — not sufficient alone

Even a perfect exemption still wants AddWhitelistedCodeId 8654, which opens the factory to the whole taxed template and to later tax_map edits. Treat as a Terraport compatibility nicety for other venues, not as the listing path here.

3. Do not list ALPHA on this factory

Simplest ops: leave 2-of-3 ALPHA idle (or return to partner). No 8654, no wrap contract. Fails the UST1/ALPHA and CL8Y/ALPHA rows of this issue.

4. Pair/router balance-delta / FoT swap support

Would be a new audit surface, fights H-01, and historically failed in the Balancer gulp direction and in Pancake “token fee hook calls sync/skim/addLiquidity” direction. Out of scope for these pools.


Proposed issue update

  • Do not AddWhitelistedCodeId 8654
  • Decide wrap (POL-only 10184 cALPHA vs full wrap-mapper analogue) vs drop ALPHA pairs
  • If wrap: instantiate 10184, wrap 2-of-3 ALPHA via transfer_from, then CreatePair / provide UST1/cALPHA and CL8Y/cALPHA with receiver = CMM
  • Tokenlist + dApp: cALPHA ≠ ALPHA; do not teach users to Send raw ALPHA into CL8Y pairs

Workstream 2 and 3 (UST1/ALPHA, CL8Y/ALPHA) stay blocked on this decision. CL8Y/WILLY is independent (bridge + remaining 2,000 CL8Y).

## ALPHA code 8654 — do not whitelist (fee-on-transfer) LCD `token_info` / `tax_map` on ALPHA (`terra1x6e64es6yhauhvs3prvpdg2gkqdtfru840wgnhs935x8axr7zxkqzysuxz`) is **`cw20_taxed`**, not a 1:1 CW20. Code ID **8654**, checksum `85B92B099C828F236F6B1B09EAADF62DEA5BB5DCE56F16153827C1E850A1101A`. Live `tax_map` (2026-08-20): | Hook | Behaviour | |------|-----------| | `on_send` | **1% always**, unless destination contract code is **8260 or 8214** (Terraport pairs) | | `on_transfer` | **4.5%** when the **source** is those Terraport pair codes | | `on_transfer_from` / `on_send_from` | no tax | | tax admin | `terra1ljqgc0cdkl7gcc7s64eczv3hrgga32vfh8xvfj` (mutable; not DEX 2-of-3) | Factory whitelist is still `[6036, 10184]`. `CreatePair` with ALPHA will fail `CodeIdNotWhitelisted`. That is the correct failure. **Trap:** `increase_allowance` + `provide_liquidity` uses `transfer_from`, which this tax map does **not** tax. A seed can look 1:1 and CMM LP balances will increase. The first trader `Send` into a CL8Y pair (wasm **11586**, not 8260/8214) then pays 1%. Pair credits the **declared** `Send.amount` (**P2** / [#377](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/377)). Internal `RESERVES` then exceed the CW20 balance. Limit-order escrow has the same declared-amount credit (SEC-I01). Documented in-repo by `adversarial_token::fee_on_transfer_creates_reserve_imbalance`. H-01 / `cw20-code-id-ops.md`: **do not implement balance-delta reconciliation; do not whitelist FoT templates.** Whitelisting **8654** is also factory-global: any other instantiate of that wasm could `CreatePair`, not only this ALPHA. UST1/ALPHA and CL8Y/ALPHA stay **inventory-ready on the 2-of-3** (207M ALPHA + 2,000 CL8Y-cb at 18 dp). They must not go live on this factory as raw ALPHA. --- ### Why this is the Balancer-class bug (and why “just sync” is not a fix) **Balancer STA/STONK, 2020-06-28** (~$500k). Pools held deflationary ERC20s (1% transfer fee). BPool stored `_records[token]` from the **declared** `transferFrom` amount, not `balanceOf`. Repeated swaps drove actual STA to ~1 wei while internal reserves stayed high. Attacker called `gulp()` (sync internal records to actual near-zero balance), STA marked as extremely expensive vs WETH/WBTC/SNX/LINK, then drained the other legs. Write-ups: [Balancer post-mortem](https://medium.com/balancer-protocol/incident-with-non-standard-erc20-deflationary-tokens-95a0f6d46dea), [1inch analysis](https://1inch.com/blog/post/balancer-hack-2020), PeckShield / CertiK. Our pair is the same accounting model as pre-gulp Balancer: reserves follow protocol messages, not CW20 balance deltas. We have **sweep** for *excess* donations (opposite of underfunding). Sweep does not repair a shortfall; a shortfall breaks withdraw / cancel. **Uniswap V2 / PancakeSwap** later added `swapSupportingFeeOnTransferTokens` (measure `balanceOf` before/after). That is a protocol change we explicitly rejected (H-01). It also does not close the class: - Uniswap “exclusive” FoT (extra transfer after the primary) still breaks `K`. - Rebase / reflection tokens still desync; positive rebase + `skim()` is a steal; negative rebase needs `sync()`. - Tokens that **call `sync()` / `skim()` / `addLiquidity` from their own fee hook** have been used to corrupt Pancake V2 reserves (fee-token skim / auto-liq class). ALPHA’s tax proceeds go to `terra1w37akazcflgtyp9teawfgq7xm99z7kc4cpdrsj`; even if that address is “just a wallet” today, the wasm is still a taxed template under someone else’s admin. So: do not whitelist 8654, and do not add FoT-supporting swap math to ship these two pools. --- ### How others handle taxed assets (what actually works) | Pattern | Who | Fit here | |---------|-----|----------| | **Never list FoT on the AMM** | Balancer after STA (UI blacklist); our H-01 | Default. Partner intent for ALPHA venues fails unless we wrap or they change tax. | | **Exempt the DEX pair wasm in the tax map** | Terraport already does this for ALPHA (`dst` 8260/8214 on `send`, `src` tax on transfer-out) | Simplest *if* ALPHA tax admin adds **11586** the same way. Still requires factory `AddWhitelistedCodeId` **8654**, which we must not do. Tax admin can revert the exemption later. Transfer-out of the pair (swap out / LP remove) is 4.5% on Terraport — that direction also desyncs us unless we measured balances. | | **Wrap the taxed asset into a standard 1:1 token; AMM only sees the wrap** | This DEX already: native LUNC/USTC rejected as pair legs; retail pays/receives native via wrap-mapper → **cLUNC/cUSTC** (code **10184**). Bank burn tax never hits pair reserves. | Best analogue for ALPHA. AMM lists `cALPHA` (10184), not ALPHA (8654). | | **Router FoT helpers** | Uniswap V2 `*SupportingFeeOnTransferTokens` | Rejected for this pair (H-01 + limit escrow). | --- ### Strategies (preferred first) **1. Wrap ALPHA into a 10184 CW20 (`cALPHA`) and route like native (recommended)** Same shape as LUNC → treasury/`WrapDeposit` → cLUNC → pair `Send`, and reverse `unwrap_output`: - Instantiate a **10184** mintable `cALPHA` (already whitelisted). DEX 2-of-3 extra minter (or wrap-stack governance) as on UST1. - Wrapper **locks ALPHA 1:1 and mints cALPHA**. Use `increase_allowance` + wrapper `transfer_from` — ALPHA `on_transfer_from` is **untaxed**, so the wrap itself can be 1:1 without begging the tax admin. Unwrap = burn cALPHA + `transfer` ALPHA out ( `on_transfer` taxes only when *source* is Terraport pair code, so a 10184 wrapper should also be 1:1 on unwrap). - Factory pairs: **UST1/cALPHA** and **CL8Y/cALPHA**. Provide with `receiver` = CMM. Raw ALPHA never becomes a pair asset. - Router/UI: optional “pay ALPHA / receive ALPHA” that wraps/unwraps around the hop, same multi-msg pattern as native (`NATIVE_TOKEN_WRAPPING.md`). Retail can also hold cALPHA. - Inventory: 2-of-3 wraps the 207M ALPHA once, then provides cALPHA + minted UST1 / 2,000 CL8Y. Advantages vs tax-map exemption: factory never lists 8654; P2 holds; tax admin cannot rug the pool by editing `tax_map`; swaps do not pay 1% per hop; limit book sees 10184. Cost: one new CW20, wrap UX or at least a protocol-owned wrap, tokenlist/logo for cALPHA, partner communication that the CL8Y venue is wrapped ALPHA not Terraport ALPHA. A **POL-only wrap** (no public wrap-mapper) is the simpler subset: wrap the 2-of-3 inventory, list cALPHA pools, skip retail wrap until later. That is enough for this issue’s custody LP. Do **not** add 10184 to ALPHA’s `on_send` dest exemption just to make `Send`-based wrap tax-free — that would exempt *every* 10184 contract as a destination. Address-level exemption of the wrapper only would be fine if the tax wasm supports it; `transfer_from` wrap avoids that ask. **2. Ask ALPHA tax admin to exempt CL8Y pair code 11586 (Terraport clone) — not sufficient alone** Even a perfect exemption still wants `AddWhitelistedCodeId` 8654, which opens the factory to the whole taxed template and to later `tax_map` edits. Treat as a Terraport compatibility nicety for *other* venues, not as the listing path here. **3. Do not list ALPHA on this factory** Simplest ops: leave 2-of-3 ALPHA idle (or return to partner). No 8654, no wrap contract. Fails the UST1/ALPHA and CL8Y/ALPHA rows of this issue. **4. Pair/router balance-delta / FoT swap support** Would be a new audit surface, fights H-01, and historically failed in the Balancer gulp direction and in Pancake “token fee hook calls sync/skim/addLiquidity” direction. Out of scope for these pools. --- ### Proposed issue update - [ ] **Do not** `AddWhitelistedCodeId` **8654** - [ ] Decide wrap (POL-only 10184 `cALPHA` vs full wrap-mapper analogue) vs drop ALPHA pairs - [ ] If wrap: instantiate 10184, wrap 2-of-3 ALPHA via `transfer_from`, then `CreatePair` / provide UST1/cALPHA and CL8Y/cALPHA with `receiver` = CMM - [ ] Tokenlist + dApp: cALPHA ≠ ALPHA; do not teach users to `Send` raw ALPHA into CL8Y pairs Workstream 2 and 3 (UST1/ALPHA, CL8Y/ALPHA) stay blocked on this decision. CL8Y/WILLY is independent (bridge + remaining 2,000 CL8Y).
PlasticDigits commented 2026-08-20 03:28:03 +00:00 (Migrated from gitlab.com)

mentioned in issue #581

mentioned in issue #581
PlasticDigits commented 2026-08-20 03:28:04 +00:00 (Migrated from gitlab.com)

marked as related to #581

marked as related to #581
PlasticDigits commented 2026-08-20 03:28:11 +00:00 (Migrated from gitlab.com)

Gate for SpaceUSD/UST1: do not AddWhitelistedCodeId 8266 or create/seed the pair until #581 (CW20 8266 source review) is closed with a go/no-go. Workstream 1 is blocked on that audit.

**Gate for SpaceUSD/UST1:** do not `AddWhitelistedCodeId` **8266** or create/seed the pair until [#581](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/581) (CW20 8266 source review) is closed with a go/no-go. Workstream 1 is blocked on that audit.
PlasticDigits commented 2026-08-20 03:37:29 +00:00 (Migrated from gitlab.com)

mentioned in issue #582

mentioned in issue #582
PlasticDigits commented 2026-08-20 03:37:47 +00:00 (Migrated from gitlab.com)

marked as related to #582

marked as related to #582
PlasticDigits commented 2026-08-20 03:37:53 +00:00 (Migrated from gitlab.com)

Gate for workstream 1 (SpaceUSD/UST1)

#581 (8266 source audit) is itself gated by #582: listed CW20s can MsgMigrateContract off the factory whitelist after CreatePair. Do not seed SpaceUSD/UST1 until both 581 and 582 are decided.

ALPHA 8654 remains a separate do not whitelist (already cw20_taxed); that is not the 582 migrate hole.

## Gate for workstream 1 (SpaceUSD/UST1) [#581](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/581) (8266 source audit) is itself gated by [#582](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/582): listed CW20s can `MsgMigrateContract` off the factory whitelist after `CreatePair`. Do not seed SpaceUSD/UST1 until both 581 and 582 are decided. ALPHA 8654 remains a separate **do not whitelist** (already `cw20_taxed`); that is not the 582 migrate hole.
PlasticDigits commented 2026-08-22 02:59:09 +00:00 (Migrated from gitlab.com)

mentioned in issue #589

mentioned in issue #589
PlasticDigits commented 2026-08-22 09:37:55 +00:00 (Migrated from gitlab.com)

mentioned in issue #591

mentioned in issue #591
PlasticDigits commented 2026-08-22 09:37:55 +00:00 (Migrated from gitlab.com)

marked as related to #591

marked as related to #591
PlasticDigits commented 2026-08-22 09:38:18 +00:00 (Migrated from gitlab.com)

#581 template gate is GO via merged !1115 (codeids/8266/REPORT.md). Workstream 0 can take DEX 2-of-3 AddWhitelistedCodeId for 8266 (columbus-5 code id only — not a LocalTerra store id).

8654 / ALPHA is still not approved by this GO. Split the whitelist step: 8266 may proceed; 8654 stays blocked until its own audit.

SpaceUSD/UST1 create+provide (receiver = CMM) remains this issue’s workstream 1. Leftover BLOCK/NO-GO copy in launch-checklist / testing / qa-invariants: #591.

[#581](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/581) template gate is **GO** via merged [!1115](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/merge_requests/397) (`codeids/8266/REPORT.md`). Workstream 0 can take DEX 2-of-3 `AddWhitelistedCodeId` for **8266** (columbus-5 code id only — not a LocalTerra store id). **8654 / ALPHA is still not approved** by this GO. Split the whitelist step: 8266 may proceed; 8654 stays blocked until its own audit. SpaceUSD/UST1 create+provide (`receiver` = CMM) remains this issue’s workstream 1. Leftover BLOCK/NO-GO copy in launch-checklist / testing / qa-invariants: [#591](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/591).
PlasticDigits commented 2026-08-22 10:56:23 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
PlasticDigits commented 2026-08-22 10:56:32 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
PlasticDigits commented 2026-08-22 10:56:48 +00:00 (Migrated from gitlab.com)

Workstream 0 — 8266 live on columbus-5

DEX 2-of-3 executed factory AddWhitelistedCodeId { code_id: 8266 }. Verified on LCD/RPC.

Field Value
Factory terra1ejpgvv7g3hj0u6fpcnxhflqp84g0w3cnaskqkg5733ygwlmf963sfchsea
Signer terra1zlmv2xydxcusurtr6rl78wsvytdc6mfex6hep7 (multisig_2of3)
Height 30060600
Time 2026-08-22T10:53:20Z
Code 0
Wasm action=add_whitelisted_code_id code_id=8266
Tx BA7C9FD05D0FC0BC14713A53325E1F42AAAECF3A11E4EC3BC91368013D8FC5D1
GetWhitelistedCodeIds [6036, 8266, 10184]
IsCodeIdWhitelisted 8266 true

Template gate was already GO on #581. This is the listing tx.

Not done / do not whitelist: ALPHA 8654 (cw20_taxed). WILLY still needs a post-bridge code id.

Next: workstream 1 — CreatePair SpaceUSD/UST1 + provide with receiver = CMM. This issue stays open.

Query note: terrad query … --node is Tendermint RPC (https://terra-classic-rpc.publicnode.com:443), not LCD. LCD without a port fails with missing port in address.

## Workstream 0 — 8266 live on columbus-5 DEX 2-of-3 executed factory `AddWhitelistedCodeId { code_id: 8266 }`. Verified on LCD/RPC. | Field | Value | |-------|--------| | Factory | `terra1ejpgvv7g3hj0u6fpcnxhflqp84g0w3cnaskqkg5733ygwlmf963sfchsea` | | Signer | `terra1zlmv2xydxcusurtr6rl78wsvytdc6mfex6hep7` (`multisig_2of3`) | | Height | **30060600** | | Time | 2026-08-22T10:53:20Z | | Code | **0** | | Wasm | `action=add_whitelisted_code_id` `code_id=8266` | | Tx | [`BA7C9FD05D0FC0BC14713A53325E1F42AAAECF3A11E4EC3BC91368013D8FC5D1`](https://finder.terraclassic.community/columbus-5/tx/BA7C9FD05D0FC0BC14713A53325E1F42AAAECF3A11E4EC3BC91368013D8FC5D1) | | `GetWhitelistedCodeIds` | **`[6036, 8266, 10184]`** | | `IsCodeIdWhitelisted 8266` | **true** | Template gate was already **GO** on [#581](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/581). This is the listing tx. **Not done / do not whitelist:** ALPHA **8654** (`cw20_taxed`). WILLY still needs a post-bridge code id. **Next:** workstream 1 — `CreatePair` SpaceUSD/UST1 + provide with `receiver` = CMM. This issue stays open. Query note: `terrad query … --node` is Tendermint RPC (`https://terra-classic-rpc.publicnode.com:443`), not LCD. LCD without a port fails with `missing port in address`.
PlasticDigits commented 2026-08-23 03:08:39 +00:00 (Migrated from gitlab.com)

marked the checklist item Mint UST1 1:1 via DEX 2-of-3 extra minter (same path as scripts/rebalance-mint-ust1-lp.sh — not wrap-stack governance) as completed

marked the checklist item **Mint UST1 1:1 via DEX 2\-of\-3 extra minter \(same path as scripts/rebalance\-mint\-ust1\-lp\.sh — not wrap\-stack governance\)** as completed
PlasticDigits commented 2026-08-23 03:08:39 +00:00 (Migrated from gitlab.com)

marked the checklist item CreatePair SpaceUSD + UST1; provide with receiver = CMM as completed

marked the checklist item **CreatePair SpaceUSD \+ UST1; provide with receiver \= CMM** as completed
PlasticDigits commented 2026-08-23 03:08:39 +00:00 (Migrated from gitlab.com)

marked the checklist item Record pair addr, create tx, provide tx, amounts as completed

marked the checklist item **Record pair addr, create tx, provide tx, amounts** as completed
PlasticDigits commented 2026-08-23 03:08:40 +00:00 (Migrated from gitlab.com)

Workstream 1 — SpaceUSD/UST1 pair live (1000/1000 → CMM)

Factory CreatePair + first provide at 1 SpaceUSD = 1 UST1. LP minted to CMM. Admin holds 0 LP.

Field Value
Pair terra1xx5t5em3aza3lst0s5yc7rjgx9psapa3345v2vzfqkrprhw3vv6q3hahxy
LP CW20 terra1s3jk92zeslgxxaux5nj8gtcqxafwsufglw2rhkazv4rrt7sg3wfsqj7twz (UST1-SPAC-LP)
Reserves 1000 UST1 + 1000 SpaceUSD (total_share 1e9)
CMM LP 999999000 (1e3 locked as minimum liquidity)
cl8ydeploy LP 0
CMM leftover SpaceUSD 200.032180 (still in treasury; 7-day ProposeWithdraw if we add it later)
Fee / registry fee_bps=180, treasury = CMM, discount registry inherited
Step Height Time (UTC) Tx
Mint 1000 UST1 → cl8ydeploy 30070471 2026-08-23T03:05:01Z 38FF6C28…
Transfer 1000 SpaceUSD 2-of-3 → cl8ydeploy 30070474 2026-08-23T03:05:19Z 552E79DA…
CreatePair 30070476 2026-08-23T03:05:31Z 30C5DA6A…
Provide 1000/1000 receiver=CMM 30070483 2026-08-23T03:06:12Z 5F47FF93…

UST1 mint was DEX 2-of-3 extra minter, not wrap-stack governance. ALPHA / CL8Y / WILLY workstreams unchanged.

## Workstream 1 — SpaceUSD/UST1 pair live (1000/1000 → CMM) Factory `CreatePair` + first provide at **1 SpaceUSD = 1 UST1**. LP minted to CMM. Admin holds **0** LP. | Field | Value | |-------|--------| | Pair | [`terra1xx5t5em3aza3lst0s5yc7rjgx9psapa3345v2vzfqkrprhw3vv6q3hahxy`](https://finder.terraclassic.community/columbus-5/address/terra1xx5t5em3aza3lst0s5yc7rjgx9psapa3345v2vzfqkrprhw3vv6q3hahxy) | | LP CW20 | `terra1s3jk92zeslgxxaux5nj8gtcqxafwsufglw2rhkazv4rrt7sg3wfsqj7twz` (`UST1-SPAC-LP`) | | Reserves | **1000** UST1 + **1000** SpaceUSD (`total_share` 1e9) | | CMM LP | `999999000` (1e3 locked as minimum liquidity) | | `cl8ydeploy` LP | **0** | | CMM leftover SpaceUSD | **200.032180** (still in treasury; 7-day `ProposeWithdraw` if we add it later) | | Fee / registry | `fee_bps=180`, treasury = CMM, discount registry inherited | | Step | Height | Time (UTC) | Tx | |------|--------|------------|-----| | Mint 1000 UST1 → `cl8ydeploy` | 30070471 | 2026-08-23T03:05:01Z | [`38FF6C28…`](https://finder.terraclassic.community/columbus-5/tx/38FF6C281852F9C9B1180FA8E0C224832CA1985AB6EEB1F825827D85F268467C) | | Transfer 1000 SpaceUSD 2-of-3 → `cl8ydeploy` | 30070474 | 2026-08-23T03:05:19Z | [`552E79DA…`](https://finder.terraclassic.community/columbus-5/tx/552E79DA90437A8CE75FF16E900FC28D4F851222DA05568ADFBFF9BF71C37487) | | `CreatePair` | 30070476 | 2026-08-23T03:05:31Z | [`30C5DA6A…`](https://finder.terraclassic.community/columbus-5/tx/30C5DA6A3C559D87058064C91FE22B301C36D9C6B27D157E71496881CDE47AB9) | | Provide 1000/1000 `receiver`=CMM | 30070483 | 2026-08-23T03:06:12Z | [`5F47FF93…`](https://finder.terraclassic.community/columbus-5/tx/5F47FF93EA9E85B68DC42B0388BE92812ABEA5BF73448282F13763EF8FF8B1F4) | UST1 mint was DEX 2-of-3 extra minter, not wrap-stack governance. ALPHA / CL8Y / WILLY workstreams unchanged.
PlasticDigits commented 2026-08-23 03:10:51 +00:00 (Migrated from gitlab.com)

Come back: SpaceUSD CMM withdraw — 2026-08-30 03:09:45 UTC

CMM ProposeWithdraw of leftover 200.032180 SpaceUSD → cl8ydeploy is pending (7-day timelock). Funds are still in CMM until ExecuteWithdraw.

Field Value
Come back after 2026-08-30 03:09:45 UTC (Sunday)
Use this id bb2be6e91c4c35921b51c6381a0b1c55
Amount 200032180 SpaceUSD
Destination terra1hu4zggf3f8yw6jw3rxrjxn2drwad675gq5k2lv (cl8ydeploy)
Propose tx C605AD4E… (height 30070519)

Duplicate: a second identical propose was broadcast 11s later (cac18b31e5d5b29b8141233f33f8b05b, tx 5CEFC1E3…). CMM only holds 200.032180. Cancel the duplicate now (cl8y2_admin):

terrad tx wasm execute terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2 \
  '{"cancel_withdraw":{"withdrawal_id":"cac18b31e5d5b29b8141233f33f8b05b"}}' \
  --from cl8y2_admin

After unlock: ExecuteWithdraw bb2be6e91c4c35921b51c6381a0b1c55 → mint 200.032180 UST1 1:1 → provide_liquidity on existing pair terra1xx5t5em3aza3lst0s5yc7rjgx9psapa3345v2vzfqkrprhw3vv6q3hahxy with receiver = CMM. No second CreatePair.

## Come back: SpaceUSD CMM withdraw — **2026-08-30 03:09:45 UTC** CMM `ProposeWithdraw` of leftover **200.032180** SpaceUSD → `cl8ydeploy` is pending (7-day timelock). Funds are still in CMM until `ExecuteWithdraw`. | Field | Value | |-------|--------| | Come back after | **2026-08-30 03:09:45 UTC** (Sunday) | | Use this id | `bb2be6e91c4c35921b51c6381a0b1c55` | | Amount | `200032180` SpaceUSD | | Destination | `terra1hu4zggf3f8yw6jw3rxrjxn2drwad675gq5k2lv` (`cl8ydeploy`) | | Propose tx | [`C605AD4E…`](https://finder.terraclassic.community/columbus-5/tx/C605AD4E35447C303529BA2511642511A9AB476B0DAF8993514DB0F14D2FD6A8) (height **30070519**) | **Duplicate:** a second identical propose was broadcast 11s later (`cac18b31e5d5b29b8141233f33f8b05b`, tx [`5CEFC1E3…`](https://finder.terraclassic.community/columbus-5/tx/5CEFC1E3FBA342B59AE0A269F69CDF05158BF644D7CD5C6D468B9850E71A6984)). CMM only holds **200.032180**. Cancel the duplicate now (`cl8y2_admin`): ```bash terrad tx wasm execute terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2 \ '{"cancel_withdraw":{"withdrawal_id":"cac18b31e5d5b29b8141233f33f8b05b"}}' \ --from cl8y2_admin ``` After unlock: `ExecuteWithdraw` `bb2be6e91c4c35921b51c6381a0b1c55` → mint **200.032180** UST1 1:1 → `provide_liquidity` on existing pair `terra1xx5t5em3aza3lst0s5yc7rjgx9psapa3345v2vzfqkrprhw3vv6q3hahxy` with `receiver` = CMM. No second `CreatePair`.
PlasticDigits commented 2026-08-23 03:12:24 +00:00 (Migrated from gitlab.com)

Duplicate CMM withdraw cancelled. cancel_withdraw cac18b31e5d5b29b8141233f33f8b05b — tx D2C982A4… height 30070543 (2026-08-23T03:12:06Z).

One pending left: bb2be6e91c4c35921b51c6381a0b1c55. Come back 2026-08-30 03:09:45 UTC for ExecuteWithdraw → mint 200.032180 UST1 → provide on existing SpaceUSD/UST1 pair to CMM.

Duplicate CMM withdraw **cancelled**. `cancel_withdraw` `cac18b31e5d5b29b8141233f33f8b05b` — tx [`D2C982A4…`](https://finder.terraclassic.community/columbus-5/tx/D2C982A4828FFA16CBD1B92482DB083961D08EB2AE85DDFFECD10CC4C09ED5E9) height **30070543** (2026-08-23T03:12:06Z). One pending left: **`bb2be6e91c4c35921b51c6381a0b1c55`**. Come back **2026-08-30 03:09:45 UTC** for `ExecuteWithdraw` → mint 200.032180 UST1 → provide on existing SpaceUSD/UST1 pair to CMM.
PlasticDigits commented 2026-08-23 06:26:36 +00:00 (Migrated from gitlab.com)

Recommendation: ALPHA venues on 11611 (do not whitelist 8654)

Factory already lists the DEX-safe community tax template (11611, #601 REPORT GO, GetWhitelistedCodeIds [6036, 8266, 10184, 11611]). That is the only taxed CW20 this factory will list. 8654 stays known-bad (cw20_taxed / inbound FoT / P2). Do not AddWhitelistedCodeId 8654.

This is the preferred path for UST1/ALPHA and CL8Y/ALPHA if ALPHA governance wants tax + CL8Y listing. It is not a wrap (cALPHA / 10184) and not a Terraport tax_map exemption.


Does the current situation allow MsgMigrateContract 8654 → 11611?

Admin can sign. The wasm cannot accept it. In-place migrate is not available.

Check Live ALPHA (terra1x6e64es6yhauhvs3prvpdg2gkqdtfru840wgnhs935x8axr7zxkqzysuxz)
code_id 8654
Wasm + tax admin terra1ljqgc0cdkl7gcc7s64eczv3hrgga32vfh8xvfj (Lunc Universe — not CMM, not DEX 2-of-3)
Creator terra1ghewclqpgu2j2pr76g3m3d945ldfyv58zrucp9
cw2 cw20_taxed (not crates.io:cl8y-community-tax-token)

11611 migrate is a same-crate version bump only (ensure_from_older_version on crates.io:cl8y-community-tax-token). ALPHA’s store is cw20_taxed + tax_map. A migrate signed by terra1ljqgc… would revert (wrong cw2 name) or, if forced with a custom importer we do not have, brick balances/config. There is no importer for 8654 state.

CMM / DEX 2-of-3 cannot migrate ALPHA. Only the ALPHA wasm admin can. Even with that signature, 11611 will not load 8654 state.

Keep using the existing ALPHA address on Terraport. For this factory, ship a new 11611 instantiate (new terra1…) via the canonical launcher 11614 (terra126pr5…ahzwze), then CreatePair / provide. Holders stay on 8654 unless they swap into the new token.


Live ALPHA settings (LCD 2026-08-23)

Field Value
Name / symbol / decimals ALPHA Lunc Universe / ALPHA / 6
total_supply 1328073898910899 raw (~1.328B human)
minter null (mint off)
Tax proceeds terra1w37akazcflgtyp9teawfgq7xm99z7kc4cpdrsj
on_send src Always 1% (0.01)
on_send dst Terraport pair codes 8260 / 8214 → 0%
on_transfer src From 8260 / 8214 → 4.5% (0.045)
on_transfer dst Always 0% (wallet→wallet untaxed)
on_transfer_from / on_send_from Never (provide / allowance path 1:1)

That on_send Always 1% is inbound FoT into any non-exempt Send dest — why P2 fails and why we will not list 8654.


Closest 11611 settings (new token, not a migrate)

Launcher create (CreateToken 0-SKU, or paid SKUs via #595). Wasm admin will be CMM terra16j5u6…sem3lr2 (T592-5). ALPHA’s current admin becomes manager only — they cannot MsgMigrateContract / UpdateAdmin after create. They must accept that.

Live ALPHA 11611 field Proposed
1% send (DEX-safe equivalent) sell_bps 100 — extra-debit on Send+Swap to a registered CL8Y pair; pair still credits amount
4.5% transfer-out of Terraport pair buy_bps 450 — outbound split on Transfer/Send from a registered listed pair
Wallet→wallet 0% transfer_bps / TransferTax SKU off — do not unlock transfer_tax
transfer_from untaxed (default) Provide stays 1:1 — no SKU
Proceeds terra1w37akazc…cpdrsj treasury Same address (or CMM if they want protocol custody of tax)
Tax admin terra1ljqgc…xvfj manager Same wallet
Mint off MintControl SKU omit
6 dp / ALPHA decimals / symbol 6 / ALPHA (name can stay ALPHA Lunc Universe)
Combined caps max_* e.g. max_sell=100, max_buy=450, max_transfer=0 (sum 550 ≤ 2500)
Terraport code-id map 8260/8214 RegisterListedPair After CreatePair, register this factory’s UST1/ALPHA and CL8Y/ALPHA pair addresses — not Terraport codes

Then: DEX 2-of-3 / CMM CreatePair UST1 + new ALPHA and CL8Y + new ALPHA; RegisterListedPair on the token; provide with receiver = CMM (this issue’s custody rule). 11611 is already whitelisted — workstream 0 for ALPHA is unblocked on the new address.

Unlock later only if they want it: variable_rates (raise buy/sell within caps), exemption_directory, AutoLP. Each SKU / settings save is 50 UST1 to launcher/token.


What 11611 cannot copy

  • Same contract address and the 1.328B holder set (no state migrate).
  • Code-id tax_map (1% on every Send, 4.5% only when src is 8260/8214). 11611 taxes listed CL8Y pairs only (plus optional wallet transfer tax).
  • Admin-editable UpdateTaxMap with no invoice. 11611 rate changes need a 50 UST1 settings batch and stay inside instantiate caps.
  • Wasm admin stays with Lunc Universe. Launcher stamps CMM.

If they need the existing ALPHA balances in CL8Y pools without a new ticker, that is still the 10184 cALPHA wrap path already on this issue (allowance transfer_from is untaxed on 8654). 11611 is the path when they want a listed tax token under T592, not a wrap of 8654.


Decision for workstreams 2 / 3

  1. New 11611 ALPHA (this note) — CreatePair/provide unblocked; new address; partner/manager accepts CMM wasm admin + 100/450 bps + RegisterListedPair.
  2. POL wrap cALPHA 10184 — keep 8654 as the holder asset; pools see 1:1 wrap.
  3. Drop ALPHA pairs — leave 2-of-3 inventory idle / return.

Do not mix (1) with AddWhitelistedCodeId 8654. Playbooks: AGENTS_COMMUNITY_TAX_CW20.md (T592 / O601), Create Token #593 / #602.

## Recommendation: ALPHA venues on **11611** (do not whitelist **8654**) Factory already lists the DEX-safe community tax template (**11611**, [#601](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/601) REPORT **GO**, `GetWhitelistedCodeIds` **`[6036, 8266, 10184, 11611]`**). That is the only taxed CW20 this factory will list. **8654** stays known-bad (`cw20_taxed` / inbound FoT / **P2**). Do **not** `AddWhitelistedCodeId 8654`. This is the preferred path for UST1/ALPHA and CL8Y/ALPHA **if** ALPHA governance wants tax + CL8Y listing. It is **not** a wrap (`cALPHA` / 10184) and **not** a Terraport `tax_map` exemption. --- ### Does the current situation allow `MsgMigrateContract` 8654 → 11611? **Admin can sign. The wasm cannot accept it. In-place migrate is not available.** | Check | Live ALPHA (`terra1x6e64es6yhauhvs3prvpdg2gkqdtfru840wgnhs935x8axr7zxkqzysuxz`) | |-------|----------------------------------------------------------------------------------| | `code_id` | **8654** | | Wasm + tax admin | `terra1ljqgc0cdkl7gcc7s64eczv3hrgga32vfh8xvfj` (Lunc Universe — **not** CMM, **not** DEX 2-of-3) | | Creator | `terra1ghewclqpgu2j2pr76g3m3d945ldfyv58zrucp9` | | cw2 | `cw20_taxed` (not `crates.io:cl8y-community-tax-token`) | 11611 `migrate` is a **same-crate version bump** only (`ensure_from_older_version` on `crates.io:cl8y-community-tax-token`). ALPHA’s store is `cw20_taxed` + `tax_map`. A migrate signed by `terra1ljqgc…` would **revert** (wrong cw2 name) or, if forced with a custom importer we do not have, **brick** balances/config. There is no importer for 8654 state. **CMM / DEX 2-of-3 cannot migrate ALPHA.** Only the ALPHA wasm admin can. Even with that signature, 11611 will not load 8654 state. Keep using the existing ALPHA address on Terraport. For this factory, ship a **new** 11611 instantiate (new `terra1…`) via the canonical launcher **11614** (`terra126pr5…ahzwze`), then `CreatePair` / provide. Holders stay on 8654 unless they swap into the new token. --- ### Live ALPHA settings (LCD 2026-08-23) | Field | Value | |-------|--------| | Name / symbol / decimals | `ALPHA Lunc Universe` / `ALPHA` / **6** | | `total_supply` | `1328073898910899` raw (~**1.328B** human) | | `minter` | `null` (mint off) | | Tax proceeds | `terra1w37akazcflgtyp9teawfgq7xm99z7kc4cpdrsj` | | `on_send` src | **Always 1%** (`0.01`) | | `on_send` dst | Terraport pair codes **8260 / 8214** → **0%** | | `on_transfer` src | From **8260 / 8214** → **4.5%** (`0.045`) | | `on_transfer` dst | Always **0%** (wallet→wallet untaxed) | | `on_transfer_from` / `on_send_from` | **Never** (provide / allowance path 1:1) | That `on_send` Always 1% is inbound FoT into any non-exempt `Send` dest — why **P2** fails and why we will not list 8654. --- ### Closest 11611 settings (new token, not a migrate) Launcher create (`CreateToken` 0-SKU, or paid SKUs via #595). Wasm admin will be **CMM** `terra16j5u6…sem3lr2` (**T592-5**). ALPHA’s current admin becomes **manager** only — they cannot `MsgMigrateContract` / `UpdateAdmin` after create. They must accept that. | Live ALPHA | 11611 field | Proposed | |------------|-------------|----------| | 1% send (DEX-safe equivalent) | `sell_bps` | **100** — extra-debit on `Send`+`Swap` to a **registered** CL8Y pair; pair still credits `amount` | | 4.5% transfer-out of Terraport pair | `buy_bps` | **450** — outbound split on `Transfer`/`Send` **from** a registered listed pair | | Wallet→wallet 0% | `transfer_bps` / TransferTax SKU | **off** — do not unlock `transfer_tax` | | `transfer_from` untaxed | (default) | Provide stays 1:1 — no SKU | | Proceeds `terra1w37akazc…cpdrsj` | `treasury` | Same address (or CMM if they want protocol custody of tax) | | Tax admin `terra1ljqgc…xvfj` | `manager` | Same wallet | | Mint off | MintControl SKU | **omit** | | 6 dp / ALPHA | `decimals` / `symbol` | **6** / `ALPHA` (name can stay `ALPHA Lunc Universe`) | | Combined caps | `max_*` | e.g. `max_sell=100`, `max_buy=450`, `max_transfer=0` (sum **550 ≤ 2500**) | | Terraport code-id map 8260/8214 | `RegisterListedPair` | After `CreatePair`, register **this factory’s** UST1/ALPHA and CL8Y/ALPHA pair addresses — not Terraport codes | Then: DEX 2-of-3 / CMM `CreatePair` UST1 + new ALPHA and CL8Y + new ALPHA; `RegisterListedPair` on the token; provide with `receiver` = CMM (this issue’s custody rule). **11611 is already whitelisted** — workstream 0 for ALPHA is unblocked on the new address. Unlock later only if they want it: `variable_rates` (raise buy/sell within caps), `exemption_directory`, AutoLP. Each SKU / settings save is **50 UST1** to launcher/token. --- ### What 11611 cannot copy - **Same contract address** and the **1.328B holder set** (no state migrate). - **Code-id `tax_map`** (1% on every Send, 4.5% only when src is 8260/8214). 11611 taxes **listed CL8Y pairs** only (plus optional wallet transfer tax). - **Admin-editable `UpdateTaxMap`** with no invoice. 11611 rate changes need a 50 UST1 settings batch and stay inside instantiate caps. - **Wasm admin stays with Lunc Universe.** Launcher stamps CMM. If they need the **existing** ALPHA balances in CL8Y pools without a new ticker, that is still the **10184 `cALPHA` wrap** path already on this issue (allowance `transfer_from` is untaxed on 8654). 11611 is the path when they want a **listed tax token** under T592, not a wrap of 8654. --- ### Decision for workstreams 2 / 3 1. **New 11611 ALPHA** (this note) — CreatePair/provide unblocked; new address; partner/manager accepts CMM wasm admin + 100/450 bps + `RegisterListedPair`. 2. **POL wrap `cALPHA` 10184** — keep 8654 as the holder asset; pools see 1:1 wrap. 3. **Drop ALPHA pairs** — leave 2-of-3 inventory idle / return. Do not mix (1) with `AddWhitelistedCodeId 8654`. Playbooks: [`AGENTS_COMMUNITY_TAX_CW20.md`](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/blob/main/skills/AGENTS_COMMUNITY_TAX_CW20.md) (**T592** / **O601**), Create Token [#593](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/593) / [#602](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/602).
PlasticDigits commented 2026-08-23 06:30:41 +00:00 (Migrated from gitlab.com)

mentioned in issue #603

mentioned in issue #603
PlasticDigits commented 2026-08-23 06:30:41 +00:00 (Migrated from gitlab.com)

marked as related to #603

marked as related to #603
PlasticDigits commented 2026-08-24 11:49:44 +00:00 (Migrated from gitlab.com)

mentioned in issue #626

mentioned in issue #626
PlasticDigits commented 2026-08-24 11:49:44 +00:00 (Migrated from gitlab.com)

marked as related to #626

marked as related to #626
PlasticDigits commented 2026-08-24 12:12:27 +00:00 (Migrated from gitlab.com)

mentioned in merge request !1136

mentioned in merge request !1136
PlasticDigits commented 2026-08-24 12:12:36 +00:00 (Migrated from gitlab.com)

#626 / !1136 ships listed-template in-place adopt onto 11619. It does not replace POL wrap vs drop for ALPHA. S4 (8654) stays no-go on the migrate page. This issue stays open.

#626 / !1136 ships listed-template **in-place adopt** onto 11619. It does **not** replace POL wrap vs drop for ALPHA. S4 (8654) stays **no-go** on the migrate page. This issue stays open.
PlasticDigits commented 2026-08-24 13:33:32 +00:00 (Migrated from gitlab.com)

mentioned in issue #628

mentioned in issue #628
PlasticDigits commented 2026-08-24 13:33:34 +00:00 (Migrated from gitlab.com)

marked as related to #628

marked as related to #628
PlasticDigits commented 2026-08-26 07:36:35 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
PlasticDigits commented 2026-08-26 07:37:45 +00:00 (Migrated from gitlab.com)

ALPHA S4 adopt verified (8654 → 11630) — wrap vs drop superseded

LCD https://terra-classic-lcd.publicnode.com 2026-08-26. Address unchanged. Do not AddWhitelistedCodeId 8654.

Field LCD
Contract terra1x6e64es6yhauhvs3prvpdg2gkqdtfru840wgnhs935x8axr7zxkqzysuxz
Height 30116924 · 2026-08-26T07:24:10Z · code 0
New code ID 11630 · cw2 crates.io:cl8y-community-tax-token / 1.0.0 · hash E60A6E31BB0261505170208BBF2B0E17CDB4C6258D701E2E6D22E362CA872B96
Source 8654 · crates.io:cw20-base / 1.1.0+taxed001
Tx 22667F2125045F900C06B295CCD6BBFA095A2293133353CAE6772A71F07D7D2B
Msgs MsgMigrateContract {adopt:…} then MsgUpdateAdmin → CMM (same bundle, M626-5)
Wasm admin CMM terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2
Events action=migrate-adopt fot_wiped=1 s4=true mint_revoked=false (source had no minter; minter query is null; MintControl off)

Adopt payload matches on-chain msg:

{"adopt":{"manager":"terra1ljqgc0cdkl7gcc7s64eczv3hrgga32vfh8xvfj","treasury":"terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2","factory":"terra1ejpgvv7g3hj0u6fpcnxhflqp84g0w3cnaskqkg5733ygwlmf963sfchsea","router":"terra1e7s0h9ftxakwca5gxspyt4haeuaqxds6swr08ul3tsepq7el924sprrsrw","ust1":"terra1f0eqgy9w7e5e7up97vjudqwx38tesf8ylx75x2lv3nwm0clry0pqmgfy72","cmm_treasury":"terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2","official_launcher":"terra126pr5323xkhwas7y03azv48sqr2fy3fxxg0sxu8xhmjdxr8v5tzqahzwze","buy_bps":450,"sell_bps":100,"transfer_bps":null,"max_buy_bps":450,"max_sell_bps":100,"max_transfer_bps":0,"source_code_id":8654}}

Token check (live)

Check Result
Identity name ALPHA Lunc Universe · symbol ALPHA · 6 dp · total_supply 1328073898910899 (~1.328B) — matches tokenlist address
GetConfig manager terra1ljqgc0…xvfj · treasury/CMM/factory/router/UST1/launcher pins match payload · buy 450 / sell 100 / transfer 0 · max same · combined 550 ≤ 2500
GetFeatures all false (free profile; no paid SKUs)
GetMigrateOrigin source_cw2 crates.io:cw20-base · version 1.1.0+taxed001 · source_code_id 8654 · migrated_at_height 30116924
GetLauncherOrigin official launcher terra126pr5323xkhwas7y03azv48sqr2fy3fxxg0sxu8xhmjdxr8v5tzqahzwze
tax_map unknown variant (wiped)
TaxPreview wallet→wallet honest 1:1 (tax=0)
TaxPreview → Terraport ALPHA/LUNC honest 1:1 (external pair not registered — M626-10)
Factory GetWhitelistedCodeIds [6036, 8266, 10184, 11630] · 11630 true · 8654 false
Factory Pair UST1/ALPHA and CL8Y/ALPHA not found (CreatePair still open)
Indexer catalog configured=true · code_id 11630 · attested_cmm=true · launcher_tx=null (adopt origin, not faked)

Inventory (unchanged by migrate)

Holder Raw ALPHA Human
CMM 10000000000000 10,000,000
DEX 2-of-3 207000000000000 207,000,000
Manager 0 0
Terraport ALPHA/LUNC 26490735558166 26,490,735.558166
Terraport ALPHA/USTC 23466167250 23,466.167250

What this unblocks

Workstreams 2 and 3 may CreatePair against this address (listed 11630). After each new CL8Y factory pair, RegisterListedPair so sell extra-debit / buy split apply (#633). Do not register Terraport/GDEX pairs. Provide still uses receiver = CMM. Re-quote ALPHA before send.

Issue description updated with the same anchors. This issue stays open for create + provide + WILLY.

## ALPHA S4 adopt verified (8654 → 11630) — wrap vs drop superseded LCD `https://terra-classic-lcd.publicnode.com` 2026-08-26. Address unchanged. **Do not** `AddWhitelistedCodeId` **8654**. | Field | LCD | |-------|-----| | Contract | `terra1x6e64es6yhauhvs3prvpdg2gkqdtfru840wgnhs935x8axr7zxkqzysuxz` | | Height | **30116924** · 2026-08-26T07:24:10Z · code **0** | | New code ID | **11630** · cw2 `crates.io:cl8y-community-tax-token` / `1.0.0` · hash `E60A6E31BB0261505170208BBF2B0E17CDB4C6258D701E2E6D22E362CA872B96` | | Source | **8654** · `crates.io:cw20-base` / `1.1.0+taxed001` | | Tx | [`22667F2125045F900C06B295CCD6BBFA095A2293133353CAE6772A71F07D7D2B`](https://luncdash.com/explorer/tx/22667F2125045F900C06B295CCD6BBFA095A2293133353CAE6772A71F07D7D2B) | | Msgs | `MsgMigrateContract` `{adopt:…}` then `MsgUpdateAdmin` → CMM (same bundle, **M626-5**) | | Wasm admin | CMM `terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2` | | Events | `action=migrate-adopt` `fot_wiped=1` `s4=true` `mint_revoked=false` (source had no minter; `minter` query is `null`; MintControl off) | Adopt payload matches on-chain `msg`: ```json {"adopt":{"manager":"terra1ljqgc0cdkl7gcc7s64eczv3hrgga32vfh8xvfj","treasury":"terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2","factory":"terra1ejpgvv7g3hj0u6fpcnxhflqp84g0w3cnaskqkg5733ygwlmf963sfchsea","router":"terra1e7s0h9ftxakwca5gxspyt4haeuaqxds6swr08ul3tsepq7el924sprrsrw","ust1":"terra1f0eqgy9w7e5e7up97vjudqwx38tesf8ylx75x2lv3nwm0clry0pqmgfy72","cmm_treasury":"terra16j5u6ey7a84g40sr3gd94nzg5w5fm45046k9s2347qhfpwm5fr6sem3lr2","official_launcher":"terra126pr5323xkhwas7y03azv48sqr2fy3fxxg0sxu8xhmjdxr8v5tzqahzwze","buy_bps":450,"sell_bps":100,"transfer_bps":null,"max_buy_bps":450,"max_sell_bps":100,"max_transfer_bps":0,"source_code_id":8654}} ``` ### Token check (live) | Check | Result | |-------|--------| | Identity | name `ALPHA Lunc Universe` · symbol `ALPHA` · 6 dp · `total_supply` `1328073898910899` (~1.328B) — matches tokenlist address | | `GetConfig` | manager `terra1ljqgc0…xvfj` · treasury/CMM/factory/router/UST1/launcher pins match payload · buy **450** / sell **100** / transfer **0** · max same · combined 550 ≤ 2500 | | `GetFeatures` | all **false** (free profile; no paid SKUs) | | `GetMigrateOrigin` | source_cw2 `crates.io:cw20-base` · version `1.1.0+taxed001` · source_code_id **8654** · migrated_at_height **30116924** | | `GetLauncherOrigin` | official launcher `terra126pr5323xkhwas7y03azv48sqr2fy3fxxg0sxu8xhmjdxr8v5tzqahzwze` | | `tax_map` | unknown variant (wiped) | | `TaxPreview` wallet→wallet | honest 1:1 (`tax=0`) | | `TaxPreview` → Terraport ALPHA/LUNC | honest 1:1 (external pair not registered — **M626-10**) | | Factory `GetWhitelistedCodeIds` | **`[6036, 8266, 10184, 11630]`** · 11630 **true** · 8654 **false** | | Factory `Pair` UST1/ALPHA and CL8Y/ALPHA | **not found** (CreatePair still open) | | Indexer catalog | `configured=true` · code_id **11630** · `attested_cmm=true` · `launcher_tx=null` (adopt origin, not faked) | ### Inventory (unchanged by migrate) | Holder | Raw ALPHA | Human | |--------|-----------|-------| | CMM | `10000000000000` | **10,000,000** | | DEX 2-of-3 | `207000000000000` | **207,000,000** | | Manager | `0` | 0 | | Terraport ALPHA/LUNC | `26490735558166` | **26,490,735.558166** | | Terraport ALPHA/USTC | `23466167250` | **23,466.167250** | ### What this unblocks Workstreams 2 and 3 may `CreatePair` against this address (listed **11630**). After each new **CL8Y factory** pair, `RegisterListedPair` so sell extra-debit / buy split apply ([#633](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/issues/633)). Do **not** register Terraport/GDEX pairs. Provide still uses `receiver` = CMM. Re-quote ALPHA before send. Issue description updated with the same anchors. This issue stays open for create + provide + WILLY.
PlasticDigits commented 2026-08-26 07:42:31 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
PlasticDigits commented 2026-08-26 07:42:32 +00:00 (Migrated from gitlab.com)

GDEX ALPHA/LUNC quote + post-adopt LUNC→ALPHA swap verified

LCD https://terra-classic-lcd.publicnode.com 2026-08-26.

Swap tx is LUNC → ALPHA on Garuda / GDEX

Field LCD
Tx 72E31C013AB41C0FF9CA42F74929B65925952BF4EF95B249332E08689784C0D6
Height 30117000 (2026-08-26T07:31:39Z) · code 0 — 76 blocks after the 11630 adopt
Router terra1eel4krahz8nr5vjw5w784ly7tjuu839mgmredngu7qdvwjxs43ds304q76 · source=Garuda · action=swap_split
Pair terra1xu5kwmurh9jlz647ksu77lrd3ylz0hpnjljvkwsscadsxnwwq4yqmnq765 (Garuda market)
Offer 1,000,000,000 uluna (1000 LUNC)
Return 5,078,319,575 ALPHA (5,078.319575) · return_asset = ALPHA CW20
Fees protocol 3 LUNC · commission 5 LUNC · spread 25.692884 LUNC
ALPHA transfer tax_kind=honest tax=0 (GDEX is not a CL8Y listed pair — M626-10)
Recipient terra1w37akazcflgtyp9teawfgq7xm99z7kc4cpdrsj (former 8654 tax-map sink)

Route path is uluna → ALPHA on that pair. This is a live post-wipe 1:1 hop on GDEX, not a CL8Y extra-debit sell.

GDEX pool vs operator USD 0.0000104787

Pair code 10902 (pair_base) · LP terra143h0wpyhdwnlhj3g6xhlzs6rh9lx2tcluq258ktx2a3773cqm50q8cxu8z (code 9788).

Field LCD
asset1 ALPHA terra1x6e64…zysuxz
asset2 uluna
reserve1 147906572793300 (147,906,572.793300 ALPHA)
reserve2 29500063251813 (29,500,063.251813 LUNC)
Spot 0.19945066 LUNC / ALPHA (5.01377 ALPHA / LUNC)
simulate_swap 1000 LUNC return 4988534264 ALPHA (now; reserves moved after the smoke swap)

Operator $0.0000104787 = GDEX spot × LUNC ≈ $0.00005254. Independent cross-check (same spot × indexer LUNC $0.00005338) → $0.000010647 (+1.58%). CoinGecko LUNC $0.00005354 → $0.000010679. Treat 0.0000104787 as the GDEX UI print; it is consistent with the pool, not the old $0.00002253 Coinhall figure.

Terraport ALPHA/LUNC (terra12u7kh…e7p6) is thinner: 26.49M ALPHA / 5.443M LUNC → $0.00001097 at indexer LUNC. GDEX is the deeper venue ($3.1k TVL).

Sizing at $0.0000104787: $1,000 → 95,431,685 ALPHA. 2,000 CL8Y at the 2026-08-18 $0.483059 print → 92,198,269 ALPHA. 2-of-3 207M still covers both (~187.6M) with ~19M flex. Re-quote CL8Y + ALPHA together at provide.

Do not RegisterListedPair this GDEX addr. Description price table updated. Issue stays open for create + provide.

## GDEX ALPHA/LUNC quote + post-adopt LUNC→ALPHA swap verified LCD `https://terra-classic-lcd.publicnode.com` 2026-08-26. ### Swap tx is LUNC → ALPHA on Garuda / GDEX | Field | LCD | |-------|-----| | Tx | [`72E31C013AB41C0FF9CA42F74929B65925952BF4EF95B249332E08689784C0D6`](https://luncdash.com/explorer/tx/72E31C013AB41C0FF9CA42F74929B65925952BF4EF95B249332E08689784C0D6) | | Height | **30117000** (2026-08-26T07:31:39Z) · code **0** — **76 blocks after** the 11630 adopt | | Router | `terra1eel4krahz8nr5vjw5w784ly7tjuu839mgmredngu7qdvwjxs43ds304q76` · `source=Garuda` · `action=swap_split` | | Pair | `terra1xu5kwmurh9jlz647ksu77lrd3ylz0hpnjljvkwsscadsxnwwq4yqmnq765` ([Garuda market](https://garuda-defi.org/market/terra1xu5kwmurh9jlz647ksu77lrd3ylz0hpnjljvkwsscadsxnwwq4yqmnq765)) | | Offer | **1,000,000,000 uluna** (1000 LUNC) | | Return | **5,078,319,575** ALPHA (5,078.319575) · `return_asset` = ALPHA CW20 | | Fees | protocol **3 LUNC** · commission **5 LUNC** · spread **25.692884 LUNC** | | ALPHA transfer | `tax_kind=honest` `tax=0` (GDEX is not a CL8Y listed pair — **M626-10**) | | Recipient | `terra1w37akazcflgtyp9teawfgq7xm99z7kc4cpdrsj` (former 8654 tax-map sink) | Route path is `uluna` → ALPHA on that pair. This is a live post-wipe 1:1 hop on GDEX, not a CL8Y extra-debit sell. ### GDEX pool vs operator USD **0.0000104787** Pair code **10902** (`pair_base`) · LP `terra143h0wpyhdwnlhj3g6xhlzs6rh9lx2tcluq258ktx2a3773cqm50q8cxu8z` (code **9788**). | Field | LCD | |-------|-----| | `asset1` | ALPHA `terra1x6e64…zysuxz` | | `asset2` | `uluna` | | `reserve1` | `147906572793300` (**147,906,572.793300** ALPHA) | | `reserve2` | `29500063251813` (**29,500,063.251813** LUNC) | | Spot | **0.19945066 LUNC / ALPHA** (5.01377 ALPHA / LUNC) | | `simulate_swap` 1000 LUNC | return `4988534264` ALPHA (now; reserves moved after the smoke swap) | Operator **$0.0000104787** = GDEX spot × LUNC **≈ $0.00005254**. Independent cross-check (same spot × indexer LUNC **$0.00005338**) → **$0.000010647** (**+1.58%**). CoinGecko LUNC `$0.00005354` → **$0.000010679**. Treat **0.0000104787** as the GDEX UI print; it is consistent with the pool, not the old $0.00002253 Coinhall figure. Terraport ALPHA/LUNC (`terra12u7kh…e7p6`) is thinner: 26.49M ALPHA / 5.443M LUNC → ~**$0.00001097** at indexer LUNC. GDEX is the deeper venue (~$3.1k TVL). **Sizing at $0.0000104787:** $1,000 → **95,431,685** ALPHA. 2,000 CL8Y at the 2026-08-18 $0.483059 print → **92,198,269** ALPHA. 2-of-3 **207M** still covers both (~187.6M) with ~19M flex. Re-quote CL8Y + ALPHA together at provide. Do **not** `RegisterListedPair` this GDEX addr. Description price table updated. Issue stays open for create + provide.
PlasticDigits commented 2026-08-26 08:08:33 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
PlasticDigits commented 2026-08-26 08:08:42 +00:00 (Migrated from gitlab.com)

CL8Y/ALPHA + UST1/ALPHA CMM seeds complete (2026-08-26)

LCD verified. Provide used DEX 2-of-3 with receiver = CMM. Factory CreatePair autoregistered these two pairs on ALPHA. Do not RegisterListedPair GDEX terra1xu5k…mnq765 or Terraport ALPHA/LUNC.

CL8Y / ALPHA — done

Pair terra163qm8z5rjgp8av6c6sg673lq2v4kfa0we5uhtzj8alfwhddfhjfs27k40z
LP terra1hymuueuu43750rzut69hxmefl3m5gg27uxnu9fytcvlah27l5rtsrg87rc
CreatePair BD257C97…0FE0 h 30117208
5% 78A4D695…7876 h 30117234
95% 69DB2780…CDB4 h 30117256
Pool 2,000 CL8Y + 104,056,204.454456 ALPHA
CMM LP 456193389812784420 (2-of-3 LP 0)

UST1 / ALPHA — done ($1k/$1k hub-sized)

Pair terra1rmdtckz5gd0usja36ydwat6prnmew639ry37yq72xh9ek4s3m83sehn5u6
LP terra12ff3nhu239y6a5lh0rs8nwlntc9wulkm3c4x598hp5gjfeqk87xszxkrmp
Quote GDEX ALPHA $0.000010618 × hub UST1 $0.95789
CreatePair A51FC405…4731 h 30117302
5% C2499924…4351 h 30117309
95% 6DCD53D5…86D6 h 30117336
Pool 1,043.961439 UST1 + 94,178,912.624371 ALPHA
CMM LP 313558847300 (2-of-3 LP 0)

Leftover 8,764,882.921173 ALPHA returned 2-of-3 → Dist terra1w37akazcflgtyp9teawfgq7xm99z7kc4cpdrsj (LCD Dist 105198754965622, 2-of-3 ALPHA 0, transfer honest / tax 0). 1.060217 UST1 dust remains on 2-of-3.

Still open on this ticket

  1. WILLY Solana → TCL bridge register + code-id confirm/whitelist if needed
  2. CL8Y/WILLY — 2-of-3 CL8Y is 0; still need 2,000 CL8Y from liquidity, size WILLY USD, CreatePair + CMM provide
  3. Record old CZB and old CL8Y/ALPHA venue addresses (Terraport ALPHA/LUNC stays unregistered)
  4. Indexer/UI discovery of the new factory pairs (P1; not MAINNET_SOFT_LAUNCH_PAIRS)
  5. SpaceUSD CMM 200 still treasury-locked (ProposeWithdraw) — already noted under workstream 1

3/4 factory pairs live. Ticket stays open for WILLY + venue notes.

## CL8Y/ALPHA + UST1/ALPHA CMM seeds complete (2026-08-26) LCD verified. Provide used DEX 2-of-3 with `receiver` = CMM. Factory `CreatePair` **autoregistered** these two pairs on ALPHA. **Do not** `RegisterListedPair` GDEX `terra1xu5k…mnq765` or Terraport ALPHA/LUNC. ### CL8Y / ALPHA — done | | | |---|---| | Pair | `terra163qm8z5rjgp8av6c6sg673lq2v4kfa0we5uhtzj8alfwhddfhjfs27k40z` | | LP | `terra1hymuueuu43750rzut69hxmefl3m5gg27uxnu9fytcvlah27l5rtsrg87rc` | | CreatePair | [`BD257C97…0FE0`](https://luncdash.com/explorer/tx/BD257C97B692B5582263909A86293D9845B0D404BFE2EE5B4F2C25CC03160FE0) h **30117208** | | 5% | [`78A4D695…7876`](https://luncdash.com/explorer/tx/78A4D6959FC64977346E104CB9DC6FC55989E86348E2124D917FA0EFE3637876) h **30117234** | | 95% | [`69DB2780…CDB4`](https://luncdash.com/explorer/tx/69DB2780D5A9F24430E5A3A4C0D3FA3123C41334C6F2B7EFA9A3E5C6C33CCDB4) h **30117256** | | Pool | **2,000** CL8Y + **104,056,204.454456** ALPHA | | CMM LP | `456193389812784420` (2-of-3 LP **0**) | ### UST1 / ALPHA — done ($1k/$1k hub-sized) | | | |---|---| | Pair | `terra1rmdtckz5gd0usja36ydwat6prnmew639ry37yq72xh9ek4s3m83sehn5u6` | | LP | `terra12ff3nhu239y6a5lh0rs8nwlntc9wulkm3c4x598hp5gjfeqk87xszxkrmp` | | Quote | GDEX ALPHA **$0.000010618** × hub UST1 **$0.95789** | | CreatePair | [`A51FC405…4731`](https://luncdash.com/explorer/tx/A51FC4053EA0ED477C2D13AA6DE17C7CF2C6AA78E2FBDD22BD29682E09ED4731) h **30117302** | | 5% | [`C2499924…4351`](https://luncdash.com/explorer/tx/C249992404041841B6E041EBD07FB33B61546A319BA52C3F89B7D6D922C74351) h **30117309** | | 95% | [`6DCD53D5…86D6`](https://luncdash.com/explorer/tx/6DCD53D57DD4A3A9CE7B4F4D573AC3E12C50955DDFC26FF4A64DBCD91F4386D6) h **30117336** | | Pool | **1,043.961439** UST1 + **94,178,912.624371** ALPHA | | CMM LP | `313558847300` (2-of-3 LP **0**) | Leftover **8,764,882.921173** ALPHA returned 2-of-3 → Dist `terra1w37akazcflgtyp9teawfgq7xm99z7kc4cpdrsj` (LCD Dist `105198754965622`, 2-of-3 ALPHA **0**, transfer `honest` / tax 0). **1.060217** UST1 dust remains on 2-of-3. ### Still open on this ticket 1. **WILLY** Solana → TCL bridge register + code-id confirm/whitelist if needed 2. **CL8Y/WILLY** — 2-of-3 CL8Y is **0**; still need **2,000 CL8Y** from liquidity, size WILLY USD, CreatePair + CMM provide 3. Record **old CZB** and **old CL8Y/ALPHA** venue addresses (Terraport ALPHA/LUNC stays unregistered) 4. Indexer/UI discovery of the new factory pairs (**P1**; not `MAINNET_SOFT_LAUNCH_PAIRS`) 5. SpaceUSD CMM **200** still treasury-locked (`ProposeWithdraw`) — already noted under workstream 1 **3/4** factory pairs live. Ticket stays open for WILLY + venue notes.
PlasticDigits commented 2026-08-26 09:31:36 +00:00 (Migrated from gitlab.com)

mentioned in issue #673

mentioned in issue #673
PlasticDigits commented 2026-08-28 11:07:54 +00:00 (Migrated from gitlab.com)

mentioned in issue #698

mentioned in issue #698
PlasticDigits commented 2026-08-28 11:13:03 +00:00 (Migrated from gitlab.com)

mentioned in issue #699

mentioned in issue #699
PlasticDigits commented 2026-08-28 11:16:00 +00:00 (Migrated from gitlab.com)

mentioned in issue #700

mentioned in issue #700
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
code/cl8y-dex-terraclassic#558
No description provided.