Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,367 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CryptoPets 🚀

A Web3 pet-battling game running on both Ethereum and Solana. Breed, train, and battle NFT pets whose art is generated from their on-chain DNA, with battle outcomes resolved from a committed random beacon and published as signed receipts anyone can replay.

Live Demo: https://cryptopets.vercel.app

The CryptoPets gallery: a player's pets with stats, leaderboard, and daily quests

📁 Project Structure

This is a monorepo containing multiple interconnected projects:

Applications

  • Frontend - React + Vite web application with wallet integration
  • Backend - Node.js + Express API server, battle authority, and settle keeper
  • Mobile - React Native cross-platform mobile app
  • Website - Next.js marketing/documentation site

Smart Contracts & Blockchain

Services

  • Indexer - Go cross-chain indexer; the only writer of the pet roster
  • Image Generator - Pet NFT art and ERC-721 metadata, from Cloudflare Workers AI

Shared Code

  • Shared Core - Common utilities, types, and hooks used across clients
  • Protocol - The battle protocol: combat engine, canonical encodings, hashes, seed derivation
  • Verifier - Standalone verifier that replays a signed battle receipt against the protocol

📖 Documentation

See docs/ for the battle protocol, testing strategy, and an index of all package-level docs. The component map and data flow live in CLAUDE.md.

🛠️ Development

See DEVELOPMENT.md for:

  • Setup instructions
  • Available development commands
  • Environment configuration
  • Local blockchain setup (Ethereum + Solana)
  • Building and testing procedures

🚀 Quick Start

# Install dependencies
pnpm install

# Start everything
pnpm dev

For detailed setup and commands, see DEVELOPMENT.md.

📚 Tech Stack

Frontend: React 19, TypeScript, Vite, Wagmi, Viem, TanStack Query

Backend: Node.js, Express.js, TypeScript, Prisma, PostgreSQL, GraphQL, JWT, Ethers.js, TweetNaCl

Mobile: React Native, TypeScript

Services: Go (indexer, gRPC), Cloudflare Workers AI + R2 (pet art)

Blockchain:

  • Ethereum: Solidity, Hardhat
  • Solana: Rust, Anchor

🤝 Contributing

See CONTRIBUTING.md for setup, workflow, and pull request guidelines. Please also review our Code of Conduct.

🔒 Security

See SECURITY.md for how to report vulnerabilities.

📄 License

This monorepo uses two licenses depending on the package:

Package(s) License
contracts/ethereum, contracts/solana, services/indexer-go, proto, protocol, verifier MIT — fully permissive
frontend, backend, mobile, website, shared, services/image-generator (and anything else) PolyForm Noncommercial 1.0.0 — free for any noncommercial purpose; commercial use requires permission

protocol and verifier are MIT deliberately: a backend that decides battle outcomes only holds up if outsiders can replay its receipts, which means the verifier and everything it depends on has to be freely usable.

Each package's package.json / go.mod directory points at the license that applies to it. For commercial licensing of the app layer, contact code@radcrew.org.


Built with ❤️ by the radcrew team

About

NFT pet game on Ethereum & Solana - mint, breed, train, and battle pets with Chainlink VRF-powered combat and on-chain progression.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

35 stars

Watchers

1 watching

Forks

Contributors

Languages