AI-powered Binance assistant — live markets, on-chain analytics, automated trading, and a conversational AI agent, all in one app.
Binalyst is a full-stack Next.js application that gives Binance users an intelligent co-pilot. It combines live Binance market data, Web3 on-chain intelligence, price alerts, automated agent rules, and an AI chat interface powered by Kimi K2 — all accessible from a single, clean dashboard.
Users can interact via the web app or connect through Telegram using the OpenClaw gateway.
Chat with Kimi K2 (via Hugging Face) using natural language. Ask for live prices, market analysis, trading ideas, or crypto education. The AI has access to live Binance data through function calling tools.
Real-time Binance price streaming via WebSocket. View 24h movers, gainers, losers, and volume data across all USDT pairs.
Track your Binance holdings manually or connect your API key. View allocation breakdown, PnL, and total portfolio value in USD.
Place market and limit orders directly on Binance from the app. Includes a test order mode (dry-run) before committing real funds.
Powered by Binance Web3 Skills Hub:
- Token search — find any token by name or contract address
- Contract audit — check for rug pull risk, honeypot, ownership renouncement, and liquidity lock
- Wallet analysis — view any wallet's holdings, PnL, and transaction history
- Market rankings — trending, smart money, social hype, meme tokens
- Meme Rush — discover new meme token launches on BSC
AI scans upcoming Binance exchange events — new listings, trading pairs, HODLer airdrops, Launchpool projects, Launchpad IDOs, TGEs, and futures launches.
Set above/below price alerts on any coin. Get notified when your target is hit.
Create conditional trading rules that execute automatically:
IF BTC > $105,000 → BUY ETHIF RSI > 80 → SEND ALERTDAILY 9AM → POST to Square
Write and publish AI-generated posts to your Binance Square profile directly from the app.
Connect Telegram (and other messaging apps) via the OpenClaw gateway. Send commands like /price BTC or /movers and get live responses in your chat app.
Ask Binalyst to explain any crypto concept — DeFi, tokenomics, technical analysis, order types — with real examples.
| Layer | Technology |
|---|---|
| Framework | Next.js 14 (App Router) |
| Language | TypeScript |
| Auth | NextAuth.js + Supabase Auth |
| Database | Supabase (PostgreSQL) |
| State | Zustand (persisted to localStorage) |
| AI Model | Kimi K2 via Hugging Face Inference API |
| Market Data | Binance REST API + WebSocket |
| Web3 Data | Binance Web3 Skills Hub (public endpoints) |
| Messaging | OpenClaw gateway (Telegram, WhatsApp, Discord) |
| Styling | Tailwind CSS + CSS variables |
| Deployment | Vercel |
- Node.js 22+
- npm or pnpm
- A Supabase project
- A Hugging Face account (free)
- Optionally: Binance API key, Google OAuth credentials, OpenClaw account
# Clone the repo
git clone https://github.com/yourusername/binalyst.git
cd binalyst
# Install dependencies
npm install --ignore-scripts
# Copy environment variables
cp .env.example .env.localCreate a .env.local file with the following:
# Auth
NEXTAUTH_SECRET=your_random_secret_here
NEXTAUTH_URL=http://localhost:3000
# Supabase
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
# AI (Hugging Face)
HUGGINGFACE_API_KEY=hf_your_token_here
# Google OAuth (optional)
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
# OpenClaw messaging gateway (optional)
OPENCLAW_SECRET=your_shared_secret
# Encryption for stored API keys
ENCRYPTION_SECRET=your_32_char_secret_here!!
# Cron job auth
CRON_SECRET=your_cron_secretnpm run devOpen http://localhost:3000.
Run the following SQL in your Supabase project to create the required tables:
-- User settings (Binance API keys, preferences)
create table user_settings (
id uuid primary key default gen_random_uuid(),
user_id uuid references auth.users not null unique,
binance_key_enc text,
binance_sec_enc text,
auto_trade boolean default false,
chat_mode text default 'assistant',
created_at timestamptz default now(),
updated_at timestamptz default now()
);
-- Price alerts
create table alerts (
id uuid primary key default gen_random_uuid(),
user_id uuid references auth.users not null,
symbol text not null,
condition text check (condition in ('above','below')) not null,
target numeric not null,
note text,
active boolean default true,
triggered_at timestamptz,
created_at timestamptz default now()
);
-- Agent automation rules
create table agent_rules (
id uuid primary key default gen_random_uuid(),
user_id uuid references auth.users not null,
name text not null,
symbol text not null,
trigger_type text not null,
trigger_value numeric not null,
action_type text not null,
active boolean default true,
last_triggered timestamptz,
created_at timestamptz default now()
);
-- Binance Square posts
create table square_posts (
id uuid primary key default gen_random_uuid(),
user_id uuid references auth.users not null,
content text not null,
tags text[] default '{}',
status text check (status in ('draft','published')) default 'draft',
square_id text,
published_at timestamptz,
created_at timestamptz default now()
);- Install OpenClaw:
npm install -g openclaw - Upgrade Node.js to 22+:
nvm install 22 && nvm use 22 - Run onboarding:
openclaw onboard --install-daemon - In the OpenClaw dashboard, set the gateway URL to:
https://your-app.vercel.app/api/openclaw/message - Set the shared secret to match your
OPENCLAW_SECRETenv variable - Set the Telegram webhook:
curl.exe -X POST "https://api.telegram.org/botYOUR_TOKEN/setWebhook" -H "Content-Type: application/json" -d "{\"url\": \"https://your-app.vercel.app/api/openclaw/message\"}"
Once connected, users can message your Telegram bot with commands like:
/price BTC— get current price/movers— top 24h gainers and losers/audit 0x...— contract security audit/help— show all commands- Or ask anything naturally in plain language
| Route | Method | Description |
|---|---|---|
/api/ai/chat |
POST | Streaming AI chat with Kimi K2 |
/api/skills |
GET | Binance Web3 Skills Hub proxy |
/api/events/scan |
POST/GET | AI-powered Binance events scanner |
/api/openclaw/message |
POST | OpenClaw messaging gateway webhook |
/api/openclaw/price |
GET | Quick price lookup endpoint |
binalyst/
├── app/
│ ├── api/
│ │ ├── ai/chat/ # Streaming AI endpoint
│ │ ├── events/scan/ # Events scanner
│ │ ├── openclaw/ # Messaging gateway
│ │ └── skills/ # Web3 Skills Hub proxy
│ ├── login/ # Auth page
│ └── page.tsx # Main app shell
├── components/
│ ├── tabs/ # All tab views
│ │ ├── DashboardTab.tsx # Landing page after login
│ │ ├── ChatTab.tsx
│ │ ├── MarketsTab.tsx
│ │ └── ...
│ ├── Sidebar.tsx # Slim icon sidebar (expands on hover)
│ ├── BottomNav.tsx # Mobile bottom navigation
│ └── ...
├── lib/
│ ├── auth.ts # NextAuth config
│ ├── binance.ts # Binance REST + WebSocket client
│ ├── claude.ts # AI agent with tool calling
│ ├── store.ts # Zustand global state
│ ├── supabase.ts # Supabase client + helpers
│ ├── rateLimit.ts # In-memory rate limiter
│ └── skills/
│ ├── web3.ts # Binance Web3 Skills Hub
│ └── square.ts # Binance Square posting
└── middleware.ts # Auth protection
- Binance API keys are never stored in plaintext — encrypted with AES before being stored in Supabase
- API keys are stored in
sessionStorageon the client — cleared automatically when the tab closes - The OpenClaw gateway verifies every request using a shared secret (
x-openclaw-tokenheader) - Auto-trade mode is disabled by default and requires explicit user activation
For quick testing without a real account:
Email: demo@binalyst.com
Password: demo1234
The app is optimised for Vercel. Push to your connected GitHub repo and Vercel will build automatically.
Make sure all environment variables are set in Vercel → Project → Settings → Environment Variables before deploying.
MIT — feel free to fork and build on it.
- Binance API — market data and trading
- OpenClaw — messaging gateway
- Kimi K2 — AI model via Hugging Face
- Supabase — auth and database
- Vercel — deployment