Introducing BittyBots — An On-Chain, Customizable, Self-Evolving NFT Collection

Chubbies NFT
Published in
14 min readAug 28, 2021



As NFT creators, we strive to make something that is unique—something that’s never been done before. Back in March, we created Chubbies, one of the first 10K collections and the first 10K GIF collection that sold out in NFT History.

Though there were some controversies regarding the originality of the art (we have since resolved and settled), Chubbies remains a unique collection, as outlined in our long recap article.

5 months have passed since launching Chubbies and the NFT market is very different today. We’ve set out to create a new collection with features that we hope will stand out from the rest, using everything we have learned through this NFT journey.

Introducing BittyBots, a.k.a, Bitties.


This is what we think will make BittyBots fun and different:

  • Unique deflationary combination mechanism: We allow you to combine up to 5 bots at a time, to create new and stronger bots. The total number of BittyBots will decrease over time and the collection will evolve through the usage of this feature.
  • On-chain metadata generation: We generate and store the metadata on Ethereum Blockchain and will use the traits—like the Power of the bot—in potential future smart contracts to do creative things.
  • Justice Yield Token for BittyBots and Chubbies: BittyBots and Chubbies holders will yield Justice ($JSTICE) tokens daily, which can be used for BittyBots Combine, minting new NFTs, and other potential uses. Because cuteness is $JSTICE.
  • Fun Traits, sub-collections, and more: We’ve used our experience from Chubbies to create a collection with cool traits and sub-collections such as rare GodBots and shiny effects. Plus a few other fun surprises!
  • Fully animated original art: With our past, this is probably good to mention. The art originated from kixboy’s childhood doodles, and we’ve incorporated different ideas from inspiration sources listed below. No ChubbieGate.
  • Supplementary DApp with a variety of features: We’re creating a DApp on to support the collection of BittyBots, with features such as Power Leaderboard, PNG Generator, Playground, and Combine tool. A prototype of the Playground tool is already available.
  • Many different ways to enjoy the collection: You can chase for power, aesthetics, or rarity. Every Combine made by you as an owner will change the distribution of parts in the collection. The power is in your hands.

For people who are interested to learn more about the nitty-gritty, read on!

Table of Contents

  1. What are BittyBots?
  2. The Art and Traits
  3. On-chain metadata and generation
  4. Combine and Customizable NFTs
  5. Built-in Yield Token $JSTC
  6. A Self-evolving Collection
  7. Supplementary DApp and Features
  8. Inspirations
  9. Endless ways of enjoying your Bitties
  10. Future Plans

1. What are BittyBots?

BittyBots are NFTs created by kixboy (art) and solazy (dev). They are 48x48 animated GIFs enlarged to 480x480. The tokens are stored as ERC-721 non-fungible tokens on the Ethereum blockchain.

The art and design originated from kixboy’s childhood drawings and the NFT feature ideas sparked from solazy’s NFT journey.

There will be 20,000 tokens in total, with 10,000 allocated for Chubbies owners to claim for free (with gas fee). The other 10,000 will be sold to the public at a fixed price of 0.035 ETH (subject to change). After a window of 7 days, the unclaimed BittyBots will also be available for the public to purchase.

Note: due to the massive free claim, the royalty of the project will be set at a very high percentage during presale to avoid price competition on OpenSea. 3 days after the Chubbie Claim window, the royalty percentage will be set to 6%.

This all sounds like any other NFT project. However, we don’t want to make another profile picture collection. That’s boring and not providing much utility.

Below, we will explain what we’re doing differently with BittyBots. Most of what’s being mentioned will be integrated at launch, instead of a Kickstarter-like roadmap activation promise that might not be fulfilled.

kixboy’s childhood dream coming true

2. The Art and Traits

We are doing a lot on the contract, but NFTs should be art-first and we want you to know that we are not compromising on the Art part.

We have come up with many details in the collection that we believe will make it a unique collection under one important principle:

All the traits should be visible on the art.

Each BittyBot is defined by 11 traits, 8 core traits (Helmet, Face, Arms, Body, Engine, Type, Effect, Accessories,) and 3 helper traits (Power Level, Set Modifier, Combined Count).

2.1 Core Traits

1. Model Traits: Helmet, Face, Arms, Body

First of all, we have designed 16 models in total, each having its distinct characteristics in Helmet, Face, Arms, and Body. These parts will be mixed and matched. They all have a model number and a name, e.g. “M01 — Ava”. The model starts from 0 to 15, with 0, 13, 14, 15 being rare models. Model 1–12 will have equal rarity and owners can decide what they like best.

The number 16 converts to 4 bits and allows us to do optimizations on the smart contract to help save gas.

BittyBot Models (subject to change)

2. Engines

Each BittyBot is powered by a unique engine. Different engines will have different rarities.

3. Types

There are 4 types of BittyBots. Apart from the Standard models, there are 3 other very very rare types. Each bot in these types is unique, very powerful, and has distinct art styles. They are the 3Gs of BittyBots — GodBot, GoldBot, GlitchBot.

Only Standard bots can be used for combination. GodBots, GoldBots, GlitchBots have fixed power and cannot be altered.

Distribution for types will be

  • BittyBot: 19952
  • GlitchBot: 16
  • GoldBot: 16
  • GodBot: 16

4. Effects

Each bot can have up to 3 effects:

  • Shiny: this effect alters your BittyBots model color
  • Lightning: this effect adds a lightning effect to your BittyBot
  • Glitch: this effect adds a glitch effect to your BittyBot

Effects are very rare and can be stacked.

Distribution for effects will be:

  • None: 19650
  • Lightning: 200
  • Glitch: 100
  • Shiny: 50

5. Accessories

BittyBots can have accessories, like a BB1 companion that grants you a 1ETH airdrop, wings, or a bomb.

Accessories are very rare and cannot be stacked, 1 per bot only.

BB1 — BittyBot 1 ETH companion

2.2 Helper Traits

1. Power Level

The Power Level trait is a number that represents how strong your BittyBot is. Each part has a power number that will be summed up for the bot. Sets and cool effects will give extra power. It’s also our attempt to define rarity in numbers. There will be tiers for power and they will be used to grant utilities through supplementary smart contracts.

The Bot’s background will represent the power level the Bot has.

There will be a Power Level leaderboard on the website to showcase the strongest BittyBots.

2. Sets

Having the same parts in the model traits — Helmet, Arms, Face, Body — will grant a bonus modifier to the Bot’s power:

  • 2 parts: 120% set modifier
  • 3 parts: 130% set modifier
  • 4 parts: 140% set modifier

Unlike Chubbies, there will be no guaranteed sets in the generation process as owners can combine them.

3. Combine Count

This is the number of times this bot has been combined.

The Combine Count starts with 0 and during every combination, the resulting bot will take the maximum combine count in the resource bot and increment it by 1 as its new combine count.

The cost to combine a bot (using $JSTC tokens) will increase with a curve based on the Combine Count. The first combine will be free.

2.3 Guaranteed 1 of 1 uniqueness

A combination of [Helmet, Arms, Body, Face, Engine, Type] is being hashed and stored on the contract to check for duplication.

Backgrounds, Effects, Accessories, are not used to determine duplication.

If a bot is burned during combination then its traits will be freed from the storage and it will become available again for owners to mint.

Due to the dynamic nature of the project, the BittyBots Playground and Combine Tools will show the number remaining for each bot in real-time.

3 On-chain metadata and generation

A lot of NFT collections today store the metadata off-chain, either in storage like AWS, or better, in IPFS. However, apart from an URL to the metadata, the ERC-721 contract knows nothing about the metadata. Using Chubbies as an example, on the Ethereum contract, all Chubbies are treated equally regardless of their rarity. This is the same for CryptoPunks, BAYC, or Cool Cats.

With this model, the only utilities of the rare NFT in the collection are the collectibility and the status in the respective community.

With BittyBots, we decided to change this and store all the metadata on-chain — this will allow us to do very creative things with the traits.

What this means is that we can airdrop to all BittyBot Model 14 users using a smart contract or all BittyBots that have a power > 1000, instead of creating a manual Google spreadsheet to track the traits.

Note: Unfortunately, we are unable to store the GIFs on-chain as they are too large. They will be stored on IPFS just like Chubbies.

3.1 On-chain Random generation

All the metadata is generated during mint using the block timestamp and difficulty as the seed. This means that it will be fair because we as creators are subject to the same random generation rules and distribution as everyone else.

You might have heard that random numbers are not secure and that Meebits got hacked. However, we decided to not implement ChainLink as we don’t want owners to spend 2 LINK (0.016 ETH) more on the gas fee per mint. Unlike Meebits, at the price we have set, we believe the incentive to manipulate the block is little. If someone is willing to pay more than 1 ETH to manipulate the block and get a rare BittyBot, that’s welcomed. It’s a feature, not a bug.

This all comes at a price. With on-chain metadata and on-chain random generation, we are pushing the limit of the Solidity Contract size (24KB), while optimizing gas cost through minimizing storage writes and well-known techniques such as Tight Variable Packing. There’s a reason why there can only be 16 BittyBots, not 17, and we will probably touch on that in a future article.

4. Combine and Customizable NFTs

Mock-up for the Combine Screen

We wanted to provide utility from the start. Breeding and burning come to mind immediately, as that’s what cool projects like Axie Infinity and Punk Comics are doing. To lean in on the robot analogy, and though not the first collection to do this, we have come up with our own unique combine mechanism.

You can combine multiple bots (up to 6) and choose the parts you want.

The first combine is free. The subsequent combines will require a Yield Token based on a curve. The cost of the combine is determined by the Maximum Combine Number of the bots used.

The number of times a bot has been combined is indicated in the bottom right corner of the art.

Combined Bots will start with Serial Number 20000.

Combining is also a way of making your Bitties stronger. The formula for power is determined as follows:

0.25 * (sum(power(resource_bots)) + power(current_bot)) * set_bonus_modifier

For example, if you combine 3 bots with powers 100, 200, 300 into a new full set bot with 500 in power. Here’s the new power of the bot.

(0.25 * (100 + 200 + 300) + 500) * 1.4 = 910

Boom! You have just created a bot that has power stronger than the 3 bots combined.

You might ask “why would I want stronger power”? We have thought about that too, and we have included utilities for power too.

5. Built-in Yield Token $JSTICE

A new token, $JSTICE, will be launched together with BittyBots.

Both Chubbies and BittyBots will produce $JSTICE token daily because “cuteness is justice!”.

$JSTICE token can be used to:

  • Combine BittyBots after the complementary first combine
  • Mint new NFTs (e.g. future sets of Chubbies, bwpunks, or something new)
  • Metaverse uses (if the community wants us to invest in building Voxels)
  • etc.

Due to the characteristics of off-chain metadata, each Chubbie will produce a fixed number of $JUSTICE tokens, while each Bittie will produce a variable number of $JUSTICE tokens based on the on-chain power level. At first, Chubbies will produce more $JUSTICE than Bitties, but powerful Bitties combined in the right way will surpass Chubbies.

Owning Chubbies and Bitties is the only way to receive new $JSTICE.

A strong BittyBot will produce more $JSTICE than several weaker BittyBots.

6. A Self-evolving Collection

Yugioh is one of solazy’s favorite anime.

There are only 4 Blue-Eyes White Dragons cards in the world of Yugioh and Kaiba, the famous antagonist, owning 3, tore the 4th Blue-Eyes, to make his 3 the rarest in the world.

Although in the real world, there are unlimited copies of Blue-Eyes White Dragons, we want to achieve the same effect with BittyBots through NFTs.

In fact, model 0 will be the “Blue-Eyes White Dragon” for BittyBots — there will only be 4 of each part in the collection.

Feel free to tear one if you collect all four sets!

Apart from the special models 0, 13, 14, and 15, all other base models have the same exact count at the setup. Combining a BittyBot will burn at least 2 and up to 5 BittyBots. That poses an interesting situation. When you are making your Model 3 Bot stronger, you might be burning other less favored Model parts in the collection, thus making them rarer.

We have our own favorite models but we want to leave it to BittyBots owners to decide which models they like. How the number of traits evolves through time is completely up to the owners.

We can’t wait to see what the collection will evolve into.

7. Supplementary DApp and Features

We are building a DApp on to serve the collection.

7.1 PNG Generator

People are still not familiar with GIFs and full-body images do not look as good as a half-body image as profile pictures. But NFTs are all about Twitter and profile pictures and banners remain the largest use case for NFTs.

So we will be providing a PNG generator for all bots. Here are the formats that we will provide:

  • Full representation (for OpenSea): Full-Body GIF with Background and Combine counts
  • Bot representation: Full-Body GIF with No Background or Combine counts
  • Bot PNG representation (for Banners or other creative purposes): Full-Body PNG with No Background or Combine counts
  • Profile picture representation (for Profile picture): A half-body PNG for the profile picture

These will be available from the website, in a section called “My Bots” once your wallet is connected.

Prototype for Twitter PNG

7.2 Power Leaderboard

You will be able to see the top BittyBots sorted by power. This will provide a different analysis from rarity when it’s available on

7.3 Playground and Combine Tool

  • You will be able to look at the different combinations on the Playground
  • You will be able to combine BittyBots through a GUI. (You will be able to do it on Etherscan too since it is on-chain).
  • You will be able to see which BittyBots are free to mint and which are taken.
  • You will be able to see the power and remaining count for each part.
  • You will be able to see the estimated power before you choose to combine a bot.

7.4 $JUSTICE Token Page

  • You will be able to collect rewards for Chubbies and Bitties.
  • You will be able to see how many tokens are available for collecting.

7.5 Bounty Missions

We will have competitions with prizes to see who can mint the target combination first.

Not a Set. But cute and cool AF!

8. Inspirations

These ideas came from tons of sleepless nights of brainstorming but they also came from our own life experiences. Here are the inspirations, in no specific order:

Note: We have come up with the combine mechanism ourselves through brainstorming but were bummed to find out after someone pointed out in Discord that we were not the first to come up with it and that BitBots had already been doing it. There are also already other projects that have similar mechanisms. We have reached out to Cobble, the dev, to avoid any confusion or trouble. We will be executing it differently and in our own way. The name “BittyBots” is also similar, which is troublesome, but kixboy had come up with the name in March and we love it so much that we decided to keep using it.

9. Endless ways of enjoying your Bitties

With BittyBots, we set out to provide many different ways that you can collect our NFTs.

  • You can chase for the highest power by combining, and thus receive more $JUSTICE tokens and gain a spot in the Power Leaderboard
  • You can go for the rarest bots, just like how you collect for other collections
  • You can squat on a combination of a bot or specific parts
  • You can burn bots to increase the rarity of your own bot
  • You can hunt for aesthetics, because not every bot needs to be strong

The possibility is endless.

10. Future plans

Some of the above are still under implementation and we aim to deliver all of the above at launch, as we don’t like to promise large roadmaps.

We think by delivering the above, BittyBots itself is already a kick-ass collection, with utility built-in — very different from what’s on the NFT market today.

If it goes well, we might look into entering the metaverse and making a Bomberman-like game, but nothing is set in stone. We will listen to the community on what comes next.

Ending Words

It is still early and our journey has just begun. We hope you can see that we have poured our hearts to make something unique and we welcome you to join the BittyBots family!

Follow us on Twitter and join the conversation in Discord. Get a Chubbie now to secure more $JUSTICE tokens for BittyBot Combines, and avoid a potential gas war.

Cuteness is $JUSTICE.



Chubbies NFT

Profession procrastinator. Developer of BWPunks, Chubbies, and BittyBots.