Your Face, Your Asset. — AI Virtual Stars × Bonding Curve × Injective
NovaIdol is a decentralized AI talent agency where anyone — real person or AI — can upload a likeness, mint an on-chain identity, issue a token, and earn revenue from AI-generated short dramas. Token holders share profits automatically.
GitHub: https://github.com/userInner/QuestLens
Network: Injective EVM Testnet (Chain ID 1439)
Explorer: https://testnet.blockscout.injective.network/
┌──────────────────────────────────────────────────────────────────┐
│ Frontend (React + Vite) │
│ Upload Face → Mint Idol → Buy/Sell → K-Line → License → Claim │
└──────────────────────────┬───────────────────────────────────────┘
│ ethers.js + EVM RPC
┌──────────────────────────▼───────────────────────────────────────┐
│ Injective EVM Testnet (Chain ID 1439) │
│ │
│ ┌────────────┐ ┌────────────┐ ┌─────────────┐ ┌───────────────┐ │
│ │ IdolToken │ │IdolFactory │ │ERC8004Agent │ │IdolLicensing │ │
│ │(Bonding │ │(Create new │ │(AI Identity │ │(Usage Rights │ │
│ │ Curve) │ │ idols) │ │ NFT) │ │ 10/20/50%) │ │
│ └────────────┘ └────────────┘ └─────────────┘ └───────────────┘ │
│ ┌────────────────────┐ ┌──────────────────┐ │
│ │ IdolLifecycle │ │ IdolGovernance │ │
│ │ (State Machine) │ │ (Voting) │ │
│ └────────────────────┘ └──────────────────┘ │
└──────────────────────────┬───────────────────────────────────────┘
│ Events + Function Calls
┌──────────────────────────▼───────────────────────────────────────┐
│ Backend (Express + TypeScript) │
│ Image Upload API → Save to /public/idols/{symbol}/avatar.png │
└──────────────────────────┬───────────────────────────────────────┘
│
┌──────────────────────────▼───────────────────────────────────────┐
│ AI Agent (TypeScript + DeepSeek) │
│ ERC-8004 Identity Verification → Tool Calling → Mood System │
│ Market Analysis → Trade Execution → Tweet Generation │
│ MCP Server → Injective DEX Real-time Data │
└──────────────────────────────────────────────────────────────────┘
Core
- Face = Asset — Upload any likeness (AI or real person), mint on-chain identity, issue Bonding Curve token
- Bonding Curve Trading — Price rises automatically as supply grows; early fans are rewarded
- Likeness Licensing — Hold 10% for community use, 20% for commercial AI dramas, 50% for exclusive rights
- Profit Sharing — AI drama revenue → Treasury → 50% dividends to holders, 50% buyback & burn
AI Agent
- Autonomous Decision-Making — DeepSeek v4-flash with function calling, chooses actions autonomously
- Mood System — 7 emotional states (euphoric/excited/neutral/cautious/stressed/rebellious/bored) affect trading behavior
- ERC-8004 Verification — Agent verifies on-chain identity and capabilities before operating
- Tool Registry — check_price, check_balance, open_trade, generate_tweet, wait
Governance
- Token-Weighted Voting — Holders vote on strategy, risk parameters, personality tweaks
- Idol Lifecycle — Newborn → Growth → Star → Retired (auto-transitions based on treasury/holders)
Frontend
- i18n — Full English/Chinese localization (180+ keys)
- Real-time Chain Data — All displayed data from on-chain (no mock)
- Demo Story Page — 6-step flywheel walkthrough with real tx hashes
| Contract | Address |
|---|---|
| ERC8004Agent | 0x2fBD5e8e8Ac49E1473A611d4D692d7FcD2283B1A |
| IdolFactory (v2, no limit) | 0x4f5c4409710567565A1f12806Aee05B1827F9Ba4 |
| Vivian Token (IdolToken) | 0x65aa80FdD8014F36Cb6D13C40fD6F4167d956827 |
| Layer | Technology |
|---|---|
| Chain | Injective EVM (Cosmos SDK + EVM compatible) |
| Contracts | Solidity 0.8.20, OpenZeppelin v5, Foundry |
| Frontend | React 18, Vite, TypeScript, Tailwind CSS, Recharts |
| Backend | Express, TypeScript, Sharp (image processing) |
| Wallet | MetaMask (EVM signing on Chain ID 1439) |
| AI Agent | DeepSeek v4-flash, Function Calling, Mood System |
| State | Zustand (persist) |
| MCP | Injective MCP Server (market data + trading) |
| i18n | Custom hook + JSON (EN/ZH) |
- Node.js 18+
- pnpm
- Foundry (for contracts)
- MetaMask
# Clone
git clone https://github.com/userInner/QuestLens.git
cd QuestLens
# Install all packages
pnpm install
pnpm approve-builds # approve sharp native build
# Run frontend (port 5173)
cd packages/frontend
pnpm dev
# Run backend (port 3456) — handles image uploads
cd packages/backend
npx tsx src/index.ts
# Run AI Agent (optional)
cd packages/agent
npx tsx src/index.ts # demo mode (2 cycles)
npx tsx src/index.ts loop # continuous modeAdd Injective EVM Testnet:
- RPC URL:
https://k8s.testnet.json-rpc.injective.network/ - Chain ID:
1439 - Symbol:
INJ - Explorer:
https://testnet.blockscout.injective.network/
Get test INJ: https://testnet.faucet.injective.network/
cd packages/contracts
export PRIVATE_KEY=0x...
export IDOL_AGENT_ADDRESS=0x...
forge script script/Deploy.s.sol \
--rpc-url https://k8s.testnet.json-rpc.injective.network/ \
--broadcastpackages/
├── contracts/ # Solidity smart contracts (Foundry)
│ ├── src/
│ │ ├── IdolToken.sol # Bonding curve ERC-20 with dividends
│ │ ├── IdolFactory.sol # Factory for creating new idols
│ │ ├── ERC8004Agent.sol # AI agent identity NFT
│ │ ├── IdolLicensing.sol # Token-gated usage rights (10/20/50%)
│ │ ├── IdolLifecycle.sol # State machine (Newborn→Growth→Star→Retired)
│ │ └── IdolGovernance.sol # Token-weighted voting
│ └── script/Deploy.s.sol
├── frontend/ # React + Vite frontend
│ ├── src/
│ │ ├── pages/ # Home, Explore, Create, IdolDetail, Portfolio, Agent, Demo, Profile
│ │ ├── hooks/ # useWallet, useIdolToken, useTrade, useCreateIdol, useExplore, useAgentIdentity
│ │ ├── services/contract.ts # ABI, providers, BondingCurve math
│ │ ├── components/ # Header, IdolAnime, Chart, Trade, Treasury, ClaimDividends
│ │ ├── i18n/ # EN/ZH translations (180+ keys)
│ │ ├── data/idols.ts # Multi-idol registry
│ │ └── store/ # Zustand wallet store
│ └── public/idols/ # Idol avatar images
├── backend/ # Express API server
│ └── src/
│ ├── index.ts # Server entry (port 3456)
│ └── routes/ # /api/upload/avatar, /api/idol
└── agent/ # AI Agent service
└── src/
├── index.ts # Entry point (demo/loop modes)
├── agent/
│ ├── AgentLoop.ts # Main autonomous loop
│ ├── mood.ts # 7-state mood system
│ ├── tools.ts # Tool registry (5 tools)
│ ├── identity.ts # ERC-8004 on-chain verification
│ └── logger-file.ts # Write activity to frontend log
├── services/ai.ts # DeepSeek API integration
└── config/index.ts # Environment configuration
- Checkpoint-based dividends — prevents double-claim attacks
- Protocol fee isolation — sell liquidity protected from owner withdrawal
- Binary search pricing — exact bonding curve calculation (128 iterations)
- Pausable — emergency stop for all trading functions
- Daily trade limits — max 5 trades/day, max 20% of treasury per trade
- ReentrancyGuard — on all state-changing functions
- License auto-revoke — if holder sells below tier threshold, license invalidates
Upload Face → Mint Token → Fans Buy In → AI Drama Revenue →
Dividends to All Holders → Token Price Rises → More Fans → ...
- Creator uploads likeness → mints ERC-8004 identity + Bonding Curve token
- Fans buy tokens → 80% to Treasury, 20% protocol fee
- AI Agent manages treasury → trades on Injective DEX
- Producers hold 20%+ → acquire commercial license → cast idol in AI dramas
- Drama revenue →
distributeProfits()→ 50% holder dividends, 50% buyback & burn - Token price rises via bonding curve → more fans buy in → flywheel accelerates
NovaIdol transforms digital identities into investable, performable assets:
- Fixed Identity — Each idol has permanent name, appearance, personality (ERC-8004 on-chain)
- Multi-Role Performance — Same persona acts across genres: romance, thriller, variety show
- Social Presence — AI generates daily content (thoughts, trades, memes, lifestyle)
- Fan Economy — Holding tokens = being a fan + investor; governance = fan engagement
- Licensing Model — Hold 10% for community use, 20% for commercial AI dramas, 50% exclusive
| Type | Source | Use Case |
|---|---|---|
| AI-Generated | Stable Diffusion / MidJourney | Pure virtual idol |
| Real Person | Upload selfie + consent | Digital twin, passive income |
| Hybrid | AI body + real voice | Authenticity + scalability |
- Bonding Curve smart contracts (with security audit)
- ERC-8004 Agent Identity
- Frontend with real chain integration
- Wallet connection (MetaMask)
- Contract deployment to testnet
- Injective MCP server integration
- AI Agent with tools + mood system + ERC-8004 verification
- Agent Dashboard (real-time activity log)
- Idol Lifecycle state machine
- Governance voting contracts
- Likeness Licensing (10/20/50% tiers)
- Image upload flow (Create → Backend → public/idols/)
- Multi-idol registry
- i18n (EN/ZH)
- Demo Story page (full flywheel walkthrough)
- Idol Profile page (timeline, roles, fan tiers)
- IPFS image storage (production)
- Twitter bot live integration
- Mainnet deployment
- AI drama content generation pipeline
MIT