Bitstray

'Adopt yours!'



Mint price:
0 Bitstrays logo ETH

ETH
Bitstray
Bitstray
Bitstray
Bitstray
Bitstray
Bitstray
Bitstray
Bitstray
Bitstray
Bitstray

About the project

Bitstrays are pure on-chain NFT profile picture art. Bitstrays are straying animals who are looking for a home. We believe that pure on-chain avatars will become a real thing once we see some of the traditional NFT projects with links to centralized API's struggle to stand the test of time.

This project was inspired by Nouns and the public domain license.

  • Bitstrays are on-chain avatars
  • There will be 10,000 total NFTs (0-9999)
  • Our pixel artwork is generative and stored on-chain
  • Attributes (trait metadata) are stored on-chain
  • All character traits are generated at random (pseudorandomness)

Bitstrays are generated randomly based on Ethereum block hashes. Each Bitstray has a 'kind' trait which is derived from the head. All traits are equally likely except for some rarer heads.
We have the following traits:

  • arms (4)
  • backgrounds (6)
  • eyes (41)
  • heads (113)
  • motives (67)
  • mouths (20)
  • shirt (11)
There are 273,161,680 different Bitstrays combination possible excluding the background colors. We are excited to learn which of the will be adoped (minted) forever on-chain!

FAQ

There will be a total of 10,000 Bitstray NFTs as ERC-721 tokens on the Ethereum blockchain.

The mint price per Bitstray NFT is 0.05 ETH

We believe that there will be a time when pure on-chain NFTs will become a sub-culture in the NFT space. Bitstrays will be positioned to stand the test of time. 1 year, 10 years even 100 years from now. As long as the Ethereum network exists so do Bitstrays. We spend some extra effort and time to develop our NFT contract to store all components on-chain. Bitstray trait metadata will be generated on-chain, no API or IPFS links required.

For the public sale every address will be limited to 10 Bitstrays.

We adopted the Nouns concept which is under public domain license to encode our images. Bitstrays are stored directly on Ethereum and do not utilize pointers to other networks such as IPFS. This is possible because Bitstray parts are compressed and stored on-chain using a custom run-length encoding (RLE), which is a form of lossless compression.

The compressed parts are efficiently converted into a single base64 encoded SVG image on-chain. To accomplish this, each part is decoded into an intermediate format before being converted into a series of SVG rects using batched, on-chain string concatenation. Once the entire SVG has been generated, it is base64 encoded. Additionally, we extended their concept to support attribute generation of our Bitstray traits. Those attributes are similar to the image data uploaded and used during the NFT generation.

The Bitstray Seeder contract is used to determine Bitstray traits during the minting process. Bitstray traits are determined using pseudo-random number generation:

keccak256(abi.encodePacked(blockhash(block.number - 1), bitstrayId))

We use the randomness once to determine how many heads will be available and then a second time to generate the actual trait. This means there will be less common traits. In particular any Bistray with a hat will have lower chance to be generated than regular once. Every other trait should be somewhat normal distributed. Trait generation is not truly random, but we believe that there will be sufficient randomness build into our mint process.

The Bitstray Team

We are a team of 2 professionals looking forward to bootstrap web3 community

Mister G

Founder and artist of this project.

Bushwalker Ξth

web3 developer, degen, punk, co-founder