Repository navigation
rename TON → Gram (cherry-pick to main) - #697
Merged
Merged
Conversation
The Toncoin → Gram (ticker TON → GRAM) rename took effect on 2026-06-15
via TON Vote (81% community support). The network itself stays branded
TON / The Open Network; only the native token rebranded. We render
'Gram' everywhere visible (chain label, ticker, native symbol, copy)
while keeping internal identifiers stable.
Display layer (TON → Gram everywhere visible):
- chains.ts: label 'TON' → 'Gram', nativeSymbol 'TON' → 'GRAM',
description updated with 'formerly TON / Toncoin' continuity line.
- provider-registry.ts: ton + tonapi descriptions updated.
- benchmarks/l1-finality.yml: SEO + FAQ + per-chain explainer + provider
entry display + abstract + methodology.
- benchmarks/network-fees.yml: editorial + FAQ + per-chain explainer +
fee tier copy + provider entry display (0.005 TON → 0.005 GRAM).
- benchmarks/wallet-labels-coverage.yml: editorial + FAQ + per-chain
explainer + chain dimension label + TonAPI provider tag.
- answers/{cheapest-fees,fastest-finality}.yml: intro / FAQ / limitations.
- l1-finality.md + harness READMEs: chain table + confidence audit copy.
Logo + brand:
- public/logos/ton.svg replaces ton.png (new Gram circular badge from
ton.org/media; logo-manifest now points at the .svg).
- brand.ts: ton color #0098EA → #30A1F5 to match the new mark.
Kept stable on purpose (technical identifiers, ops contract):
- slug 'ton' everywhere (URL, Prom queries, harness contract).
- Prometheus label chain="ton" in all queries.
- DefiLlama chain mapping ton → 'TON' (their API still uses 'TON';
tokenSymbol is already 'GRAM').
- API endpoints (tonapi.io, ton.org), twitter handles (@ton_blockchain,
@tonapi_io) - all unchanged upstream.
- Go function/type names (StartTONWallClock, tonState) and TON_API_KEY
env var - renaming would require ops coordination + redeploy.
SEO continuity: 'Gram (formerly TON)' phrasing in 1-2 anchor spots per
page so search engines bridge the rename for 30+ days.
6 tasks
bakabhai993
pushed a commit
to bakabhai993/OpenChainBench
that referenced
this pull request
Sep 12, 2026
…ch#696) (ChainBench#697) The Toncoin → Gram (ticker TON → GRAM) rename took effect on 2026-06-15 via TON Vote (81% community support). The network itself stays branded TON / The Open Network; only the native token rebranded. We render 'Gram' everywhere visible (chain label, ticker, native symbol, copy) while keeping internal identifiers stable. Display layer (TON → Gram everywhere visible): - chains.ts: label 'TON' → 'Gram', nativeSymbol 'TON' → 'GRAM', description updated with 'formerly TON / Toncoin' continuity line. - provider-registry.ts: ton + tonapi descriptions updated. - benchmarks/l1-finality.yml: SEO + FAQ + per-chain explainer + provider entry display + abstract + methodology. - benchmarks/network-fees.yml: editorial + FAQ + per-chain explainer + fee tier copy + provider entry display (0.005 TON → 0.005 GRAM). - benchmarks/wallet-labels-coverage.yml: editorial + FAQ + per-chain explainer + chain dimension label + TonAPI provider tag. - answers/{cheapest-fees,fastest-finality}.yml: intro / FAQ / limitations. - l1-finality.md + harness READMEs: chain table + confidence audit copy. Logo + brand: - public/logos/ton.svg replaces ton.png (new Gram circular badge from ton.org/media; logo-manifest now points at the .svg). - brand.ts: ton color #0098EA → #30A1F5 to match the new mark. Kept stable on purpose (technical identifiers, ops contract): - slug 'ton' everywhere (URL, Prom queries, harness contract). - Prometheus label chain="ton" in all queries. - DefiLlama chain mapping ton → 'TON' (their API still uses 'TON'; tokenSymbol is already 'GRAM'). - API endpoints (tonapi.io, ton.org), twitter handles (@ton_blockchain, @tonapi_io) - all unchanged upstream. - Go function/type names (StartTONWallClock, tonState) and TON_API_KEY env var - renaming would require ops coordination + redeploy. SEO continuity: 'Gram (formerly TON)' phrasing in 1-2 anchor spots per page so search engines bridge the rename for 30+ days.
bakabhai993
pushed a commit
to bakabhai993/OpenChainBench
that referenced
this pull request
Sep 12, 2026
Follow-up to the TON → Gram display rebrand (ChainBench#697). The 'Ton' label was still leaking into search results and the URL /chains/ton was visible to users. This PR renames the chain slug ton → gram with 301 redirects so inbound links + SEO rank signal consolidate onto the new canonical, and adds a Prom regex straddle so the existing harness keeps feeding live data through the transition. ## Slug rename (TS layer) - src/lib/chains.ts: slug 'ton' → 'gram' (label/description/native unchanged) - src/data/provider-registry.ts: rekey ton → gram - src/lib/logo-manifest.ts: gram → /logos/ton.svg (file kept, slug renamed) - src/lib/brand.ts: rekey color entry - src/lib/chain-kpis.ts: rekey to gram, DefiLlama API string stays 'TON' (verified live) - src/lib/providers.ts: - CANONICAL_NAMES: gram → 'Gram', tonapi → 'TonAPI' (was title-casing to 'Tonapi') - PRODUCT_ALIASES: ton → gram (stale inbound references resolve to canonical) ## Redirects (next.config.ts) - /chains/ton → /chains/gram (308 permanent) - /products/ton → /chains/gram (308 permanent) - /benchmarks/:slug/ton → /benchmarks/:slug/gram (308 permanent) - CHAIN_REDIRECT_SLUGS: ton → gram so /products/gram keeps redirecting to /chains/gram ## Bench YAMLs - per_chain_explainer.slug: ton → gram (matches the new /benchmarks/<bench>/gram URL) - provider entry slug: ton → gram (matches CHAINS new slug for surfaces that ref by slug) - Template refs {{p50:ton}} → {{p50:gram}} - Prom queries: chain="ton" → chain=~"ton|gram" (straddle during harness relabel window; the regex matches the current chain="ton" labels and the future chain="gram" labels, so the bench keeps rendering live data with no gap) - wallet-labels-coverage dimension value stays 'ton' (Prom label the harness emits at runtime; flip to 'gram' once the harness redeploys) ## Out of scope (separate harness PR) The harness Go code in harnesses/l1-finality/ and harnesses/network-fees/ emits chain="ton" labels. Updating those is a separate Railway redeploy. The straddle regex covers the transition with zero data gap. ## Test plan - [ ] Cmd+K, type 'gram' → top result reads 'Gram' chain (no more 'Ton'). - [ ] /chains/ton → 308 → /chains/gram (page renders with Gram badge, leader, p50). - [ ] /products/ton → 308 → /chains/gram. - [ ] /benchmarks/l1-finality/gram → renders per-chain explainer. - [ ] /benchmarks/l1-finality leaderboard row Gram still has live p50 (Prom straddle works). - [ ] No regression on other chains in same benches.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cherry-pick of #696 onto main so prod ships the Gram rebrand without waiting for a full dev→main sync.
Same scope as #696 (already merged to dev):
ton, Prom labelchain=\"ton\", DefiLlama mapping, API endpoints, Go function names — all kept stableAfter merge: run
vercel --prodper AGENTS.md to ship to openchainbench.com.