What is gm-onchain?

gm-onchain is an onchain art project exploring the boundaries of what sort of nft's can be rendered on chain.

There are 6969 total gms.
69 unique rendering styles.
69 + 42 unique colors for backgorund and font
Some rare effects.
Mint Price: 0.042 eth

Nerdy Details

gm's are generated based on a 32 byte seed that is created at mint. That is the only piece of storage on the contract.
Each gm's metadata is rendered completely onchain as a base64 encoded data uri. The image is a base64 encoded svg that is generated and rendered fully on chain.

To generate the svg there are 4 contracts:
  • CourierFont.sol: Contract that contains a bold monospace font used to render the ascii art.
  • GmData1.sol: Contract that contains compressed ascii art styles
  • GmData2.sol: Contract that contains more compressed ascii art styles
  • GmRenderer.sol: Contract that contains logic to generate and encode the svg based on a seed

Who is behind the project?

Breck Stodghill and Iain Nash started working on the project to explore what could be done with nfts rendered fully on chain.

Is there a roadmap?

No roadmap, no discord, just vibes. However, if we choose to make new onchain rendered nfts, it is likely gm holders will get access.


  • Dom Hoffman -- for all the onchain rendered nfts he has done and inspiration he has given the community.
  • Patorjk -- for building a very useful js figlet library which we used to generate the gm ascii art
  • meodai -- for building a very useful color name repository and api which we used to generate the sampled color names
  • inflate-sol -- awesome library handling on-chain INFLATE algorithm to compress the text used for each GM.