

What did Bushido build for Catblox?
Bushido designed and shipped an ERC-20 utility token, CatNip, and a marketplace where Catblox Genesis holders spend it on digital offers. Rewards are distributed according to how long a holder has held, giving the token a real use rather than a speculative one. Four months, two developers and a delivery manager. Stack: Solidity on Polygon and Ethereum, Next.js, Tailwind, Moralis Streams, Hasura, and AWS Lambda, API Gateway, CloudFront, S3 and Lambda@Edge.
Catblox wanted to reward holders of its Genesis collection for how long they held, with a token that could not be traded freely on Uniswap or secondary markets. CatNip would be an in-game currency spent only in the project's own marketplace, on digital offers: a spot in the next mint, tickets to live events, raffle entries, physical item claims. Once bought, an offer becomes an NFT that can be sold on OpenSea or Rarible.
And the whole experience had to be free for the user, which means the platform pays the transaction fees.
A snapshot every 24 hours would have given a whole day's reward to whoever held the token when the job ran. Counting holding time in blocks, and paying the seller out the moment a transfer happens, rewards buyer and seller fairly.
Minting and distributing tokens on-chain every day would have cost the platform a lot in fees. Balances stay off-chain and move to Polygon on demand, usually just before a holder buys an offer.
Moving tokens on-chain, buying offers and transferring them all run as meta-transactions, so the platform pays the gas. The one exception is burning a Metaportals NFT on Ethereum, an external contract we cannot control.
The Genesis collection and the snapshot live on Ethereum, the token on Polygon. The bridge makes them interoperable, and burning an NFT from another collection in the same universe earns a fixed CatNip reward on Polygon.
Admins set each offer in a UI: tradeable or not, supply, end date, amount per address, lottery or not. A purchase mints an ERC-1155 token, and lottery winners are picked automatically and published to a public Google spreadsheet when the offer closes.
When Moralis moved from a platform to an SDK only, the backend and database had to be reimplemented. It took three weeks.
Every smart contract is upgradeable, and admins can allow or block any address from sending or receiving CatNip at any time.
| First design | What shipped | |
|---|---|---|
| Reward fairness | A daily snapshot: whoever held at the job run took the day's reward | Holding time counted in blocks, the seller paid out on transfer |
| Distributing rewards | Minted on-chain every 24 hours, paying fees each time | Held off-chain, moved on-chain on demand |
| Gas for holders | Every transfer and purchase needs gas | Meta-transactions: the platform pays, except the Metaportals burn |
| Moralis goes SDK-only | Backend and database built on Moralis as a platform | Reimplemented in three weeks |
The net effect: holders are rewarded fairly for how long they hold, pay no gas to use CatNip, and the platform's transaction costs came down significantly.
"The consistent level that Bushido delivers every product and their continuously positive attitudes."
Jacob S.
Co-founder & CTO of Catblox
CatNip tokens are held off-chain initially and users move them on-chain on demand. That removes a per-action gas cost from the everyday experience and cut platform transaction costs significantly.
Moralis moved from a hosted platform to an SDK, which forced a rewrite of the backend and database. Bushido reimplemented both in three weeks without stopping delivery.
By holding duration. The longer a holder keeps their Catblox Genesis token, the larger their share of distributed CatNip, which rewards commitment rather than trading activity.
Same team, sharper tools. Tell us where you are and we will tell you what it takes — scope, shape and a timeline we would actually hold ourselves to — on a 30-minute call with an engineer.