feat: add Ink token metadata and icons - #1925
Open
jeremytsng wants to merge 2 commits into
Open
Conversation
Adds metadata and logos for 20 ERC-20 tokens on Ink (eip155:57073). Ink is not onboarded to the token asset pipeline, so the static CDN served no icon for any Ink token except USDG. Every other token fell back to a letter avatar in the clients. Name, symbol and decimals for each entry were read from the contracts on Ink mainnet. Logos reuse the existing icon for the same address on another chain where one exists, otherwise the canonical icon for the same asset. NVDAx and SNDKx logos come from the issuer, Backed Finance. Closes the logo gap for the tokens above $1M market cap, except: - ACRED, already included in the open PR #1488 - kBTC and LCAP, pending an official logo from the issuer - ANITA, no official logo published
- USD₮0: replace the 90x90 PNG with the 512x512 SVG already in the repo. The PNG was below the crisp-rendering threshold and used a circular background with transparent corners, so it rendered small and blurry. The SVG has a full-bleed square background. - brBTC: downscale from 3200x3200 (4.3 MB) to 256x256 (44 KB). - GHO: inline the fill colours and drop the <style> block and class attributes, which the style guide disallows.
jeremytsng
marked this pull request as ready for review
August 24, 2026 16:49
Contributor
|
is that fine having many different image sizes? |
There was a problem hiding this comment.
Pull request overview
Adds missing CAIP-19 metadata and token icons for Ink mainnet (eip155:57073) so clients can render proper ERC-20 logos (instead of letter avatars) without requiring any client-side changes.
Changes:
- Added 20 new Ink ERC-20 metadata entries (name/symbol/decimals + logo path).
- Added corresponding token icon assets under
icons/eip155:57073/(mix of SVG and PNG).
Reviewed changes
Copilot reviewed 20 out of 40 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| metadata/eip155:57073/erc20:0x2D270e6886d130D724215A266106e6832161EAEd.json | Ink token metadata: USDC |
| metadata/eip155:57073/erc20:0x71052BAe71C25C78E37fD12E5ff1101A71d9018F.json | Ink token metadata: LINK |
| metadata/eip155:57073/erc20:0xA3D68b74bF0528fdD07263c60d6488749044914b.json | Ink token metadata: weETH |
| metadata/eip155:57073/erc20:0x0200C29006150606B650577BBE7B6248F58470c1.json | Ink token metadata: USD₮0 |
| metadata/eip155:57073/erc20:0x142cdc44890978B506e745bB3Bd11607B7f7faEf.json | Ink token metadata: PYUSD |
| metadata/eip155:57073/erc20:0xc3eACf0612346366Db554C991D7858716db09f58.json | Ink token metadata: rsETH |
| metadata/eip155:57073/erc20:0xfc421aD3C883Bf9E7C4f42dE845C4e4405799e73.json | Ink token metadata: GHO |
| metadata/eip155:57073/erc20:0xaE4EFbc7736f963982aACb17EFA37fCBAb924cB3.json | Ink token metadata: SolvBTC |
| metadata/eip155:57073/erc20:0x5BCf6B008bf80b9296238546BaCE1797657B05d6.json | Ink token metadata: reUSD |
| metadata/eip155:57073/erc20:0xd3c8dA379d71a33BfEE8875F87Ac2748bEB1d58d.json | Ink token metadata: uniBTC |
| metadata/eip155:57073/erc20:0xF50258D3c1dd88946C567920B986A12e65b50dAc.json | Ink token metadata: XAUt0 |
| metadata/eip155:57073/erc20:0x80Eede496655FB9047dd39d9f418d5483ED600df.json | Ink token metadata: frxUSD |
| metadata/eip155:57073/erc20:0x2416092f143378750bb29b79eD961ab195CcEea5.json | Ink token metadata: ezETH |
| metadata/eip155:57073/erc20:0xc99F5c922DAE05B6e2ff83463ce705eF7C91F077.json | Ink token metadata: xSolvBTC |
| metadata/eip155:57073/erc20:0xa161132371C94299D215915D4Cbc3B629E2059Be.json | Ink token metadata: brBTC |
| metadata/eip155:57073/erc20:0xc845b2894dBddd03858fd2D643B4eF725fE0849d.json | Ink token metadata: NVDAx |
| metadata/eip155:57073/erc20:0xF1815bd50389c46847f0Bda824eC8da914045D14.json | Ink token metadata: USDC.e |
| metadata/eip155:57073/erc20:0x4200000000000000000000000000000000000006.json | Ink token metadata: WETH |
| metadata/eip155:57073/erc20:0x64445f0aecC51E94aD52d8AC56b7190e764E561a.json | Ink token metadata: WFRAX |
| metadata/eip155:57073/erc20:0xb63EFBc28860c8097e341DE1fCF59456161E9D98.json | Ink token metadata: SNDKx |
| icons/eip155:57073/erc20:0x2D270e6886d130D724215A266106e6832161EAEd.svg | Ink token icon: USDC (SVG) |
| icons/eip155:57073/erc20:0x71052BAe71C25C78E37fD12E5ff1101A71d9018F.svg | Ink token icon: LINK (SVG) |
| icons/eip155:57073/erc20:0xA3D68b74bF0528fdD07263c60d6488749044914b.png | Ink token icon: weETH (PNG) |
| icons/eip155:57073/erc20:0x0200C29006150606B650577BBE7B6248F58470c1.svg | Ink token icon: USD₮0 (SVG) |
| icons/eip155:57073/erc20:0x142cdc44890978B506e745bB3Bd11607B7f7faEf.svg | Ink token icon: PYUSD (SVG) |
| icons/eip155:57073/erc20:0xc3eACf0612346366Db554C991D7858716db09f58.svg | Ink token icon: rsETH (SVG) |
| icons/eip155:57073/erc20:0xfc421aD3C883Bf9E7C4f42dE845C4e4405799e73.svg | Ink token icon: GHO (SVG) |
| icons/eip155:57073/erc20:0xaE4EFbc7736f963982aACb17EFA37fCBAb924cB3.svg | Ink token icon: SolvBTC (SVG) |
| icons/eip155:57073/erc20:0x5BCf6B008bf80b9296238546BaCE1797657B05d6.svg | Ink token icon: reUSD (SVG) |
| icons/eip155:57073/erc20:0xd3c8dA379d71a33BfEE8875F87Ac2748bEB1d58d.svg | Ink token icon: uniBTC (SVG) |
| icons/eip155:57073/erc20:0xF50258D3c1dd88946C567920B986A12e65b50dAc.png | Ink token icon: XAUt0 (PNG) |
| icons/eip155:57073/erc20:0x80Eede496655FB9047dd39d9f418d5483ED600df.png | Ink token icon: frxUSD (PNG) |
| icons/eip155:57073/erc20:0x2416092f143378750bb29b79eD961ab195CcEea5.png | Ink token icon: ezETH (PNG) |
| icons/eip155:57073/erc20:0xc99F5c922DAE05B6e2ff83463ce705eF7C91F077.svg | Ink token icon: xSolvBTC (SVG) |
| icons/eip155:57073/erc20:0xa161132371C94299D215915D4Cbc3B629E2059Be.png | Ink token icon: brBTC (PNG) |
| icons/eip155:57073/erc20:0xc845b2894dBddd03858fd2D643B4eF725fE0849d.svg | Ink token icon: NVDAx (SVG) |
| icons/eip155:57073/erc20:0xF1815bd50389c46847f0Bda824eC8da914045D14.svg | Ink token icon: USDC.e (SVG) |
| icons/eip155:57073/erc20:0x4200000000000000000000000000000000000006.png | Ink token icon: WETH (PNG) |
| icons/eip155:57073/erc20:0x64445f0aecC51E94aD52d8AC56b7190e764E561a.png | Ink token icon: WFRAX (PNG) |
| icons/eip155:57073/erc20:0xb63EFBc28860c8097e341DE1fCF59456161E9D98.svg | Ink token icon: SNDKx (SVG) |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| @@ -0,0 +1,7 @@ | |||
| { | |||
| "name": "ChainLink Token", | |||
| @@ -0,0 +1,7 @@ | |||
| { | |||
| "name": "Gho Token", | |||
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.
What
Adds metadata and logos for 20 ERC-20 tokens on Ink (
eip155:57073).Why
Reported in MetaMask/metamask-extension#42331: imported ERC-20 tokens on Ink show a letter avatar instead of a logo.
Ink is not onboarded to the token asset pipeline, so
token.api.cx.metamask.ioreturns400 Unsupported chain: 57073and publishes no icons for it. Before this change the repo held exactly one Ink ERC-20 entry, USDG. That is why USDG was the only token in the report that displayed a logo.The clients already request the CDN path for any chain, so no client change is needed. The
syncContractMetadatajob applies no chain allowlist, so these icons reach both the v1 and v2 CDN layouts on its next run.Scope
Covers the Ink tokens above $1M market cap, which is a superset of the nine in the report. Four are deliberately left out:
ACREDis already included in the open Adds Asset Configuration and Logos for Three Offerings Available through Securitize #1488.kBTCandLCAPare pending an official logo from the issuer.ANITAhas no official logo published.Tokens
0x2D270e6886d130D724215A266106e6832161EAEd0x71052BAe71C25C78E37fD12E5ff1101A71d9018F0xA3D68b74bF0528fdD07263c60d6488749044914b0x0200C29006150606B650577BBE7B6248F58470c10x142cdc44890978B506e745bB3Bd11607B7f7faEf0xc3eACf0612346366Db554C991D7858716db09f580xfc421aD3C883Bf9E7C4f42dE845C4e4405799e730xaE4EFbc7736f963982aACb17EFA37fCBAb924cB30x5BCf6B008bf80b9296238546BaCE1797657B05d60xd3c8dA379d71a33BfEE8875F87Ac2748bEB1d58d0xF50258D3c1dd88946C567920B986A12e65b50dAc0x80Eede496655FB9047dd39d9f418d5483ED600df0x2416092f143378750bb29b79eD961ab195CcEea50xc99F5c922DAE05B6e2ff83463ce705eF7C91F0770xa161132371C94299D215915D4Cbc3B629E2059Be0xc845b2894dBddd03858fd2D643B4eF725fE0849d0xF1815bd50389c46847f0Bda824eC8da914045D140x42000000000000000000000000000000000000060x64445f0aecC51E94aD52d8AC56b7190e764E561a0xb63EFBc28860c8097e341DE1fCF59456161E9D98How the values were sourced
Name, symbol and decimals were read from each contract on Ink mainnet, not from the report. Two values in the report and two in sibling entries on other chains turned out to be wrong:
reUSDis 18 decimals on Ink; the existing entry oneip155:4217says 6.brBTCis 8 decimals on Ink; the existing entry oneip155:1329says 18.Logos reuse the icon already in this repo for the same address on another chain where one exists, otherwise the canonical icon for the same asset.
NVDAxandSNDKxcome from the issuer, Backed Finance.Open questions for review
Names are taken verbatim from the contracts. Three read worse than the equivalent mainnet entries in this repo and I am happy to change them:
XAUt0(mainnet entry uses "Tether Gold"),Gho Token("GHO Token"),ChainLink Token("Chainlink").Testing
yarn testpasses, 702 assertions, 66 of them covering the neweip155:57073entries.Note
Low Risk
Static metadata and image assets only; no application or pipeline logic changes in the diff.
Overview
Adds 20 ERC-20 token entries for Ink (
eip155:57073) so wallets can show names, symbols, decimals, and logos instead of letter avatars. Each new file undermetadata/eip155:57073/points at a matching asset inicons/eip155:57073/(mostly new SVGs; several entries reference PNG logos).Coverage includes major stablecoins, LST/LRT assets, bridged tokens, and xStock-style symbols (e.g. USDC, PYUSD, LINK, WETH, GHO, SolvBTC). Name, symbol, and decimals were taken from Ink mainnet contracts— notably
reUSDat 18 decimals andbrBTCat 8, which differ from sibling-chain listings in this repo.Reviewed by Cursor Bugbot for commit 50cbac6. Bugbot is set up for automated code reviews on this repo. Configure here.