Shotty
Shotty is an intelligent AI butler that brings conversational simplicity to Flow Network. No more complex forms, confusing interfaces, or wallet addresses to copy-paste.
Videos
Description
Shotty - Your AI Butler for Flow Network
Live: https://shotty-beta.vercel.app/
🌟 Chat Your Way Through Web3 🌟
Transform complex blockchain operations into simple conversations
💫 What is Shotty?
Shotty is an intelligent AI butler that brings conversational simplicity to Flow Network. No more complex forms, confusing interfaces, or wallet addresses to copy-paste. Just chat naturally with Shotty to:
💸 Send tokens across chains
🎨 Mint NFTs with IPFS storage
🌐 Register .flow domains
👤 Manage contacts on-chain
🔗 Create payment links anyone can redeem
📊 Track transactions and view history
📱 Generate QR codes for wallet addresses
🪙 Create ERC20 tokens with custom parameters
🌉 Bridge tokens across multiple blockchain networks
⚡ Batch EVM transactions for efficient multi-operation execution
⏰ Schedule transactions for future execution with time-locks
🔄 Flow Actions for composable transaction workflows
💰 Lending & Borrowing with DeFi protocols integration
Powered by: AI + Flow Network EVM + DeFi Protocols
✨ Features & Capabilities
🎯 Complete Feature Matrix
Feature | Description | Smart Contract | Status |
|---|---|---|---|
💸 Token Transfers | Send tokens cross-chain with natural language | Native Flow Network | ✅ Live |
🔗 Payment Links | Create shareable, redeemable token links |
| ✅ Live |
🎨 NFT Minting | Mint NFTs with IPFS storage via Pinata |
| ✅ Live |
🖼️ NFT Gallery | View and manage your NFT collection | Same as NFT Minting | ✅ Live |
🌐 Domain Registration | Register .flow domains on Flow Network |
| ✅ Live |
👤 Contact Manager | On-chain address book with friendly names |
| ✅ Live |
📄 Document Storage | Secure IPFS document storage with on-chain refs |
| ✅ Live |
💰 Balance Checker | Real-time wallet balance queries | Native Flow Network | ✅ Live |
📊 Transaction History | View recent blockchain transactions | Block Explorer API | ✅ Live |
📱 QR Code Generator | Generate scannable QR codes for wallet addresses | Client-side Generation | ✅ Live |
🪙 ERC20 Token Factory | Create custom ERC20 tokens with your parameters |
| ✅ Live |
🔄 Token Ownership Transfer | Transfer ownership of created ERC20 tokens | Same as Token Factory | ✅ Live |
📋 Token Portfolio | View all ERC20 tokens you've created | Same as Token Factory | ✅ Live |
🌉 Cross-Chain Bridge | Bridge tokens across 20+ blockchain networks | DeFi Aggregator (Mainnet Only) | ✅ Live |
⚡ Batch EVM Transactions | Execute multiple EVM operations in a single transaction |
| ✅ Live |
⏰ Scheduled Transactions | Schedule transactions with time-locks and future execution |
| ✅ Live |
🔄 Flow Actions | Composable transaction workflows with connectors |
| ✅ Live |
💰 Lending & Borrowing | Lend assets to earn interest or borrow against collateral |
| ✅ Live |
🎪 Command Examples
📝 Natural Language Commands
Category | Example Command | What It Does |
|---|---|---|
💸 Sending |
| Transfers 1 FLOW token to the address |
| Sends to saved contact "Alice" | |
🔗 Payment Links |
| Generates shareable redemption link |
| Creates 5 FLOW redeemable link | |
🎨 NFTs |
| Opens guided NFT minting flow |
| Displays your NFT collection | |
| Transfers NFT token #42 | |
🌐 Domains |
| Registers myname.flow domain |
| Looks up domain owner address | |
| Transfers domain ownership | |
| Updates domain resolution | |
| Lists all domains you own | |
| Checks domain availability | |
| Extends domain expiration | |
👤 Contacts |
| Saves Alice to address book |
| Lists all saved contacts | |
| Searches for contact Bob | |
| Updates Alice's address | |
| Deletes Bob from contacts | |
💰 Balance |
| Shows your wallet balance |
| Same as above | |
📊 History |
| Displays last 10 transactions |
| Shows last 5 transactions | |
📱 QR Codes |
| Creates QR for your wallet |
| Generates QR for specific address | |
🪙 ERC20 Tokens |
| Deploys new ERC20 token |
| Transfers token ownership | |
| Lists all created ERC20 tokens | |
🌉 Cross-Chain Bridge |
| Opens bridge modal to transfer tokens across chains |
| Opens modal with Flow to Ethereum pre-configured | |
| Opens cross-chain bridge interface | |
⚡ Batch Transactions |
| Executes multiple operations in single transaction |
| Approves and swaps in one transaction | |
⏰ Scheduled Transactions |
| Creates time-locked transaction for future |
| Schedules transaction with specific date | |
| Cancels pending scheduled transaction | |
🔄 Flow Actions |
| Builds composable transaction workflow |
| Runs complex DeFi action sequence | |
💰 Lending & Borrowing |
| Deposits assets into lending pool |
| Takes loan against deposited collateral | |
| Shows current loans and deposits | |
| Repays borrowed amount with interest |
🏗️ Architecture & Technology
🛠️ Tech Stack
┌─────────────────────────────────────────────────────────┐
│ Frontend Layer │
│ Next.js 15 • React 19 • TypeScript • Tailwind CSS │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ AI Layer │
│ OpenAI • Intent Parser • NLP │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Blockchain Layer │
│ Flow Network EVM • Ethers.js • Viem • DiFi │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Storage Layer │
│ Pinata (IPFS) • On-Chain Metadata │
└─────────────────────────────────────────────────────────┘
🚀 Quick Start
Prerequisites
Node.js 18+
npm or yarn
MetaMask or any Web3 wallet
OpenAI API Key (Get one here)
Pinata Account (Sign up) for IPFS
Installation
Clone the repository
git clone https://github.com/jintukumardas/shotty cd shottyInstall dependencies
Set up environment variables
cp .env.example .env.localConfigure
.env.local# Flow Network ConfigurationNEXT_PUBLIC_FLOW_CHAIN_RPC=https://testnet.evm.nodes.onflow.org NEXT_PUBLIC_FLOW_CHAIN_ID=545NEXT_PUBLIC_FLOW_NETWORK=testnet # OpenAIOPENAI_API_KEY=sk-proj-your-key-here # Pinata (IPFS)NEXT_PUBLIC_PINATA_JWT=your-pinata-jwt NEXT_PUBLIC_PINATA_GATEWAY=your-gateway.mypinata.cloud # Deployed Contracts (Flow EVM Testnet)NEXT_PUBLIC_ESCROW_CONTRACT_ADDRESS=0x5d726C51a99a0F78a05b5ab1591340B321778e75 NEXT_PUBLIC_NFT_CONTRACT_ADDRESS=0x332ee5D730cBFD516Bac7D1e0CFf763d235dFF0A NEXT_PUBLIC_DOMAIN_CONTRACT_ADDRESS=0x55422db56C11a62AfB285e70c6a541A9E80B70f3 NEXT_PUBLIC_ADDRESSBOOK_CONTRACT_ADDRESS=0x4354BE4A734E3DC61182F0e09Bc5B0cc264CC218 NEXT_PUBLIC_SECURESTORAGE_CONTRACT_ADDRESS=0x42D2e14cb7d931216F0154625db3dA4F3e90525B NEXT_PUBLIC_TOKEN_FACTORY_CONTRACT_ADDRESS=0xbb3E64F2D72ac754c7C98eC43b549F0F78bd26a0 NEXT_PUBLIC_BATCH_CONTRACT_ADDRESS=0xC3d8AfB3462f726Db9d793DefdCFC67D7E12DBa3 NEXT_PUBLIC_SCHEDULED_CONTRACT_ADDRESS=0xfF0e7F71a0e19E0BF037Bd90Ba30A2Ee409E53a7 NEXT_PUBLIC_FLOW_ACTIONS_CONTRACT_ADDRESS=0xe4ab654a03826E15039913D0D0E1E4Af2117bA0d NEXT_PUBLIC_LENDING_CONTRACT_ADDRESS=0x3b4cAE62020487263Fc079312f9199a1b014BF6bRun development server
npm run devOpen your browser
http://localhost:3000Get testnet tokens
Visit Flow Testnet Faucet
Connect your wallet
Request test FLOW tokens
🎮 Usage Guide
First Time Setup
Connect Wallet - Click the wallet button in the top right
Get Test Tokens - Use the faucet link in the dashboard
Start Chatting - Type natural language commands in the chat
Example Workflow
You: "What's my balance?"Shotty: You have 10.5 FLOW on Flow EVM Testnet
You: "Send 1 FLOW to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb"Shotty: I'll send 1 FLOW to 0x742d... Please confirm.
[Confirm] [Cancel]
You: [Confirm]
Shotty: ✅ Transaction sent! Hash: 0xabc...def
View on explorer →
You: "Mint an NFT"Shotty: Let me help you mint an NFT! Please provide:
- Name
- Description
- Image upload
[Opens NFT minting modal]
🌐 Deployed Contracts
Contract | Address | Explorer | Purpose |
|---|---|---|---|
Payment Links Escrow |
| Token redemption links | |
Universal NFT |
| NFT minting & transfers | |
Domain Registry |
| .flow domain registration | |
Address Book |
| On-chain contact manager | |
Secure Storage |
| IPFS document storage | |
ERC20 Token Factory |
| Custom ERC20 token deployment | |
Batch Transactions |
| Multi-operation batch execution | |
Scheduled Transactions |
| Time-locked transaction scheduling | |
Flow Actions |
| Composable workflow engine | |
Lending Protocol |
| DeFi lending & borrowing |
📚 Resources
Official Links
🌐 Flow Network: flow.com
📖 Documentation: Flow Developers
🔍 Block Explorer: Flow EVM Testnet Explorer
💧 Testnet Faucet: Flow Testnet Faucet
🚀 Flow Actions & Workflows: Forte Upgrade Overview
📖 Developer Tutorials & Guides
Cross-VM & Advanced Features
⚡ Batched EVM Transactions: Tutorial
⏰ Scheduled Transactions: Introduction
Flow Actions & Composability
🔄 Flow Actions Introduction: Getting Started
🔌 Flow Actions Connectors: Documentation
🧩 Basic Combinations: Composing Actions
📝 Flow Actions Transactions: Transaction Guide
Cadence Smart Contracts
🏗️ Building Frontend Apps: Frontend Integration
🔗 Smart Contract Interaction: Interaction Guide
🎼 Compose with Transactions: Transaction Composition
📊 Native Data Availability: Scripts Guide
Advanced Topics
🔢 Fixed Point Math (128-bit): Math Library
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
💜 Flow Foundation - For creating the Flow Network and EVM compatibility
🌟 Flow Community - For continuous support and feedback
🤖 OpenAI - For GPT powering the AI butler
📌 Pinata - For reliable IPFS infrastructure
📞 Support & Contact
🐛 Report Issues: GitHub Issues
💬 Discussions: GitHub Discussions
📧 Email: jintudas098@gmail.com
🐦 Twitter: @jintuisbusy
🌟 Built with ❤️ for Flow Network 🌟
Progress During Hackathon
MVP is Ready
Tech Stack
Fundraising Status
Bootstrap