AgentStart.-.From.zero.crypto.to.your.first.AI.agent.-.13.August.2026.mp4
From zero crypto to your first useful AI agent.
AgentStart onboards ordinary users into the Agent Economy. No wallets, no gas, no seed phrases. Users pick a useful AI agent, set a weekly budget, and get results β while every payment is a real on-chain transaction executed by KeeperHub on Base Sepolia.
π Built for the KeeperHub β Agents Onchain Hackathon
AI agents are powerful, but inaccessible to ordinary people:
- β No crypto wallet
- β Don't understand gas fees
- β Can't verify what agents actually did
- β No control over spending
AgentStart hides all blockchain complexity behind a simple flow:
User: "I want today's crypto market summary"
β
AgentStart: shows agents with clear prices
β
User: picks Research Agent ($0.05) β sets $1/week budget
β
AgentStart: charges via KeeperHub (real on-chain tx)
β
Agent: executes with real-time data (CoinGecko)
β
User: gets result + on-chain receipt (BaseScan link)
The user never sees: wallets, gas, RPC endpoints, approvals. The user always sees: prices, results, receipts, remaining budget.
| Agent | Price | What it does |
|---|---|---|
| π Research Agent | $0.05 | Crypto market summary: top coins, global market cap, Fear & Greed, trending |
| π° News Agent | $0.03 | Market-moving analysis: top gainer/loser, trending coins, sentiment |
| π Price Alert Agent | $0.02 | Price alerts with live CoinGecko prices and parsed targets |
All agents use real-time data (CoinGecko + Alternative.me). No mocks.
Users don't need wallets or crypto. KeeperHub manages a Turnkey EOA wallet. Users just pick an agent and pay per request.
Every request is charged via KeeperHub POST /execute/transfer on Base Sepolia (84532).
Users get the transaction hash and a BaseScan link β full proof of payment.
- Simulation first:
simulate: truedry-run before every broadcast - Idempotency-Key on all POSTs (no double charges)
- Polling with
X-Poll-Interval-Hintrespect - Rate limiting on the execute endpoint
- Zod validation on all API inputs
- Weekly budget (default $1/week), enforced before every execution (HTTP 402)
- Spending dashboard: spent / remaining / progress bar
- Analytics: spending by agent (pie) + timeline (bar) via Recharts
- Transaction history with on-chain receipts (shareable pages)
- CSV export of all transactions
- 100% TypeScript, Next.js 14 App Router
- Unit tests (Vitest) + GitHub Actions CI (typecheck, lint, format, test, build)
- Structured logging (Pino), HTTP client with retry (ky)
- React Query caching, Framer Motion live price ticker
- Accessibility (skip link, focus rings), Inter font, OG image
- 404 / error pages, skeletons, toasts, step-by-step payment indicator
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AgentStart UI β
β Next.js 14 + Tailwind + Recharts + Framer β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β API Routes β
β /api/agents /api/execute /api/budget /api/prices β
β /api/health β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β AgentStart Core β
β Agent Registry β Budget Check β KeeperHub Charge β Exec β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β KeeperHub API β
β POST /execute/transfer (simulate first) β
β GET /execute/{id}/status (X-Poll-Interval-Hint) β
β GET /user/wallet (Turnkey EOA) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Base Sepolia (chainId: 84532) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
External data: CoinGecko API + Alternative.me Fear & Greed Index
Client persistence: localStorage (budget + receipts)
| Layer | Technology |
|---|---|
| Frontend | Next.js 14 (App Router), React 18, Tailwind CSS |
| Charts / Motion | Recharts, Framer Motion |
| State / Data | @tanstack/react-query, sonner |
| Backend | Next.js API Routes (TypeScript) |
| On-chain | KeeperHub Direct Execution API β Base Sepolia |
| Wallet | Turnkey EOA (managed by KeeperHub) |
| Validation | Zod |
| HTTP | ky (retry + timeout) |
| Logging | Pino |
| Tests | Vitest |
| Quality | ESLint + Prettier (+ tailwind plugin), GitHub Actions |
| Deploy | Vercel |
- Node.js 18+
- KeeperHub account + organization API key (
kh_...)
git clone https://github.com/YOUR_USERNAME/agentstart.git
cd agentstart
npm install
cp .env.example .env
# add your KEEPERHUB_API_KEY to .env
npm run devnpm run dev # development server
npm run build # production build
npm run start # production server
npm run test # unit tests (Vitest)
npm run check # typecheck + lint + format check
npm run m0 # M0 proof: KeeperHub transfer (simulation + broadcast)
npm run m0:simulate # M0 proof: simulation only
npm run m1 # M1 proof: Research Agent + payment E2E| Variable | Description | Default |
|---|---|---|
KEEPERHUB_API_KEY |
KeeperHub organization API key | required |
KEEPERHUB_BASE_URL |
KeeperHub API base | https://app.keeperhub.com/api |
CHAIN_ID |
Target chain | 84532 (Base Sepolia) |
agentstart/
βββ app/ # Next.js App Router
β βββ page.tsx # homepage (hero + how it works)
β βββ agents/ # catalog + agent detail (pay & run)
β βββ budget/ # spending dashboard + analytics
β βββ receipt/[id]/ # shareable on-chain receipts
β βββ api/ # agents / execute / budget / prices / health
βββ components/ # providers, PriceTicker, SpendingChart, ShareButton
βββ src/
β βββ agents/ # Research / News / PriceAlert agents + registry
β βββ budget/ # server budget store + tests
β βββ payments/ # KeeperHub payment module
β βββ core/ # AgentStart orchestration
β βββ lib/ # utils, errors, logger, schemas, crypto-api,
β # rate-limit, csv, budget-client (localStorage)
βββ scripts/ # m0.ts / m1.ts proof scripts
βββ docs/ # demo-script.md, submission.md
βββ context/ + tasks/ # project docs & milestone tracking
βββ .github/workflows/ci.yml # CI: typecheck, lint, format, test, build
AgentStart uses KeeperHub as its onchain execution layer:
GET /user/walletβ resolve the org's Turnkey EOA addressPOST /execute/transferβ charge the user per request- always simulate first (
simulate: true), then broadcast the same body Idempotency-Keyheader prevents double execution
- always simulate first (
GET /execute/{executionId}/statusβ poll untilcompleted- respects
X-Poll-Interval-Hint
- respects
- All transactions on Base Sepolia (chainId
84532), verifiable on BaseScan
| # | Milestone | Status |
|---|---|---|
| M0 | KeeperHub on-chain proof (zero-value self-transfer) | β Closed |
| M1 | Research Agent + payment flow | β Closed |
| M2 | AgentStart onboarding UI (Next.js) | β Closed |
| M3 | Spending budget + transparency | β Closed |
| M4 | Production polish / demo / submission | β Closed |
npm run test # unit tests: budget store, utils, csv
npm run check # typecheck + lint + formatCI runs the full quality gate on every push (see .github/workflows/ci.yml).
Deployed on Vercel. Required env var: KEEPERHUB_API_KEY.
The budget & receipts persist in the browser (localStorage), so the demo works without a database. The on-chain source of truth is Base Sepolia via KeeperHub.
- More agents (trading, portfolio, news digests via LLM)
- KeeperHub spending caps integration (on-chain budget enforcement)
- Multi-chain support
- User accounts + persistent database
- Mobile app
MIT