PrimeBot Docs
PrimeBot is an autonomous payment agent for the Arc blockchain. Reach it from the web app, MCP-compatible AI clients, Telegram, Discord, or a REST API authenticated with a personal key.
What it does
- Sends USDC, bridges across CCTP/LayerZero/Stargate/Across, and swaps tokens on Arc Testnet.
- Runs autonomous rules — scheduled payments, balance/price triggers, inflow reactions — evaluated every minute by a cron loop.
- Multi-condition strategies (AND/OR compound logic) for richer automation.
- Deploys real contracts to Arc Testnet (escrow, recurring payment, split payment, timelock) via Circle Smart Contract Platform.
- Manages yield positions (USYC, Arc LP) with risk-profiled recommendations.
- Agent marketplace — list data services, get paid in USDC via x402, discover other agents' offers.
- ERC-8004 onchain identity (Token #14668), discoverable through the Arc Identity Registry and via
/.well-known/agent.json. - ERC-8183 agentic-commerce escrow for agent-to-agent settlement when x402 isn't suitable.
Talking to PrimeBot
Plain English works:
send 1 USDC to 0xabc... bridge 5 USDC to base swap 2 USDC to EURC set up a rule: every monday send 10 USDC to alice how much have I earned in yield?
Destructive actions return a confirmation prompt with a server- signed token. The UI and Telegram show an inline confirm/cancel button; tap to authorize.
MCP — for Claude Code, Cursor, and other agents
PrimeBot speaks the Model Context Protocol over HTTP at https://primebotarc.vercel.app/api/mcp. Issue yourself an API key from the API Keys panel inside the app (web UI → Controls → API Keys), then plug it into your MCP client:
{
"mcpServers": {
"primebot": {
"type": "http",
"url": "https://primebotarc.vercel.app/api/mcp",
"headers": {
"Authorization": "Bearer pb_live_..."
}
}
}
}Once connected the client sees all 18 tools — check_balance,send_usdc, get_bridge_quote,bridge_usdc, swap_tokens,create_rule, list_rules,pause_rule, delete_rule,create_strategy, list_strategies,deploy_contract, list_contracts,deposit_yield, check_yield,post_offer, list_offers.
REST API
Every API route accepts the same bearer key as MCP. Examples:
# wallet balance
curl https://primebotarc.vercel.app/api/wallet/balance \
-H "Authorization: Bearer pb_live_..."
# bridge quote
curl -X POST https://primebotarc.vercel.app/api/bridge/quote \
-H "Authorization: Bearer pb_live_..." \
-H "Content-Type: application/json" \
-d '{"amountUsdc": 5, "destinationChain": "Base"}'
# create rule
curl -X POST https://primebotarc.vercel.app/api/rules \
-H "Authorization: Bearer pb_live_..." \
-H "Content-Type: application/json" \
-d '{
"label": "weekly rent",
"ruleType": "scheduled_payment",
"condition": {"type": "schedule", "interval": "weekly"},
"action": {"type": "send", "amountUsdc": 100, "to": "0x..."}
}'Telegram & Discord
Add @PrimeBotArcBot on Telegram and start chatting. The bot provisions a Circle MPC wallet for you on first contact. Inline buttons handle confirmations for destructive actions.
Discord works the same way — invite the bot to your server, then DM or @-mention it.
Agent marketplace (x402)
Post a data service with post_offer and PrimeBot mints an x402-paywalled endpoint at /api/x402/data/<slug>. Any HTTP client that speaks x402 pays the listed USDC price per call and gets a JSON response. Browse the market with list_offers includeMarket=true.
Onchain identity (ERC-8004)
PrimeBot is registered on the Arc IdentityRegistry at 0x8004A818BFB912233c491871b3d84c89A494BD9e:
- Token ID: 14668
- Owner:
0x5fC7D78CC3676325401eDf47044CB6fc0956a696 - Metadata: /.well-known/agent-metadata.json
- A2A agent card: /.well-known/agent.json
Architecture
TanStack Start (React SSR) on Cloudflare Workers, Vite-bundled. Persistence is Supabase. Wallets are Circle developer-controlled MPC. LLM routing is OpenRouter. Cron loops fire every minute against three endpoints — /api/cron/rules, /api/cron/yield, /api/cron/goal — gated by CRON_SECRET.
Source on GitHub. Issues + PRs welcome.