warren-nft

0
0
Source

Deploy NFT collections permanently on MegaETH mainnet. Images are stored on-chain via SSTORE2, then published through WarrenContainer and WarrenLaunchedNFT.

Install

mkdir -p .claude/skills/warren-nft && curl -L -o skill.zip "https://mcp.directory/api/skills/download/8884" && unzip -o skill.zip -d .claude/skills/warren-nft && rm skill.zip

Installs to .claude/skills/warren-nft

About this skill

Warren NFT - On-Chain NFT Collection Deployment

Deploy complete NFT collections with permanent on-chain image storage on MegaETH mainnet.

Network: MegaETH Mainnet (Chain ID: 4326) RPC: https://mainnet.megaeth.com/rpc Explorer: https://megaeth.blockscout.com

How It Works

Your Images → SSTORE2 (on-chain) → WarrenContainer → WarrenLaunchedNFT
                                     /images/1.png     tokenURI renders
                                     /images/2.png     images on-chain
                                     ...
  1. Each image is deployed as a Page contract (fractal tree for larger files).
  2. All images are stored in a WarrenContainer NFT at /images/1.png, /images/2.png, etc.
  3. A WarrenLaunchedNFT contract is deployed referencing the container.
  4. Collection is registered for management and mint pages.

Setup (One Time)

cd {baseDir}
bash setup.sh

Prerequisites

1. Wallet + MegaETH ETH

Bridge ETH from Ethereum to MegaETH mainnet for gas.

Approximate cost:

  • ~0.03 ETH for a small collection (around 10 images)

2. Genesis Access Requirement

The script checks in this order:

  1. Human Genesis Key (0xRabbitNeo)
  2. 0xRabbit.agent Key
  3. Auto-mint 0xRabbit.agent Key (free)

Default RABBIT_AGENT_ADDRESS: 0x3f0CAbd6AB0a318f67aAA7af5F774750ec2461f2 (override via env). If you override or unset it, mint a human key:

Contract Addresses (Mainnet)

ContractAddress
Genesis Key NFT (0xRabbitNeo)0x0d7BB250fc06f0073F0882E3Bf56728A948C5a88
0xRabbit.agent Key NFT0x3f0CAbd6AB0a318f67aAA7af5F774750ec2461f2
WarrenContainer0x65179A9473865b55af0274348d39E87c1D3d5964
WarrenContainerRenderer0xdC0c76832a6fF9F9db64686C7f04D7c0669366BB
Treasury/Relayer0xcea9d92ddb052e914ab665c6aaf1ff598d18c550

Environment Variables

VariableRequiredDefaultPurpose
PRIVATE_KEYYesWallet private key for signing transactions
RPC_URLNohttps://mainnet.megaeth.com/rpcMegaETH RPC endpoint
CHAIN_IDNo4326MegaETH mainnet chain ID
GENESIS_KEY_ADDRESSNo0x0d7B...5a88Genesis Key NFT contract
RABBIT_AGENT_ADDRESSNo0x3f0C...61f20xRabbit.agent NFT contract
CONTAINER_ADDRESSNo0x6517...5964WarrenContainer contract
RENDERER_ADDRESSNo0xdC0c...6BBWarrenContainerRenderer contract
TREASURY_ADDRESSNo0xcea9...8c550Treasury/relayer address
REGISTER_APINohttps://thewarren.app/api/container-nftsCollection registration endpoint (see Security)
CHUNK_SIZENo15000Bytes per chunk (15KB)
GROUP_SIZENo500Max addresses per tree node

Deploy NFT Collection

Option 1: From Image Folder

cd {baseDir}
PRIVATE_KEY=0x... node deploy-nft.js \
  --images-folder ./my-art/ \
  --name "Cool Robots" \
  --symbol "ROBOT" \
  --description "100 unique robot NFTs on-chain" \
  --max-supply 100

Option 2: Auto-Generate SVG Art

cd {baseDir}
PRIVATE_KEY=0x... node deploy-nft.js \
  --generate-svg 10 \
  --name "Generative Art" \
  --symbol "GART" \
  --description "AI-generated on-chain art"

Full Configuration

PRIVATE_KEY=0x... node deploy-nft.js \
  --images-folder ./collection/ \
  --name "Cyber Punks" \
  --symbol "CPUNK" \
  --description "On-chain cyberpunk collection" \
  --max-supply 1000 \
  --whitelist-price 0.01 \
  --public-price 0.02 \
  --max-per-wallet 5 \
  --royalty-bps 500

CLI Options

OptionRequiredDefaultDescription
--images-folder <path>*-Folder with image files
--generate-svg <count>*-Generate random SVG art (1-256)
--name <string>Yes-Collection name
--symbol <string>Yes-Collection symbol (3-5 chars)
--description <text>NoAutoCollection description
--max-supply <number>NoImage countMaximum mintable NFTs
--whitelist-price <eth>No0Whitelist mint price in ETH
--public-price <eth>No0Public mint price in ETH
--max-per-wallet <number>No10Mint limit per wallet
--royalty-bps <number>No500Royalty (500 = 5%, max 1000 = 10%)

* Either --images-folder or --generate-svg is required.

Output

NFT Collection Deployed!

NFT Contract:  0xABC...
Container ID:  15
Image Count:   10
Max Supply:    100
Public Price:  0 ETH (Free)

Management: https://thewarren.app/launchpad/0xABC.../
Mint Page:  https://thewarren.app/launchpad/0xABC.../mint

Image Requirements

  • Formats: PNG, JPG, JPEG, SVG, GIF, WebP
  • Size: up to 500KB per image
  • Count: 1-256 images per collection
  • Naming: sequential or alphabetical

Example Workflows

Quick Test (3 SVGs)

cd {baseDir}
PRIVATE_KEY=0x... node deploy-nft.js --generate-svg 3 --name "Quick Test" --symbol "QT"

Medium Test (20 SVGs)

cd {baseDir}
PRIVATE_KEY=0x... node deploy-nft.js --generate-svg 20 --name "Art Collection" --symbol "ART" --public-price 0.001

Full Collection (100 SVGs)

cd {baseDir}
PRIVATE_KEY=0x... node deploy-nft.js --generate-svg 100 --name "Century" --symbol "C100" --max-per-wallet 3

Troubleshooting

"No ETH balance"

  • Bridge ETH to MegaETH mainnet.

"No Genesis Key found and RABBIT_AGENT_ADDRESS is not configured"

  • Set RABBIT_AGENT_ADDRESS=0x3f0CAbd6AB0a318f67aAA7af5F774750ec2461f2, or mint human key at https://thewarren.app/mint.

"Image exceeds 500KB"

  • Resize or compress images.

"Too many images"

  • Maximum 256 images per container.

DB registration warning

  • Non-critical. Collection is still deployed on-chain.

Notes

  • Mainnet content is permanent and immutable.
  • You pay gas from your own wallet.

Security & Privacy

  • No data exfiltration: Images are sent only as blockchain transactions to the configured RPC endpoint.
  • PRIVATE_KEY handling: Used solely to sign transactions. Never logged, stored on disk, or transmitted to third parties.
  • Network endpoints: Only the configured RPC_URL (default: mainnet.megaeth.com/rpc) and REGISTER_API.
  • REGISTER_API: After on-chain deployment is complete, the script POSTs collection metadata (name, symbol, maxSupply, prices, NFT contract address, container ID) to thewarren.app/api/container-nfts for management page registration. This is optional and non-critical — the on-chain collection works without it. No images or private keys are sent. Override with REGISTER_API env var or set to empty to disable.
  • File access: Reads only files in the specified --images-folder. No access outside that directory.
  • No telemetry: No analytics, tracking, or usage reporting.

You might also like

flutter-development

aj-geddes

Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.

1,4071,302

drawio-diagrams-enhanced

jgtolentino

Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.

1,2201,024

ui-ux-pro-max

nextlevelbuilder

"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."

9001,013

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

958658

nano-banana-pro

garg-aayush

Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.

970608

pdf-to-markdown

aliceisjustplaying

Convert entire PDF documents to clean, structured Markdown for full context loading. Use this skill when the user wants to extract ALL text from a PDF into context (not grep/search), when discussing or analyzing PDF content in full, when the user mentions "load the whole PDF", "bring the PDF into context", "read the entire PDF", or when partial extraction/grepping would miss important context. This is the preferred method for PDF text extraction over page-by-page or grep approaches.

1,033496

Stay ahead of the MCP ecosystem

Get weekly updates on new skills and servers.