Describe a meme. Get a token. In one conversation.
EcoNova is an AI-powered multichain mobile wallet with a built-in meme token launchpad. It integrates directly with four.meme on BNB Chain — letting anyone go from idea to live token in under 60 seconds, just by talking.
No code. No forms. No browser tabs. Just chat.
User: "launch a sleepy frog meme coin"
EcoNova AI:
→ Invents name, ticker, lore description
→ Generates logo via AI image model
→ Converts & uploads image to four.meme CDN
→ Calls four.meme token/create API → gets createArg + signature
→ Submits createToken(createArg, signature) on-chain via TokenManager2
→ Returns token address, tx hash, DexScreener link
→ Auto-generates a launch tweet
One message. One token. On BNB Chain.
The AI agent handles the entire four.meme launch pipeline autonomously:
- Concept generation — invents name, ticker (≤6 chars), lore, and label from any vague prompt
- AI image generation — generates a meme logo via OpenRouter image models
- Format normalisation — detects and converts WebP/JPEG/GIF → PNG before upload (four.meme only accepts PNG)
- CDN upload — authenticates with four.meme, uploads to
static.four.memewith correct MIME type - API integration — calls
POST /meme-api/v1/private/token/createwith full payload includingshortName,symbol(trading pair),raisedTokenconfig, andraisedAmount - On-chain submission — manually ABI-encodes
createToken(bytes,bytes)calldata, signs, and broadcasts to TokenManager2 (0x5c952063c7fc8610FFDB798152D69F0B9550762b) on BSC mainnet - Token address extraction — polls receipt, finds
TokenCreateevent, reads token address fromtopics[2] - Launch tweet — auto-generates a formatted tweet with CA, symbol, and lore hook
- Calls OpenRouter image generation API (
sourceful/riverflow-v2-fast) - Decodes base64 response, detects magic bytes to identify format
- Converts any format → PNG using the
imagepackage - Uploads with correct
MediaTypeheader — resolves four.meme's internal format validator error - Caches generated bytes across retries so regeneration is skipped on upload failure
- Timestamp-suffixed filenames prevent CDN deduplication collisions
Built on LangChain (Dart) with GPT-4o-mini via OpenRouter. The agent:
- Follows a strict sequential tool-calling protocol (no parallel calls)
- Resolves contacts, domain names, and token addresses from natural language
- Confirms every destructive action with the user before executing
- Reports exact error strings from tools — no softening or summarising
Prompt: "launch a meme coin about a frog that sleeps through every pump"
EcoNova responds:
I've come up with SleepyFrog (SLEEP) — "The frog who naps through every pump and wakes up rich." Generating logo...
(AI generates image → uploads to four.meme CDN → deploys token)
🚀 Token deployed: SleepyFrog (SLEEP) 📍 Address:
0x0b4f5e...4444🔗 Deploy tx: BscScan 📈 DexScreener: View chartTweet: 🚀 SleepyFrog ($SLEEP) is LIVE on BNB Chain! The frog who naps through every pump and wakes up rich. CA: 0x0b4f5e...4444 #BNBChain #FourMeme #SLEEP
| Step | Endpoint / Contract | Notes |
|---|---|---|
| Auth nonce | POST /v1/private/user/nonce/generate |
EIP-191 personal sign |
| Login | POST /v1/private/user/login/dex |
Returns meme-web-access token |
| Image upload | POST /v1/private/token/upload |
Multipart, image/png required |
| Token create | POST /v1/private/token/create |
symbol = trading pair (BNB), shortName = ticker |
| On-chain | TokenManager2.createToken(bytes,bytes) |
0x5c952063c7fc8610FFDB798152D69F0B9550762b |
| Receipt poll | getTransactionReceipt |
Token address from TokenCreate event topics[2] |
Key API fields discovered through integration:
symbol— trading pair currency (BNB), not the token tickershortName— the actual token ticker (e.g.SLEEP)raisedAmount— must matchpreSale, even when both are"0.0000"raisedToken— full BNB config object fetched from/v1/public/config
User message
│
▼
GPT-4o-mini (LangChain agent)
│
├── CMD_generateMemeImage
│ │
│ ├── OpenRouter image API → raw bytes
│ ├── Magic byte detection (WebP/JPEG/PNG/GIF)
│ ├── image package → PNG conversion
│ └── four.meme CDN upload → imageUrl
│
└── CMD_deployMeme
│
├── four.meme auth (nonce + EIP-191 sign)
├── POST /token/create → createArg + signature
└── TokenManager2.createToken on BSC mainnet
EcoNova is a full multichain wallet. The four.meme integration is built on top of a production-grade foundation:
- 30+ supported chains — EVM, Solana, Cosmos, Starknet, Polkadot, TON, TRON, Bitcoin, Stacks, and more
- Natural language transfers — "Send 10 BNB to Alice", "Send $20 worth of USDC to Mum"
- Token swaps — quote and execute swaps via natural language
- Contact book — send to names instead of addresses, with fuzzy matching
- Domain resolution —
.bnb,.eth,.stark,.soland more - Staking — stake and unstake via chat
- dApp browser — injected wallet provider for EVM, Solana, Starknet, NEAR, MultiversX
- WalletConnect — V1, V2, and Reown support
- x402 autonomous payments — pay paywalled APIs automatically when a 402 is returned
- USDCx savings goals — named savings vaults on Stacks with progress tracking
- SLIP-39 seed splitting — K-of-N threshold shares for secure backup
- Dead man's switch — time-locked inheritance with encrypted share distribution
- Voice recognition — hands-free wallet control
- Portfolio overview — unified balance view across all chains
Requirements: Flutter 3.24.1 · Dart 3.5.1
git clone https://github.com/Imdavyking/econova_wallet
cd econova_wallet
flutter pub get
cp .env.example .env
# Add your OpenRouter API key to .env
flutter run| Layer | Technology |
|---|---|
| Mobile framework | Flutter (Dart) |
| AI agent | LangChain Dart + GPT-4o-mini via OpenRouter |
| Image generation | OpenRouter (sourceful/riverflow-v2-fast) |
| Image processing | image package (WebP → PNG conversion) |
| Blockchain | web3dart (BSC mainnet, chainId 56) |
| Meme launchpad | four.meme REST API + TokenManager2 |
| Key management | BIP39 / SLIP39, pure Dart cryptography |
MIT