# Gyro beta retirement assessment — 2026-09-12

Status: **retired on user request, 2026-09-12**. `beta.html` now redirects to
`app.html?chain=base`, preserving asset, strike and referral query parameters.
It loads no wallet or L transaction runtime. Without JavaScript the fallback
opens the Base app. No contract or browser-storage change was made.

The former HTML is retained as `beta-L-archive.html.txt` (source only, not an
active transaction page). Its JS/CSS/config/ABI files remain unchanged, together
with the pre-retirement source in git. App does not acquire L withdrawals by
this redirect; L remains a read-only history source there.

## Lineage and wiring

Commit `3c35197b` created a fourth shell from the Eiko/Meryl shared beta lineage,
repainted for Gyro. It is a Base-only generation-L forex pilot. Current Gyro app
is generation M on Ethereum, HyperEVM and Base. L addresses occur in app only as
read-only history sources, never deposit/withdraw targets.

| Asset | L vault | L Markets |
| --- | --- | --- |
| EURC | 0x8E0D7E9a0B139a6531e48529af9a606FFE237b28 | 0x3039a2FFDE01dfC7ff7FBd8aEE8c3dFaf51aC7B0 |
| tGBP | 0x91386cb253eE24cc48bDA43634cfc0e6EAB7Ff9b | 0xA8f3afDb0b9CbC8215F40c1dAAd2CE9017D0E147 |
| XSGD | 0x3CD7125f6C72C21b994930d960531Da69F57B748 | 0xa26e06AF35709200221300be7c10d8E9BC73d18f |

## Live read-only evidence

At Base block **51,196,436**, all three L vaults reported paused=true,
totalAssets=(0,0,0), and every series totalShares=0 (EURC 9, tGBP 5, XSGD 5).

At Base block **51,196,622**, all three L Markets reported paused=true,
balanceOf(Markets) for their base token and USDC both zero, and nextOptionId=1.
The L deployment manifest pins source `6072ab3a`; Markets.sol initializes
nextOptionId=1 and increments it when minting an option. These counters are
consistent with no options having been minted on those Markets.

These are numbered read observations, not user-analytics claims or an audit of
every address's claim mapping. Recheck before changing the entry point if state
or operator activity changes.

Rechecked immediately before retirement at Base block **51,197,415**: all three
vaults still paused, totalAssets=(0,0,0), all 19 series totalShares=0; all three
Markets still paused, both underlying token balances zero, nextOptionId=1.

## Retirement shape

- Retire the active beta entry point toward M; retain its code/history in git
  and an archived recovery path if needed.
- Do not purge `gyrobeta` browser storage. App uses `gyro`; pending bucket records
  are additionally keyed by wallet/vault, so they do not migrate automatically.
- Do not erase L lineage history when retiring the transaction page.
- Update generation-L/shared-core test references if files move; beta is not a
  maintained feature-comparison baseline for current M app.

Fresh Astra independently reviewed the original source lineage, namespaces and
retirement boundary. Parent supplied the live state checks above. User then
authorized retiring L beta; the supporting bundle has not been deleted.

## Retirement verification

- `node gyro/test-beta-retired.mjs` passes: same-site Base redirect, selection
  and referral preservation, old contract/bucket parameters dropped, no storage
  access or wallet runtime, no-JS fallback and retained archive.
- Live `beta.html?asset=XSGD&strike=0.785` opens the M Base app with that exact
  selection. Unversioned beta HTML serves the redirect; no beta.js is loaded.
- Archive responds HTTP 200 with `Content-Type: text/plain`. L past epoch
  results still render in M app. App/config and Eiko beta are unchanged.
- Browser caught existing app RPC log-range rejections and endpoint rotation
  while fee history loaded; no redirect error. This change does not alter RPCs.
- Fresh Astra found no retirement blocker. The historical Gen-L suite already
  has stale shared-core/housekeeping assumptions (Eiko beta has since diverged);
  it is not a current green release gate. Its direct HTML source read now points
  to the archive. The new retirement suite covers the active entry page.
