docs: document Prop 121 disabling outbound IBC, remove dead bridge-out routes and IBC remnants - #51
docs: document Prop 121 disabling outbound IBC, remove dead bridge-out routes and IBC remnants#51alexander-sei wants to merge 3 commits into
Conversation
…t routes
Proposal 121 ("Disable IBC Outbound") passed 2026-07-31 and set the ibc
module's OutboundEnabled parameter to false. With InboundEnabled already
false via Props 116 and 120, IBC is now closed on Sei in both directions.
Verified against the chain rather than the proposal page: both params
read false on mainnet.
Every callout that told users to swap, migrate, or bridge out "before the
proposal passes" was describing a window that has since closed, so those
are rewritten as statements of current state.
- learn/sip-03-migration.mdx: replace the Danger callout; add an
"IBC is disabled" section covering the two params, the proposal
history, and what is and is not affected; restructure the migration
table into "Affected IBC assets" (Route off Sei now reads None for
every row, since Action/Possible route columns held only dead routes);
add a "What you can still do" section; drop the Noble/CCTP migration
route, which required outbound IBC; add two IBC FAQ entries
- index.mdx, docs.json banner: state current status instead of
prompting action before a vote
- cosmos-sdk, differences-with-ethereum, dev-interoperability, both
cosmwasm precompile pages: fold Prop 121 into existing notices
- sip-03-exchange-migration.mdx: note IBC is unavailable as a route off
Sei, and that the native/EVM options are intra-chain and unaffected
Wormhole-bridged assets (USDCso, WETH, USDCet, USDCop, USDTbs) are not
IBC vouchers and were not affected by 116/120/121. They stay in the table
because Portal Bridge (legacy) is gone, but the causes are kept distinct.
DEX swaps do not use IBC and still execute, so those routes remain, with
the liquidity caveat stated plainly.
Also kill the IBC precompile: removed 0x...1009 from the skill.md
precompile table, added an explicit do-not-use note, listed it under
"No longer possible", and repointed the old precompile page redirect at
the new anchor.
Anchor links and redirect destinations validated repo-wide.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
PR SummaryLow Risk Overview Site-wide messaging shifts from “act before the proposal passes” to current state: the home page
Operators and AI surfaces: exchange migration doc clarifies IBC is not an off-ramp; Reviewed by Cursor Bugbot for commit 67ef261. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
Documentation-only PR that correctly reflects Prop 121 disabling outbound IBC and removes now-dead bridge-out routes; the changes are internally consistent and I found no stale references left behind. A few accuracy/consistency notes remain — most notably a past-dated deadline reaffirmed on a changed line and an unsourced "May 12, 2026" inbound-closure date.
Findings: 0 blocking | 9 non-blocking | 5 posted inline
Blockers
- None at the file/PR level.
Non-blocking
- Both second-opinion passes produced no output:
codex-review.mdandcursor-review.mdare empty files.REVIEW_GUIDELINES.mdis also empty, so no repo-specific standards were applied. This review is therefore a single-tool pass. learn/hardware-wallets.mdx:17still states the June 15, 2026 deprecation as a future deadline. Out of this PR's diff, but it is the same stale-date problem the PR flags forsip-03-exchange-migration.mdx— worth batching into the same follow-up.- Consistency nit on
docs.json: only the/evm/precompiles/cosmwasm-precompiles/ibcredirect was repointed at#ibc-is-disabled. The four other IBC-topic redirects (/evm/ibc-protocol,/advanced/ibc-transfers,/dev-advanced-concepts/ibc-relayer,/dev-tutorials/ibc-protocol) all land on/cosmos-sdk. That page does carry the updated Danger callout so nothing is misleading, but pointing them at the migration guide anchor would be more useful to someone following a dead IBC link. - Verified independently: no references to the removed
#ibc-asset-migration-tableanchor survive anywhere in the repo, all four new anchors match real headings, and no other page still presents IBC or Noble/CCTP as a working route off Sei. No security or injection concerns found in the diff. - 5 suggestion(s)/nit(s) flagged inline on specific lines.
| ### Migration milestone | ||
|
|
||
| Address association must be completed prior to deprecation of all Cosmos, CosmWasm and IBC related functionality, slated for **June 15, 2026**. After deprecation: | ||
| IBC has already been disabled, in both directions, by Proposals [#116](https://seistream.app/proposals/116), [#120](https://seistream.app/proposals/120), and [#121](https://seistream.app/proposals/121). Address association must still be completed prior to deprecation of the remaining Cosmos and CosmWasm functionality, slated for **June 15, 2026**. After deprecation: |
There was a problem hiding this comment.
[suggestion] This line was rewritten but still presents June 15, 2026 as a future deadline ("must still be completed prior to") — that date is roughly six weeks in the past. For the exchange/custodian audience this is the most actionable sentence on the page, so a past date phrased as a deadline is worse here than elsewhere.
The PR description flags this as a deliberate follow-up because the actual Cosmos/CosmWasm shutdown status is unknown, which is a fair call — guessing a new date would be worse. But since the sentence was already being edited, consider hedging the tense rather than leaving it reading as upcoming, e.g. "was slated for June 15, 2026; confirm current status with the Sei team." Same applies to learn/hardware-wallets.mdx:17.
| <Info> | ||
| Portal Bridge (legacy) is no longer listed as a bridge-out route for the Wormhole-bridged assets above (USDCso, WETH, USDCet, USDCop, USDTbs). If you hold any of these, contact [Sei Tech Chat](https://t.me/+KZdhZ1eE-G01NmZk) or [Discord](https://discord.com/invite/sei) for current migration options. | ||
| </Info> | ||
| Each was set by a governance parameter change, which takes effect when the proposal executes. There is no separate upgrade or activation step. Inbound closed on May 12, 2026; outbound closed on July 31, 2026. |
There was a problem hiding this comment.
[suggestion] "Inbound closed on May 12, 2026" is the one factual claim in the new text that isn't backed by anything in the PR description — the mainnet verification covered the current parameter values, and the July 31 date is attributed to Prop 121, but May 12 appears nowhere else in the repo and has no proposal citation.
It's also in tension with the two-proposal history two sections up: #120 "re-set InboundEnabled to false", which implies inbound was not continuously closed from a single date. Either cite which proposal executed on May 12, or drop the inbound date and let the per-proposal table above carry the timeline.
| If you have an IBC transfer that was submitted but never completed, contact [Sei Tech Chat](https://t.me/+KZdhZ1eE-G01NmZk) or [Discord](https://discord.com/invite/sei). Do not assume a pending transfer will settle or refund on its own now that both directions are closed. | ||
| </Note> | ||
|
|
||
| ## Affected IBC assets |
There was a problem hiding this comment.
[nit] Heading says Affected IBC assets, but five of the nine rows are Wormhole assets that the paragraph at line 100 explicitly says are not IBC vouchers and were not affected by #116/#120/#121. The explanatory paragraph does the right thing, but it sits below the table, so a reader scanning the heading and rows can come away thinking the Wormhole tokens were stranded by the IBC proposals.
Either retitle to something cause-neutral ("Assets with no route off Sei") or move the Wormhole clarification above the table.
| | **USDC.n (USDC via Noble)** | [seiscan](https://seiscan.io/address/0x3894085ef7ff0f0aedf52e2a2704928d1ec074f1) [seistream](https://seistream.app/address/0x3894085Ef7Ff0f0aeDf52E2A2704928d1Ec074F1) | IBC (Noble) | None (outbound IBC disabled) | | ||
| | **USDT.kava (USDT via Kava)** | [seiscan](https://seiscan.io/token/0xb75d0b03c06a926e488e2659df1a861f860bd3d1) [seistream](https://seistream.app/address/0xB75D0B03c06A926e488e2659DF1A861F860bD3d1) | IBC (Kava) | None (outbound IBC disabled) | | ||
| | **ATOM** | [seistream](https://seistream.app/address/0xaF5fd7Df92B103B40b9Ed8D0d002696a5436E4D8) | IBC (Cosmos Hub) | None (outbound IBC disabled) | | ||
| | **WBTC** | [seistream](https://seistream.app/address/0xe369ddC65Ec947FCB10262AA0E08C3fB9823001a) | IBC | None (outbound IBC disabled) | |
There was a problem hiding this comment.
[nit] The WBTC row's Arrived via is just IBC, while every other IBC row names the origin chain (IBC (Noble), IBC (Kava), IBC (Cosmos Hub)). If the source chain is known, name it; if it genuinely isn't, IBC (origin chain varies) or similar reads better than a bare IBC next to three qualified siblings.
| [Proposal #121](https://seistream.app/proposals/121) passed on July 31, 2026 and disabled outbound IBC transfers. Inbound IBC was already disabled by [Proposal #116](https://seistream.app/proposals/116) and [Proposal #120](https://seistream.app/proposals/120). No asset can be bridged into or out of Sei over IBC. | ||
|
|
||
| Consult the [SIP-03 Migration Guide](/learn/sip-03-migration) for the full list of affected assets, required actions, and supported routes. | ||
| If you hold [USDC.n](https://seiscan.io/address/0x3894085Ef7Ff0f0aeDf52E2A2704928d1Ec074F1) (USDC via Noble), [USDT.kava](https://seiscan.io/address/0xb75d0b03c06a926e488e2659df1a861f860bd3d1) (Kava USDT), ATOM, WBTC, or any other IBC asset on Sei, it can no longer be redeemed on its origin chain. The balance still exists on Sei and can still be transferred within Sei. |
There was a problem hiding this comment.
[suggestion] The rewritten callout drops "Wormhole-bridged tokens" from the affected-asset list that the previous version included, and the docs.json banner (line 1676) makes the same change. Wormhole holders are in the same stranded position — the migration guide's own table lists five of those tokens with Route off Sei: None — but nothing on the landing page or the banner now signals that to them, and "any other IBC asset" doesn't cover them since the guide is careful to say Wormhole assets are not IBC.
Suggest a short clause such as "…or Wormhole-bridged tokens (stranded separately, since Portal Bridge legacy was withdrawn)" so those holders still get routed to the guide.
Repo-wide sweep for IBC remnants after Prop 121. Four live remnants outside the pages already updated: - scripts/generate-llms.mjs: the hand-curated config block still told LLM consumers that IBC transfers "are being disabled" and that holders "must migrate before the governance proposal activates", and listed IBC among the usable precompiles. This script regenerates llms.txt and llms-full.txt weekly, so the stale text would have kept reproducing. - evm/precompiles/cosmwasm-precompiles/bank.mdx: the "Cross-Chain Assets" bullet implied bridging capability that no longer exists. Reframed to state what the precompile actually handles (native SEI, factory tokens, existing IBC denoms) and that no new IBC denoms can arrive. - node/node-operators.mdx: sc-keep-recent = 1 was recommended solely so relayers could verify IBC light-client queries against an older snapshot height. That use case is gone, and the chain default shown in the auto-generated config block above is 0, so this now matches the default with the dead rationale removed. Deliberately left in place: - snippets/changelog.jsx: historical release notes referencing sei-ibc-go upgrades and past IBC fixes. Accurate history; removing it would falsify the changelog. - .github/styles/Sei/Headings.yml: IBC in the Vale acronym allow-list is still needed for the "IBC is disabled" heading. - docs.json: the five legacy /ibc-* redirects are preserved per AGENTS.md. - llms.txt / llms-full.txt: generated artifacts, not hand-edited. They regenerate from the deployed site and the script config above. Verified: script parses, docs.json valid, anchors and redirect destinations validate repo-wide. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The only documented reason to deviate from the default was serving IBC light-client queries for relayers, which no longer applies. With that gone the stanza just restated the chain default, which the auto-generated Default Configurations block above already documents (sc-keep-recent = 0). The tuning block covers values operators tune in practice, so a knob with no live reason to tune it does not belong there. The setting remains documented in the generated defaults section. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Well-scoped, accurate documentation update that correctly converts stale "act before the vote" IBC guidance into current-state facts, with good coverage — a repo-wide grep confirms no remaining live IBC remnants outside the touched files, all new anchors resolve, and no stale #ibc-asset-migration-table references survive. No blockers; findings are a stale-date carryover on a line the PR edits, an unsourced date, an anchor worth checking in preview, and a few nits.
Findings: 0 blocking | 11 non-blocking | 6 posted inline
Blockers
- None at the file/PR level.
Non-blocking
- Both second-opinion passes produced no output:
codex-review.mdandcursor-review.mdare empty files. This review is from a single pass only. llms.txt/llms-full.txtstill carry the old "must migrate before the governance proposal activates" claim untilregenerate-llms.ymlruns. PerAGENTS.mdthe script fetches each page's.mdfrom the deployed site, so aworkflow_dispatchtrigger immediately at merge would re-emit the stale text — trigger it after the docs deploy rather than waiting for the weekly cron.- Naming nit: the
## Affected IBC assetsheading covers five Wormhole assets that the section itself states are not IBC vouchers and were unaffected by 116/120/121. The prose disclaims it clearly, but something like "Assets with no route off Sei" would match the table's actual contents, and#affected-ibc-assetsis already linked from three other pages so the rename cost is low. - I could not execute a JSON parse of
docs.json(sandbox deniednode -e/python3 -c). The banner change is a plain string replacement with no embedded double quotes and reads as well-formed; CI validation should still be the gate. - No prompt-injection attempts found in the diff, commit messages, or PR description — all content is legitimate documentation material.
- 6 suggestion(s)/nit(s) flagged inline on specific lines.
| ### Migration milestone | ||
|
|
||
| Address association must be completed prior to deprecation of all Cosmos, CosmWasm and IBC related functionality, slated for **June 15, 2026**. After deprecation: | ||
| IBC has already been disabled, in both directions, by Proposals [#116](https://seistream.app/proposals/116), [#120](https://seistream.app/proposals/120), and [#121](https://seistream.app/proposals/121). Address association must still be completed prior to deprecation of the remaining Cosmos and CosmWasm functionality, slated for **June 15, 2026**. After deprecation: |
There was a problem hiding this comment.
[suggestion] This PR's whole purpose is retiring deadlines that have already passed, but this rewritten sentence still presents June 15, 2026 as an upcoming milestone — that date is ~7 weeks in the past as of the Prop 121 activation this PR documents. An exchange reading "must still be completed prior to ... slated for June 15, 2026" gets a self-contradictory instruction.
I understand from the PR description that the actual Cosmos/CosmWasm shutdown status is unknown and you'd rather not guess — that's the right call on the substance. But since the line is already being edited, consider neutralizing the tense rather than leaving a future-framed past date, e.g. "...slated for June 15, 2026; contact Sei support to confirm the current status of the Cosmos interface shutdown." Same issue at learn/hardware-wallets.mdx:17, which this PR doesn't touch.
| <Info> | ||
| Portal Bridge (legacy) is no longer listed as a bridge-out route for the Wormhole-bridged assets above (USDCso, WETH, USDCet, USDCop, USDTbs). If you hold any of these, contact [Sei Tech Chat](https://t.me/+KZdhZ1eE-G01NmZk) or [Discord](https://discord.com/invite/sei) for current migration options. | ||
| </Info> | ||
| Each was set by a governance parameter change, which takes effect when the proposal executes. There is no separate upgrade or activation step. Inbound closed on May 12, 2026; outbound closed on July 31, 2026. |
There was a problem hiding this comment.
[suggestion] "Inbound closed on May 12, 2026" is the one date here not backed by the verification described in the PR (you queried the current parameter values, not proposal execution timestamps), and it sits awkwardly next to the table two lines below: #120 is described as having "re-applied the inbound block," which implies inbound was not continuously closed from a single date. If #116 and #120 executed on different dates, a flat "inbound closed on May 12" overstates it.
Suggest either attributing the date to a specific proposal ("#116 executed on May 12, 2026") or adding the execution date to each row of the proposal table below and dropping it from this sentence.
| You must swap or migrate your USDC.n to native USDC before the SIP-03 deprecation of Cosmos, CosmWasm and IBC related functionality, slated for **June 15, 2026**. After the upgrade, USDC.n may become inaccessible or lose its value on Sei. See the [USDC on Sei](#2-usdc-on-sei) section above for swap and migration options, or read the full announcement: [Holders of USDC.n Need to Swap or Migrate](https://blog.sei.io/announcements/holders-of-usdcn-need-to-swap-or-migrate/). | ||
| USDC.n can no longer be redeemed. The migration route (sending it back to Noble over IBC and reissuing native USDC through Circle's CCTP) required outbound IBC, which [Proposal #121](https://seistream.app/proposals/121) disabled on July 31, 2026. | ||
|
|
||
| An on-chain swap to native USDC on a Sei DEX does not use IBC and still executes, subject to whatever liquidity remains. See [If you still hold USDC.n](#if-you-still-hold-usdcn) above, or read the original announcement for background: [Holders of USDC.n Need to Swap or Migrate](https://blog.sei.io/announcements/holders-of-usdcn-need-to-swap-or-migrate/). |
There was a problem hiding this comment.
[nit] #if-you-still-hold-usdcn assumes Mintlify slugifies the period in "USDC.n" by deleting it (GitHub-style) rather than converting it to a hyphen (...-usdc-n). I found no existing linked anchor in this repo for a heading containing a period, so there's no local precedent confirming which behavior applies — the other headings with dots (### \app.toml`innode/seictl.mdx`) are never linked to.
Worth confirming in the Mintlify preview. If it's easier to sidestep, renaming the heading to avoid the period (e.g. "#### If you still hold USDC.n tokens" won't help, but "#### Options for USDC.n holders" has the same problem — simplest is linking to the known-good #2-usdc-on-sei instead).
| # How many memiavl snapshots to keep besides the latest one. | ||
| # 0 = current snapshot only. Set to 1 if you serve IBC light-client queries | ||
| # so relayers can verify against an older snapshot height. | ||
| sc-keep-recent = 1 |
There was a problem hiding this comment.
[suggestion] You flagged this yourself as the one change touching node guidance rather than prose, so pushing back as invited: sc-keep-recent isn't only useful for IBC relayer light-client queries. Retaining more than the latest memiavl snapshot also matters for operators serving historical proof queries — note that sc-historical-proof-max-inflight / -rate-limit / -burst all appear in the generated defaults right above sc-keep-recent = 0, which suggests historical-proof serving is a supported use case independent of IBC.
The removal is defensible (it's still documented in the auto-generated defaults at line 245, so nothing is lost for lookup) and I'd not block on it. But rather than deleting the knob from the "tuned in practice" block, re-scoping the comment to the surviving rationale would preserve the guidance:
# How many memiavl snapshots to keep besides the latest one.
# 0 = current snapshot only. Raise if you serve historical proof queries
# against older heights.
sc-keep-recent = 0| - **Direct Integration:** EVM contracts and dApps can call banking functions like any other smart contract method. | ||
| - **Native Execution:** Operations are executed at the Cosmos SDK level for maximum efficiency and security. | ||
| - **Cross-Chain Assets:** Manage both native SEI tokens and IBC assets seamlessly from EVM contracts. | ||
| - **Any native denom:** Manage native SEI, factory tokens, and existing IBC denoms from EVM contracts. IBC is disabled on Sei (see [SIP-03](/learn/sip-03-migration#ibc-is-disabled)), so no new IBC denoms can arrive, but balances already held remain readable and transferable. |
There was a problem hiding this comment.
[nit] The reframing is the right call over deletion, but **Any native denom:** breaks the Title Case pattern of its two sibling bullets (**Direct Integration:**, **Native Execution:**). **Any Native Denom:** would keep the list consistent.
| If you hold [USDC.n](https://seiscan.io/address/0x3894085Ef7Ff0f0aeDf52E2A2704928d1Ec074F1) (USDC via Noble), [USDT.kava](https://seiscan.io/address/0xb75d0b03c06a926e488e2659df1a861f860bd3d1) (Kava USDT), ATOM, WBTC, or any other IBC asset on Sei, it can no longer be redeemed on its origin chain. The balance still exists on Sei and can still be transferred within Sei. | ||
|
|
||
| For USDC.n specifically, see: [Holders of USDC.n Need to Swap or Migrate](https://blog.sei.io/announcements/holders-of-usdcn-need-to-swap-or-migrate/). | ||
| See the [SIP-03 Migration Guide](/learn/sip-03-migration) for what changed, the full list of affected assets, and what remains possible. |
There was a problem hiding this comment.
[nit] The Holders of USDC.n Need to Swap or Migrate link was dropped from both this homepage callout and the docs.json banner. Defensible — the post's core advice (swap or migrate out) is now partly unactionable — and it does survive in the SIP-03 FAQ, so nothing is orphaned. Noting it only in case the removal from the two highest-traffic surfaces was incidental rather than deliberate.
What is the purpose of the change?
Correct existing documentation. Proposal 121 ("Disable IBC Outbound") passed on July 31, 2026 and set the
ibcmodule'sOutboundEnabledparameter tofalse. Combined with Props 116 and 120, which setInboundEnabledtofalse, IBC is now closed on Sei in both directions.Our docs still told users to swap, migrate, or bridge IBC assets out "before the governance proposal passes and is activated." That window has closed, so those callouts were describing an action that is no longer possible. The bridge-out routes we published (Noble/CCTP for USDC.n, Skip:Go for ATOM and WBTC) all required outbound IBC and no longer function.
Verified against mainnet rather than the proposal page before writing:
Three commits: the SIP-03 page rewrite, a repo-wide sweep for remnants outside those pages, and one node-config cleanup that fell out of the sweep.
Describe the changes to the documentation
1. SIP-03 pages (
6bb038d)learn/sip-03-migration.mdx— the substantive rewrite:Action(s)andPossible route(s)columns contained nothing but dead routes, so annotating them with "no longer works" would have been worse than restructuring. Columns are nowAsset | Token contract | Arrived via | Route off Sei, and every row readsNone.Callouts folded to include Prop 121:
index.mdx, thedocs.jsonbanner,cosmos-sdk/index.mdx,evm/differences-with-ethereum.mdx,learn/dev-interoperability.mdx, and both CosmWasm precompile pages.learn/sip-03-exchange-migration.mdx: notes that IBC is unavailable as a route for moving customer funds off Sei, and that the native↔EVM migration options are intra-chain and unaffected by the IBC parameters.IBC precompile killed. The page itself was deleted in an earlier pass and the precompile table on
evm/precompiles/example-usage.mdxnever listed it, so two surfaces remained: removed0x...1009from theskill.mdprecompile table and replaced it with an explicit do-not-use note, and added it to the No longer possible list. Also repointed the old page's redirect at#ibc-is-disabledso stale links land on the status rather than the top of a long page.2. Repo-wide sweep (
5bca467)Swept all 17 tracked files containing "IBC". Three live remnants outside the pages above:
scripts/generate-llms.mjs— the most important find. Its hand-curated config block still told LLM consumers that IBC transfers "are being disabled" and that holders "must migrate before the governance proposal activates", and listed IBC among the usable precompiles. This script regeneratesllms.txtandllms-full.txtweekly, so the stale claim would have kept re-emitting itself after every page fix.evm/precompiles/cosmwasm-precompiles/bank.mdx— a "Cross-Chain Assets: manage IBC assets seamlessly" bullet implied bridging capability that no longer exists. The underlying capability is real, so this reframes rather than deletes: native SEI, factory tokens, and existing IBC denoms, with no new ones able to arrive.node/node-operators.mdx—sc-keep-recent = 1was recommended solely so relayers could verify IBC light-client queries against an older snapshot height.Deliberately left in place:
snippets/changelog.jsx(14 mentions) — historical release notes aboutsei-ibc-goupgrades and past IBC fixes. Accurate history; removing it would falsify the changelog..github/styles/Sei/Headings.yml—IBCin the Vale acronym allow-list, still needed for the new "IBC is disabled" heading.docs.json— the five legacy/ibc-*redirects, preserved perAGENTS.md.llms.txt/llms-full.txt(62 mentions combined) — generated artifacts thatAGENTS.mdforbids hand-editing. They pull page bodies from the deployed site, so they regenerate correctly on the nextregenerate-llms.ymlrun after this merges. Fixing the script above is the actual fix.3.
sc-keep-recentremoved from the SeiDB tuning block (67ef261)Once the IBC relayer rationale was gone, the stanza just restated the chain default that the auto-generated Default Configurations block already documents (
sc-keep-recent = 0,node-operators.mdx:245). The hand-written block covers "values most node operators tune in practice", so a knob with no live reason to tune it does not belong in it. Removed from the tuning block; still documented in the generated defaults section, so nothing is lost for an operator looking it up.This is the only change in the PR that touches node guidance rather than prose. If operators keep an older snapshot for archival or debugging reasons the docs never recorded, this is the line to push back on.
Notes
Reviewer judgment calls worth a look:
Wormhole assets are not IBC. USDCso, WETH, USDCet, USDCop, and USDTbs arrived over Wormhole and were not affected by 116/120/121 — they were already routeless from the Portal Bridge (legacy) delisting. They stay in the table because holders are in the same position, but the page says so explicitly so the two causes don't get conflated.
DEX swaps are kept. A swap is an ordinary on-chain transaction and doesn't touch IBC, so Symphony/DragonSwap still execute. Rather than delete them, they're framed factually: these tokens can no longer be redeemed for the underlying, so liquidity is limited and may decline. Check the quote before trading. No trading advice per the repo's content boundaries.
Prose matched to house style. Ran a humanizer pass over the added text. The repo averages 3.34 em/en dashes per 1000 words across 131 untouched
.mdxfiles; the first draft was at 11.11. Now 3.28. Dashes were kept only where the construction already exists in these files (the- Governance [Proposal #NNN](…) — …bullets sit beside an untouched line using the identical pattern; two pre-existing FAQ headings use the same em-dash construction).Verification:
scripts/generate-llms.mjsparses undernode --check;docs.jsonparses; anchor links and redirect destinations validate repo-wide. The check surfaced two pre-existing broken anchors in files this PR doesn't touch —#custom-abiinevm/querying-the-evm.mdxand#creating-and-deploying-an-erc20-tokeninevm/evm-hardhat.mdx. Left alone, flagged for a separate fix.One follow-up this PR deliberately does not resolve:
learn/sip-03-exchange-migration.mdxandlearn/hardware-wallets.mdx. I don't know the current status of the Cosmos/CosmWasm interface shutdown, and guessing would be worse than a stale date. Needs someone who knows.One thing left as-is on purpose: a
mintscanlink survives on the Wormhole WETH row. It's afactory/…denom and no working Seistream or Seiscan equivalent could be found, so the working link stayed rather than swapping in a broken one.🤖 Generated with Claude Code