A working example of an eve agent with tools, schedules, channels, evals, and a custom web UI.
The football use case gives each part something real to do. The agent reads current fixtures and results, compares Polymarket and Kalshi prices, collects source-backed tournament facts, and settles fictitious exact-score predictions. The same agent runs on the web, Slack, and X.
- Change the agent's voice and grounding rules in
agent/instructions.md, then add channel-specific behavior inagent/instructions/surface.ts. - Add a typed tool under
agent/tools. The examples cover live data, durable state, and custom UI results. - Run background agent work from
agent/schedules, including source collection before kickoff and prediction settlement after full time. - Expose one agent through the web, Slack, and X with
agent/channels. - Test conversation behavior with live
evalsand deterministic domain logic withtest.
You need Node.js 24 or newer, pnpm, and a Vercel AI Gateway credential.
git clone https://github.com/vercel-labs/wc26cup.git
cd wc26cup
pnpm installCreate .env.local:
AI_GATEWAY_API_KEY=your_ai_gateway_key
BLOB_READ_WRITE_TOKEN=your_vercel_blob_tokenThe Blob token enables the fact memory, predictions, and X channel state. You can use VERCEL_OIDC_TOKEN instead of an AI Gateway key; pnpm exec eve link pulls it from a linked Vercel project.
pnpm devOpen http://localhost:3000, or run pnpm dev:eve for eve's terminal UI.
Useful checks:
pnpm typecheck
pnpm test:unit
pnpm exec eve eval --strict
pnpm build:eveLive evals need both credentials shown above. Unit tests and typechecking need neither. Run pnpm exec eve deploy to deploy a linked Vercel project.
Market prices are time-stamped snapshots, not forecasts or betting advice. Predictions are fictitious and involve no money.