<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Token Registration on Bitsy Wiki</title>
    <link>https://wiki.bitsy.services/wiki/economics/finance/defi/token-registration/</link>
    <description>Recent content in Token Registration on Bitsy Wiki</description>
    <generator>Hugo</generator>
    <language>en</language>
    <atom:link href="https://wiki.bitsy.services/wiki/economics/finance/defi/token-registration/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Making the Icon</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/token-registration/icon/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/token-registration/icon/</guid>
      <description>&lt;p&gt;A token icon is displayed at 20 to 24 pixels in a wallet balance row, which is the size at which it does its actual work. Everything else — the 256-pixel version in the repository, the 512-pixel version on the project page — is a downscale target. Design for the 20-pixel render, then produce the seven files the registrars ask for from one vector source.&lt;/p&gt;&#xA;&lt;h2 id=&#34;constraints-that-come-from-the-render-size&#34;&gt;Constraints that come from the render size&lt;a class=&#34;anchor&#34; href=&#34;#constraints-that-come-from-the-render-size&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;One mark, no wordmark.&lt;/strong&gt; The symbol is already printed next to the icon in every interface that shows it. Lettering inside a 20-pixel square is four or five pixels tall and resolves to a smear.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Stroke weight at or above 6% of the canvas.&lt;/strong&gt; A 256-pixel canvas wants strokes of 16 pixels or more; below that, the 20-pixel downscale drops them to under one pixel and the antialiaser turns them into grey haze.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Two colors, high contrast.&lt;/strong&gt; Gradients average out at small sizes, so a gradient icon renders as its mean color and stops being distinguishable from every other icon whose mean is a similar blue.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Give the mark its own disc.&lt;/strong&gt; Surfaces disagree about their background: Etherscan is light, most wallets default to dark, and a transparent icon that is pure black or pure white vanishes on one of them. A filled circle behind the mark makes the icon background-independent and also survives the circular cropping several wallets apply.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Keep the mark inside 88% of the canvas.&lt;/strong&gt; Interfaces that crop to a circle cut the corners off a square icon.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;the-source-file&#34;&gt;The source file&lt;a class=&#34;anchor&#34; href=&#34;#the-source-file&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Author in SVG and rasterize from it. A hand-drawn 256-pixel bitmap cannot produce a clean 32-pixel version, but the reverse works every time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>On-Chain Metadata</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/token-registration/on-chain-metadata/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/token-registration/on-chain-metadata/</guid>
      <description>&lt;p&gt;Two mechanisms let a token carry its own icon without a company&amp;rsquo;s approval: a metadata document referenced from the contract, and a wallet method your interface can call to push the icon at the user directly. Neither needs a form, a fee, or a queue, and both work in the same block the contract is deployed in.&lt;/p&gt;&#xA;&lt;h2 id=&#34;erc-1046-a-tokenuri-on-a-fungible-token&#34;&gt;ERC-1046: a &lt;code&gt;tokenURI&lt;/code&gt; on a fungible token&lt;a class=&#34;anchor&#34; href=&#34;#erc-1046-a-tokenuri-on-a-fungible-token&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/eip&#34;&gt;ERC&lt;/a&gt;-1046 is Final, and adds one function to &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/erc-20&#34;&gt;ERC-20&lt;/a&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Token Lists</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/token-registration/token-lists/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/token-registration/token-lists/</guid>
      <description>&lt;p&gt;A token list is a JSON document that maps chain identifier and contract address to a name, symbol, decimals count and logo URL. It is the only registration route where you are the publisher rather than the applicant: you write the file, you host it, and a user adds it to their interface by pasting a URL. Uniswap wrote the specification in 2020 and most swap interfaces and several wallets read the format.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Block Explorers</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/token-registration/block-explorers/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/token-registration/block-explorers/</guid>
      <description>&lt;p&gt;The explorer token page is the first result when anyone searches the contract address, and it is the cheapest registration to obtain: free, no liquidity requirement, no holder count, and turnaround measured in days. It is also the one with a hard prerequisite — the contract source must be verified before the form will open.&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-one-verify-the-source&#34;&gt;Step one: verify the source&lt;a class=&#34;anchor&#34; href=&#34;#step-one-verify-the-source&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Verification publishes source that recompiles to the deployed bytecode. It proves nothing about who deployed the contract, but every later step depends on it, and an unverified token contract reads as a warning sign to anyone who looks.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Data Aggregators</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/token-registration/aggregators/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/token-registration/aggregators/</guid>
      <description>&lt;p&gt;CoinGecko and CoinMarketCap are two websites, and registering with them is worth more than the traffic they send, because they are the upstream source for a long tail of software that never asks you for anything. MetaMask&amp;rsquo;s token service, most portfolio trackers, tax tools, and the acceptance criteria of at least one major wallet registry all resolve token metadata through aggregator data. A logo submitted once here surfaces in a dozen places that have no submission form of their own.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Wallet Registries</title>
      <link>https://wiki.bitsy.services/wiki/economics/finance/defi/token-registration/wallet-registries/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://wiki.bitsy.services/wiki/economics/finance/defi/token-registration/wallet-registries/</guid>
      <description>&lt;p&gt;Before token lists existed, wallets shipped their icons as a directory of files in a public repository, and adding a token meant opening a pull request. Two of those repositories still matter: &lt;code&gt;trustwallet/assets&lt;/code&gt;, which is maintained and gatekept, and MetaMask&amp;rsquo;s &lt;code&gt;contract-metadata&lt;/code&gt;, which is frozen. Both are worth understanding mainly to know when to stop trying.&lt;/p&gt;&#xA;&lt;h2 id=&#34;trustwalletassets&#34;&gt;&lt;code&gt;trustwallet/assets&lt;/code&gt;&lt;a class=&#34;anchor&#34; href=&#34;#trustwalletassets&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;The repository is a directory tree keyed by chain and address:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&#xA;&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;2&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;3&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;4&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;5&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;6&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;blockchains/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  ethereum/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    assets/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        logo.png&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        info.json&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;The folder name is the &lt;a href=&#34;https://wiki.bitsy.services/wiki/economics/finance/defi/ethereum/eip&#34;&gt;EIP&lt;/a&gt;-55 checksummed address in mixed case. Lowercase is rejected by continuous integration before review, as is &lt;code&gt;logo.PNG&lt;/code&gt; or &lt;code&gt;Info.JSON&lt;/code&gt; — the checks are case-sensitive on both the extension and the filename.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
