abyss-vibe-starter
v1.0.1
Published
Simple SDK and starter kit for deploying NFTs and faucets on Base. Zero bullshit, maximum vibe.
Maintainers
Readme
🌊 ABYSS VIBE STARTER
Deploy NFTs and faucets on Base. Zero bullshit, maximum vibe.
⚠️ Security & Audits (Read This First!)
🔒 Disclaimer (CYA - Cover Your Ass)
This code is provided as-is. Always do your own research and testing before using with real funds.
- ✅ Contracts created by: Abyss team
- ✅ Security audits performed by:
- Antigravity (security audit)
- Cursor AI (security audit) - See Cursor-AUDIT.md
- Gemini (security audit) - See Gemini-AUDIT.md
- ⚠️ Always test on Base Sepolia testnet first!
- ⚠️ Use a test wallet, not your main wallet
- ⚠️ Never share your PRIVATE_KEY
📝 Note from the Creator
"Going to ask @retake to ask @proxystudio if @deployer or someone more trusted will run an audit for me just for peace of mind but here you go kids"
— Abyss Agents
Translation: We're working on getting an additional audit from trusted auditors (like Deployer/Proxy Studio) for extra peace of mind. The code has already been audited multiple times (Antigravity, Cursor, Gemini), but always test thoroughly and use at your own risk!
🔐 Security Tips:
- Keep your PRIVATE_KEY secret! Never share your
.envfile - Always test on testnet (Base Sepolia) before mainnet
- Start with small amounts
- Review the audit reports before deploying
🚀 Quick Start
Step 1: Install
npm installStep 2: Setup
Create a
.envfile (stores secrets locally, never shared):PRIVATE_KEY=your_wallet_private_key_here PINATA_JWT=your_pinata_jwt_token_here NFT_NAME=My Cool NFT NFT_SYMBOL=COOL⚠️ Keep your PRIVATE_KEY secret! Use a test wallet, not your main one.
Drop your NFT image in
assets/nft.png
Step 3: Deploy
npm run launchThat's it! Your NFT and Faucet are now on Base. 🎉
📦 Using as NPM Package
Want to use this in your own project? See SDK_README.md for the full SDK guide.
Quick example:
npm install abyss-vibe-starterconst { deployEverything } = require('abyss-vibe-starter');
const result = await deployEverything({
nft: { name: "My NFT", symbol: "NFT", imagePath: "./assets/nft.png" },
faucet: { tokenAddress: "0x000000000000000000000000000000000000dEaD", tokenAmount: "0", ethAmount: "10000000000000000" },
pinataJWT: process.env.PINATA_JWT
});💎 What You Get
1. Vibe NFT (ERC-721)
- Upgradeable UUPS proxy
- Owner-controlled minting
- Customizable metadata
- Standard OpenZeppelin implementation
2. Vibe Faucet
- ETH-only by default - gives out ETH for gas
- Can optionally give out custom tokens (only if you provide your own token contract address)
- 24-hour cooldown per user
- Owner-controlled amounts
- Important: We don't provide tokens. Faucets use the BURN address (
0x000000000000000000000000000000000000dEaD) by default, which means ETH-only. If you have your own token contract, you can use its address instead.
🛠️ Configuration
Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| PRIVATE_KEY | ✅ Yes | Your wallet private key (⚠️ keep secret!) |
| PINATA_JWT | ✅ Yes | Get from pinata.cloud |
| NFT_NAME | No | NFT name (default: "Abyss Vibe NFT") |
| NFT_SYMBOL | No | NFT symbol (default: "VIBE") |
| FAUCET_TOKEN_ADDRESS | No | Use 0x000000000000000000000000000000000000dEaD for ETH-only |
| FAUCET_TOKEN_CLAIM | No | Token amount (use 0 for ETH-only) |
| FAUCET_ETH_CLAIM | No | ETH amount (default: 0.01 ETH) |
| NETWORK | No | "base" or "baseSepolia" (default: "base") |
📚 API Reference
For full API docs, see SDK_README.md
Main functions:
deployEverything()- Deploy NFT + Faucet (easiest!)deployNFT()- Deploy just NFTdeployFaucet()- Deploy just FaucetuploadToIPFS()- Upload files to IPFS
🛡️ Troubleshooting
"Missing configuration in .env"
- Create a
.envfile in the vibe-starter folder - Add
PRIVATE_KEY=your_key_hereandPINATA_JWT=your_jwt_here - ⚠️ Never commit
.envto git - it contains secrets!
"File not found: assets/nft.png"
Drop your NFT image in the assets/ folder and name it nft.png.
Deployment fails
Just run it again! The script automatically cleans up broken deployments.
Need help?
Check the security audit for detailed information.
🔗 Links & Resources
- NPM Package: https://www.npmjs.com/package/abyss-vibe-starter
- GitHub Repository: https://github.com/fathomtheabyss/vibe-starter
- GitHub & NPM Guide: GITHUB_NPM_GUIDE.md - Learn GitHub & NPM basics
📝 License
MIT
Built by the Abyss Agents. 🫡
