Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Deploy NFT collections permanently on MegaETH mainnet. Images are stored on-chain via SSTORE2, then published through WarrenContainer and WarrenLaunchedNFT.
Deploy NFT collections permanently on MegaETH mainnet. Images are stored on-chain via SSTORE2, then published through WarrenContainer and WarrenLaunchedNFT.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
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
Your Images β SSTORE2 (on-chain) β WarrenContainer β WarrenLaunchedNFT /images/1.png tokenURI renders /images/2.png images on-chain ... Each image is deployed as a Page contract (fractal tree for larger files). All images are stored in a WarrenContainer NFT at /images/1.png, /images/2.png, etc. A WarrenLaunchedNFT contract is deployed referencing the container. Collection is registered for management and mint pages.
cd {baseDir} bash setup.sh
Bridge ETH from Ethereum to MegaETH mainnet for gas. Approximate cost: ~0.03 ETH for a small collection (around 10 images)
The script checks in this order: Human Genesis Key (0xRabbitNeo) 0xRabbit.agent Key Auto-mint 0xRabbit.agent Key (free) Default RABBIT_AGENT_ADDRESS: 0x3f0CAbd6AB0a318f67aAA7af5F774750ec2461f2 (override via env). If you override or unset it, mint a human key: https://thewarren.app/mint
ContractAddressGenesis Key NFT (0xRabbitNeo)0x0d7BB250fc06f0073F0882E3Bf56728A948C5a880xRabbit.agent Key NFT0x3f0CAbd6AB0a318f67aAA7af5F774750ec2461f2WarrenContainer0x65179A9473865b55af0274348d39E87c1D3d5964WarrenContainerRenderer0xdC0c76832a6fF9F9db64686C7f04D7c0669366BBTreasury/Relayer0xcea9d92ddb052e914ab665c6aaf1ff598d18c550
VariableRequiredDefaultPurposePRIVATE_KEYYesβWallet private key for signing transactionsRPC_URLNohttps://mainnet.megaeth.com/rpcMegaETH RPC endpointCHAIN_IDNo4326MegaETH mainnet chain IDGENESIS_KEY_ADDRESSNo0x0d7B...5a88Genesis Key NFT contractRABBIT_AGENT_ADDRESSNo0x3f0C...61f20xRabbit.agent NFT contractCONTAINER_ADDRESSNo0x6517...5964WarrenContainer contractRENDERER_ADDRESSNo0xdC0c...6BBWarrenContainerRenderer contractTREASURY_ADDRESSNo0xcea9...8c550Treasury/relayer addressREGISTER_APINohttps://thewarren.app/api/container-nftsCollection registration endpoint (see Security)CHUNK_SIZENo15000Bytes per chunk (15KB)GROUP_SIZENo500Max addresses per tree node
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
cd {baseDir} PRIVATE_KEY=0x... node deploy-nft.js \ --generate-svg 10 \ --name "Generative Art" \ --symbol "GART" \ --description "AI-generated on-chain art"
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
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.
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
Formats: PNG, JPG, JPEG, SVG, GIF, WebP Size: up to 500KB per image Count: 1-256 images per collection Naming: sequential or alphabetical
cd {baseDir} PRIVATE_KEY=0x... node deploy-nft.js --generate-svg 3 --name "Quick Test" --symbol "QT"
cd {baseDir} PRIVATE_KEY=0x... node deploy-nft.js --generate-svg 20 --name "Art Collection" --symbol "ART" --public-price 0.001
cd {baseDir} PRIVATE_KEY=0x... node deploy-nft.js --generate-svg 100 --name "Century" --symbol "C100" --max-per-wallet 3
"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.
Mainnet content is permanent and immutable. You pay gas from your own wallet.
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.
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.