Skip to content

rename TON → Gram (cherry-pick to main) - #697

Merged
Flotapponnier merged 1 commit into
mainfrom
chore/ton-gram-rename-main
Jun 25, 2026
Merged

Flotapponnier merged 1 commit into
mainfrom
chore/ton-gram-rename-main

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

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):

  • Display layer: TON → Gram everywhere visible (chains.ts, provider-registry, 3 bench YAMLs, 2 answers, l1-finality.md, harness READMEs)
  • Logo: new ton.svg (Gram circular badge) replaces ton.png + brand color #0098EA → #30A1F5
  • Slug ton, Prom label chain=\"ton\", DefiLlama mapping, API endpoints, Go function names — all kept stable
  • SEO continuity via 'Gram (formerly TON)' anchor phrasing

After merge: run vercel --prod per AGENTS.md to ship to openchainbench.com.

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.
@Flotapponnier
Flotapponnier merged commit 84227a4 into main Jun 25, 2026
1 check passed
@Flotapponnier
Flotapponnier deleted the chore/ton-gram-rename-main branch July 17, 2026 14:41
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant