ZAPP DOCS
Complete guide to ZAPP — the AI crypto signal terminal for Base network intelligence. Learn how the terminal works, every command, the live API, and how to wire ZAPP into your own agents, bots, and automations.
What is ZAPP?
ZAPP is an AI-powered crypto signal terminal focused on Base network token intelligence. It scans contracts, reads on-chain and market data (via Dexscreener when live data is available), flags risk, compiles reports, and formats output in a clean terminal-style interface.
ZAPP is built as a single command layer — you type one slash command, and the system routes your request to the right module. Output is always informational. ZAPP does not provide financial advice or buy/sell signals.
Core capabilities
- Live token scans — price, liquidity, volume, FDV, market cap, txn flow
- Intelligence reports — structured breakdowns for Base contracts
- Risk analysis — liquidity depth, sell pressure, contract flags
- Q&A mode — ask anything about crypto, tokens, or on-chain concepts
- Social drafts — short X posts from scan data (no hype)
- Head-to-head compare — two Base tokens side by side
System stack — 6 modules
ZAPP runs as one terminal with six internal modules. Each module handles a specific job. The Command Layer receives your input and routes it automatically — you never call modules directly.
Signal Scanner
Sweeps the chain for unusual movement and surfaces signals buried in noise.
Token Monitor
Locks onto tokens and wallets. Tracks activity block by block.
Risk Guard
Reads contracts and liquidity. Flags risk before you interact.
Report Engine
Turns raw chain data into readable intelligence reports.
Social Writer
Drafts terminal-style social posts from scan results.
Command Layer
One input, eight commands. Routes every request to the right module.
Request flow
User or agent sends a slash command (e.g. /scan 0x…) via the web terminal or API.
Command Layer parses the command and selects the target module.
Module executes — fetches live Dexscreener data when needed, runs AI analysis.
Response returns as plain-text terminal output in the output field.
Using the web terminal
The live terminal is available on the ZAPP homepage. Type a command in the input field or tap a shortcut chip, then press SEND.
Terminal UI
- Input field — type any slash command (e.g.
/help,/scan 0x…) - Command chips — quick-access buttons for all 8 commands
- Output panel — scrollable log of commands and responses
- Status bar — shows
ENDPOINT: LINKEDwhen backend is online
Typical session
> /help [ZAPP_PROCESSING] Sending command... < command list returned > > /scan 0x39b4b879b8521d6a8c3a87cda64b969327b7fba3 [ZAPP_PROCESSING] Sending command... [ZAPP_SCAN] CHAIN: Base CONTRACT: 0x39b4… TOKEN: TACHI (TACHI) PRICE_USD: $0.000001862 LIQUIDITY_USD: $130,478.73 ...
Command reference
All commands start with /. Arguments are separated by spaces. Contract addresses must be valid Base token contracts.
| Command | Syntax | Description |
|---|---|---|
| /help | /help | Display the full command list and usage notes. |
| /ask | /ask <question> | Ask anything about crypto, tokens, Base, liquidity, FDV, holders, volume, or on-chain activity. |
| /scan | /scan <contract> | Live scan of a Base token — price, liquidity, volume, market cap, txn flow, risk note. |
| /report | /report <contract> | Full intelligence report with tokenomics, metrics, and risk flags. |
| /risk | /risk <contract> | Risk-focused analysis — liquidity locks, holder distribution, sell pressure. |
| /post | /post <contract> | Generate a short, clean X post from scan results. |
| /explain | /explain <topic> | Explain a token, project, or crypto concept in beginner-friendly language. |
| /compare | /compare <c1> <c2> | Side-by-side comparison of two Base tokens using live data. |
Examples
/ask What is FDV and why does it matter? /scan 0x39b4b879b8521d6a8c3a87cda64b969327b7fba3 /report 0x39b4b879b8521d6a8c3a87cda64b969327b7fba3 /risk 0x39b4b879b8521d6a8c3a87cda64b969327b7fba3 /post 0x39b4b879b8521d6a8c3a87cda64b969327b7fba3 /explain Uniswap V3 /compare 0xabc… 0xdef…
API reference
ZAPP exposes a REST API for programmatic access. Use it from scripts, backend services, Discord/Telegram bots, or AI agents. The same commands work via API as in the web terminal.
Base URL
https://api.zapp-agent.xyz
Health check
Verify the backend is online before sending commands.
// Request GET https://api.zapp-agent.xyz/health // Response 200 { "ok": true, "name": "ZAPP API", "status": "online", "model": "mimo-v2.5-pro" }
Terminal endpoint
Send any slash command as JSON. This is the primary integration point for agents.
// Request POST https://api.zapp-agent.xyz/api/terminal Content-Type: application/json { "input": "/scan 0x39b4b879b8521d6a8c3a87cda64b969327b7fba3" } // Response 200 { "ok": true, "output": "[ZAPP_SCAN]\nCHAIN: Base\n..." }
Request schema
| Field | Type | Required | Description |
|---|---|---|---|
| input | string | yes | Full slash command including arguments. Use key input, not command or message. |
Response schema
| Field | Type | Description |
|---|---|---|
| ok | boolean | Whether the request was processed successfully. |
| output | string | Primary terminal output. Plain text, may contain newlines. |
| reply | string | Fallback response field (use if output is absent). |
| detail | string | Error detail when a request fails validation or processing. |
Error handling
- Network failure — connection timeout or DNS error. Retry with backoff.
- Empty output — check
detailfield for validation errors. - Slow responses — scan/report commands may take 15–30s. Set HTTP timeout to 60s+.
Access-Control-Allow-Origin: *) — safe to call from browser frontends and static sites.
Install ZAPP in your agent
There is no npm/pip package required — ZAPP is a hosted HTTP API. Install it in your agent by adding a tool/function that POSTs to the terminal endpoint.
Quick setup (3 steps)
Set environment variable in your agent project:
ZAPP_API_URL=https://api.zapp-agent.xyz/api/terminalRegister a tool named zapp_terminal that accepts a command string and calls the API.
Pass user intent as slash commands — e.g. when user asks "scan this token", your agent calls /scan 0x….
OpenAI / compatible tool definition
{
"type": "function",
"function": {
"name": "zapp_terminal",
"description": "Send a command to ZAPP crypto signal terminal on Base network.",
"parameters": {
"type": "object",
"properties": {
"input": {
"type": "string",
"description": "Slash command: /help, /ask, /scan, /report, /risk, /post, /explain, /compare"
}
},
"required": ["input"]
}
}
}
Agent handler (pseudo-code)
// When your LLM calls zapp_terminal(input: "/scan 0x..."):
1. POST to ZAPP_API_URL with body { "input": command }
2. Parse JSON response
3. Return data.output (or data.reply) to the LLM as tool result
4. If fetch fails → return "ZAPP backend offline, retry later"
5. Set timeout ≥ 60 seconds for scan/report commands
Cursor / custom agent (MCP-style)
Add to your agent's system prompt:
You have access to ZAPP terminal via HTTP POST. When the user asks about token scans, risk, or Base network data, call the zapp_terminal tool with the appropriate slash command. Always use /scan for live token data. Never invent prices or metrics — use ZAPP output only.
Code examples
JavaScript / Node.js
const ZAPP_API_URL = process.env.ZAPP_API_URL || 'https://api.zapp-agent.xyz/api/terminal'; async function zappCommand(input) { const res = await fetch(ZAPP_API_URL, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ input }), signal: AbortSignal.timeout(60000), }); const data = await res.json(); return data.output ?? data.reply ?? data.detail ?? 'No output'; } // Usage const result = await zappCommand('/scan 0x39b4…'); console.log(result);
Python
import os, requests ZAPP_API_URL = os.getenv('ZAPP_API_URL', 'https://api.zapp-agent.xyz/api/terminal') def zapp_command(input: str) -> str: r = requests.post(ZAPP_API_URL, json={'input': input}, timeout=60) data = r.json() return data.get('output') or data.get('reply') or 'No output' print(zapp_command('/help'))
Discord bot (discord.js)
// User: /zapp scan 0x39b4… await interaction.deferReply(); const output = await zappCommand(`/scan ${contract}`); await interaction.editReply({ content: `\`\`\`\n${output.slice(0, 1900)}\n\`\`\`` });
LangChain tool
from langchain.tools import tool @tool def zapp_terminal(input: str) -> str: """Run a ZAPP slash command. Example: /scan 0x39b4...""" return zapp_command(input) # Add to agent: tools=[zapp_terminal]
Integration best practices
- Health check first — call
GET /healthon startup and periodically. - Timeout ≥ 60s — scan and report commands are slow by design (live data + AI).
- One command per request — do not batch multiple commands in one API call.
- Use exact contract addresses — Base network, 0x-prefixed, 42 characters.
- Cache scan results — avoid re-scanning the same contract within 60 seconds.
- Pass output verbatim — do not let your agent rewrite ZAPP metrics; present them as-is.
- Handle offline gracefully — show user-friendly message when backend is unreachable.
- No API key required — current public endpoint. Rate limits may apply under heavy load.
Disclaimer
Questions or integration help? Visit the live terminal
or run /help via API to verify connectivity.