Coco is a TypeScript monorepo for a BNB Chain focused AI agent runtime with tool calling, wallet execution modes, connectors, browser/computer automation, memory persistence, SQL, RAG, alerts, and on-chain automation.
@coco/core: runtime, LLM providers, memory, wallet executor, SQLite limit ledger@coco/plugin-price: Binance price lookup@coco/plugin-scan: GoPlus contract scanning@coco/plugin-swap: PancakeSwap quote and execution flow@coco/plugin-wallet: balance and transfer support@coco/plugin-nfa: BAP-578 agent identities@coco/plugin-browser: browser automation@coco/plugin-shell: shell and filesystem access@coco/plugin-cron: persistent scheduled tasks@coco/plugin-memory: persistent memory store@coco/plugin-computeruse: desktop automation (macOS/Linux)@coco/plugin-vision: image analysis and OCR@coco/plugin-knowledge: local document indexing and retrieval@coco/plugin-tts: text-to-speech generation@coco/plugin-sql: readonly-first SQL access@coco/plugin-orchestrator: multi-agent orchestration@coco/plugin-chain-events: price and chain watchers@coco/plugin-alerts: alerts and notifications@coco/plugin-dex-agg: ParaSwap/OpenOcean quote aggregation@coco/plugin-webhook: webhook delivery@coco/plugin-history: BscScan/RPC history lookups@coco/plugin-nft: NFT detail and transfer flows@coco/plugin-news: RSS and CryptoPanic aggregation with token sentiment@coco/plugin-trust-score: normalized token trust scoring@coco/plugin-quant-signal: indicator-driven trade signals and degraded backtests@coco/plugin-auto-trade: paper/live strategy runs, orders, and positions@coco/plugin-copy-trade: confirmed-wallet copy trading with trust filters@coco/plugin-whale-alert: whale movement classification and monitoring@coco/plugin-report: md/html/pdf report generation@coco/plugin-polymarket: read-only prediction market discovery@coco/connector-web: REST and WebSocket connector@coco/connector-telegram: Telegram runtime bridge@coco/connector-discord: Discord runtime bridge@coco/connector-twitter: Twitter/X skeleton connector@coco/cli: local chat and server entrypoints
unsigned: returns unsigned transactionsdelegated: signs and broadcasts through a server-managed delegated walletsession-key: enforces signer, expiry, permissions, limits, and signs with the configured session keycustodial: signs and broadcasts through a server-managed custodial wallet
Limits are enforced for delegated, custodial, and session-key flows through a SQLite-backed ledger that resets on UTC day boundaries.
- Install dependencies:
pnpm install - Copy
.env.exampleinto.envand fill in your LLM and RPC values. - Run the CLI chat loop:
pnpm --filter @coco/cli build && node apps/cli/dist/index.js chat - Run the web connector:
node apps/cli/dist/index.js serve
pnpm buildpnpm lintpnpm testpnpm typecheckpnpm release:check
- GitHub Actions runs
pnpm release:checkfor pushes tomain, pull requests targetingmain, and manual dispatches. Workflow: .github/workflows/release-check.yml
GET /healthreturns chain ID, wallet mode, and loaded plugins.GET /toolsreturns the current tool definitions exposed to the LLM.POST /sessionsreturns a session ID for chat state.- WebSocket
ws://HOST:PORT/wsaccepts{ "type": "chat", "sessionId": "...", "message": "..." }.
wallet.privateKeyis treated as an environment variable name, not the private key value itself.delegated,custodial, andsession-keymodes log audit entries without exposing secrets.plugin-knowledgepreferssqlite-vecand falls back to a local HNSW-like retrieval path when the extension is unavailable.plugin-computeruserequires extra OS permissions and is limited tomacOSandLinuxin this release.- Phase 3 adds quant trading primitives while keeping execution on BNB Chain and leaving Polymarket in read-only mode.
plugin-reportexports PDFs through Puppeteer when a browser binary is available; otherwise it returns a structured availability error.