Arc Suite — AI Agent Infrastructure for the Onchain Economy

Three interconnected applications built on Arc and Circle — demonstrating what the agentic economy looks like when AI agents can spend, earn trust, and pay for services autonomously using USDC.

Built with Next.js 16, TypeScript, Tailwind CSS v4, shadcn/ui v4, and the Arc / Circle SDK.
TypeScript 90,3%
CSS 6,7%
JavaScript 3%

Live Demos

App

URL

Description

💰 Arc Treasury

treasury-umber.vercel.app

Budget manager for AI agent wallets

🛡️ Arc Reputation

reputation-five.vercel.app

On-chain trust scoring layer for agents

🛒 Arc Marketplace

marketplace-eosin-eight.vercel.app

Discovery platform for x402-enabled APIs

The Story

Three AI agents — DataHarvester-Pro, TradeBot-Alpha, and IoT-Gateway-01 — exist across all three apps. Follow their journey:
  1. Treasury: TradeBot-Alpha has consumed 95% of its monthly budget and triggered 3 critical alerts.
  2. Reputation: TradeBot-Alpha's trust score is declining (-23 pts in 30 days, tier: Gold).
  3. Marketplace: A premium data API rejects TradeBot-Alpha — trust score 812 is below the required threshold of 850.
This is the enforcement loop: spend drives behavior, behavior drives reputation, reputation gates access.

Apps

💰 Arc Treasury — Agent Budget Manager

/treasury · Live

A B2B dashboard for teams deploying AI agents on Arc. Treasury gives operators full visibility and control over every USDC spent by every agent.

Key features:
  • Real-time dashboard with spend-over-time charts, category breakdowns, and live transaction ticker
  • Per-agent budget controls — monthly limits, daily caps, auto-pause on breach
  • Critical alert system with Slack/webhook notifications
  • Transaction history with full categorization (API calls, swaps, compute, storage, bridge)
  • Expense reports with CSV export
  • Multi-network support (Arc Testnet, Ethereum Sepolia)
  • New agent onboarding modal with wallet creation via Circle Developer Controlled Wallets
Pages: Dashboard · Agents · Transactions · Budgets & Alerts · Reports · Settings


🛡️ Arc Reputation — Agent Trust Layer

/reputation · Live

A trust oracle for AI agents. Every on-chain transaction, dispute, and response-time measurement feeds into a 0–1000 score across 5 dimensions. APIs and services can query this score in real time to gate access — no subscriptions, no manual verification.

Key features:
  • Live leaderboard with 7-day sparklines, tier badges, and search/filter
  • Five-dimension score breakdown: Payment History, Volume Consistency, Response Time, Dispute Record, Account Age
  • payment_denied events — showing when agents are blocked due to low trust
  • Compare page: side-by-side score breakdown, metrics table, and sparklines for any two agents
  • Agent detail pages with full event history and API code snippet
  • Trust tier system: Platinum → Gold → Silver → Bronze → New
  • Developer docs with 5 API endpoints, 3 integration patterns, and webhook reference
  • Real-time event feed (score changes, disputes, fast-response streaks)
Pages: Leaderboard · Agents · Agent Detail · Compare · Events · Tiers · Reports · Docs · Settings

API Reference (preview):
GET /v1/agents/:id # Full reputation profile POST /v1/agents/batch # Query up to 100 agents GET /v1/agents/:id/history # Score history (N days) GET /v1/leaderboard # Top 100 ranked agents POST /v1/webhooks # Subscribe to score events


🛒 Arc Marketplace — x402 API Discovery

/marketplace · Live

A discovery platform for APIs that accept payments via the x402 protocol — pay per request with USDC, no subscriptions, no accounts. Built for the agentic economy where software pays software autonomously.

Key features:
  • Browse 16+ live APIs across 8 categories (Finance, AI/LLM, Data, Identity, Storage, Compute, Oracles, Messaging)
  • Full-text search with sort by rating, volume, uptime, and price
  • 7-day request volume sparklines on every API card
  • Featured APIs section with editor's picks
  • API detail pages with TypeScript code snippets, reviews, SLA stats, and pricing sidebar
  • Provider profiles with trust scores and portfolio
  • Submit API form — list your x402-enabled endpoint in minutes
  • Analytics dashboard: request volumes by category, uptime comparison, top-rated APIs
  • x402 protocol explainer page
Pages: Browse · API Detail · Categories · Providers · Provider Detail · Analytics · x402 · Submit

Monorepo Structure

arc/
├── treasury/ # Next.js app — Agent Budget Manager
├── reputation/ # Next.js app — Agent Trust Layer
├── marketplace/ # Next.js app — x402 API Marketplace
├── package.json # Workspace root
└── README.md

Each app is an independent Next.js 16 project sharing:
  • Design system: Space Grotesk font, Arc dark theme, ArcButton, ArcProgress, StatCard, PageHeader
  • EcosystemNav: top bar linking all three apps together
  • LiveTicker: animated real-time event feed in each app's header

Tech Stack

Layer

Technology

Framework

Next.js 16 (App Router, static export)

Language

TypeScript 5

Styling

Tailwind CSS v4 + shadcn/ui v4

UI Primitives

@base-ui/react

Charts

Recharts 3

Icons

Lucide React

Fonts

Space Grotesk + Space Mono

Blockchain

Arc Testnet (Chain ID: 5042002, USDC as gas)

Payments

x402 protocol + Circle USDC

Wallet SDK

@circle-fin/developer-controlled-wallets

Deploy

Vercel

Getting Started

Prerequisites

  • Node.js 22+
  • npm 10+

Pilot API database

The landing app exposes the Arc Suite pilot API. By default it uses the bundled demo seed. To switch it to Supabase/Postgres, run:
-- Supabase SQL Editor or Supabase CLI
landing/supabase/migrations/2026060201_arc_pilot_schema.sql
landing/supabase/migrations/2026060202_workspace_auth.sql
landing/supabase/migrations/2026060501_analytics_events.sql
landing/supabase/migrations/2026060502_investor_leads.sql
landing/supabase/migrations/2026060601_rate_limit_events.sql
landing/supabase/seed.sql

Then configure the landing deployment:
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_SERVICE_ROLE_KEY=...
ARC_WORKSPACE_ID=wrk_arc_demo
ARC_ANALYTICS_SALT=...
CRON_SECRET=...

When these env vars are present, /api/pilot/summary, /api/agents, /api/transactions, /api/reputation/:agentId, and /api/access/check read from Supabase. If Supabase is unavailable, the API falls back to demo seed data. /api/health reports whether the API is using Supabase or seed data. Protected/api/readiness verifies required Supabase tables for production operation. Protected /api/ops/rate-limits/cleanup removes old rate-limit buckets; Vercel Cron runs it daily when CRON_SECRET is configured.

Conversion analytics are captured through /api/analytics/events and summarized through protected /api/analytics/summary. The tracked funnel events are demo, investor page, GitHub, X, and Treasury access-check interactions.

Investor CRM light is captured through /api/leads and listed through protected GET /api/leads. Leads store the same anonymous/session ids used by analytics. Public lead, analytics, and access-check endpoints are rate-limited. Leads also include an invisible honeypot field to filter simple bot submissions.


Run locally

# Clone
git clone https://github.com/maksutovdesign/arc.git
cd arc

# Install all workspaces
npm install

# Verify all apps
npm run lint:all
npm run build:all
npm run test:smoke
npm run monitor:prod

# Run each app (separate terminals)
npm run dev --workspace=landing # → http://localhost:3000
npm run dev --workspace=treasury # → http://localhost:3001
npm run dev --workspace=reputation # → http://localhost:3002
npm run dev --workspace=marketplace # → http://localhost:3003

monitor:prod checks production health, Supabase data source, readiness access guards, CORS preflight, security headers, and the four public app surfaces. GitHub Actions also runs this monitor every 30 minutes through Arc Suite Production Monitor. The monitor records per-check latency, writes a Markdown run summary in GitHub Actions, warns above ARC_MONITOR_LATENCY_WARN_MS (default 5000) and fails aboveARC_MONITOR_LATENCY_FAIL_MS (default 15000).

When that monitor fails, it can notify Slack and Sentry. Add either or both GitHub repository secrets:
  • ARC_SLACK_WEBHOOK_URL or SLACK_WEBHOOK_URL for a Slack Incoming Webhook.
  • ARC_SENTRY_DSN or SENTRY_DSN for a Sentry project DSN.
The notifier is dependency-free and skips missing sinks, so the workflow stays usable before alert destinations are configured. To test delivery without breaking production, run Arc Suite Production Monitor manually from GitHub Actions with send_test_alert=true.

Runtime Sentry is configured in all Next.js apps with @sentry/nextjs. Set NEXT_PUBLIC_SENTRY_DSN in Vercel for browser errors, and SENTRY_DSN or ARC_SENTRY_DSN for server/API errors. Optional source map upload usesSENTRY_AUTH_TOKEN, SENTRY_ORG, and SENTRY_PROJECT. Landing also exposes a protected POST /api/ops/sentry-test endpoint for manual runtime verification.


Deploy to Vercel

# Install Vercel CLI
npm i -g vercel

# Deploy Treasury
cd treasury && vercel --prod

# Deploy Reputation
cd ../reputation && vercel --prod

# Deploy Marketplace
cd ../marketplace && vercel --prod

Integrating with Arc

To connect to the real Arc Testnet, add these environment variables to each app:

# Circle / Arc
CIRCLE_API_KEY=sk_live_...
CIRCLE_ENTITY_SECRET=...

# Arc Testnet RPC
NEXT_PUBLIC_ARC_RPC=https://rpc.testnet.arc.network
NEXT_PUBLIC_ARC_CHAIN_ID=5042002

# x402 signing key (Marketplace)
X402_PRIVATE_KEY=0x...

Arc Testnet parameters:

Built for Arc/Circle

These apps were designed to showcase the Arc ecosystem to the Arc community and Circle team — demonstrating three complementary products that together form an infrastructure layer for the agentic economy:
  • Treasury answers: "How do I control what my agents spend?"
  • Reputation answers: "How do I know which agents I can trust?"
  • Marketplace answers: "Where do agents find services to pay for?"

Arc Suite MVP: Investor CRM + Analytics

This release turns the product landing into a measurable pilot funnel connected to the live Arc Suite backend.
Highlights
  • Added a Request pilot / Contact us form on the product landing page.
  • Stores investor and pilot leads in Supabase through POST /api/leads.
  • Links every lead to the same anonymous/session ids used by conversion analytics.
  • Added protected GET /api/leads for operator/investor CRM views.
  • Added investor lead metrics and recent lead rows to the analytics dashboard.
  • Applied Supabase migration 2026060502_investor_leads.sql.
  • Deployed production alias: https://arcsuite-app.vercel.app

Verification
  • Production health: schemaVersion: 2026-06-05.2, dataSource: supabase.
  • Production lead capture smoke test returned stored: true.
  • Supabase confirmed the lead and matching lead_created analytics event for the same session.

Commit
  • 9419583 Add investor CRM lead capture

Arc Suite Code Review Fixes

Comprehensive code review fixes across all three apps (Treasury, Reputation, Marketplace).

Fixes

Data Consistency
  • Fix score breakdown model: 5 dimensions × 200 = 1000 (was 5 × 250 = 1250)
  • Derive STATS from real mock data instead of hardcoded values
  • Fix treasury "Total settled" to only count completed transactions
  • Fix SPEND_OVER_TIME calendar (missing May 29, wrong day-of-week labels)
  • Fix marketplace API/provider counts to match actual data
UI & UX
  • Fix ArcProgress inverted color semantics (high = good for trust scores)
  • Fix Compare page: winner gets 🥇, proper tie handling, no self-comparison
  • Fix payment_denied events (delta 0) showing green → neutral gray
  • Fix events sorted by timestamp in Reputation
  • Fix invalid <Link><button> HTML nesting across Marketplace
  • Fix wrong category icons (HardDrive, Radio, MessageSquare)
  • Add type="button" default to ArcButton (prevents accidental form submits)
Forms & Validation
  • Add client-side validation to Marketplace API submit form
  • Add validation to Treasury NewAgentModal (name + budget required)
  • Add CopyButton component for API endpoint copying
Infrastructure
  • Fix EcosystemNav: env-var URLs with production fallbacks, current app not clickable
  • Fix render-blocking Google Fonts import in all apps
  • Fix broken --font-mono CSS variable
  • Fix BarChart axis/tooltip labels
Dead Code Removal
  • Remove ~2,500 lines of unused shadcn/ui components
  • Remove unused dependencies (circle SDK, date-fns)
  • Remove dead AgentSparkline, PageHeader, StatCard components

v1.1.0 — Arc Testnet Settlement

Arc Suite now executes a real, policy-gated USDC settlement on Arc Testnet instead of stopping at a simulated access decision.
End-to-end settlement
  • Runs the agent and API access policy before any transfer.
  • Sends USDC through Circle Developer-Controlled Wallets.
  • Waits for onchain confirmation and records the transaction hash.
  • Persists the settlement and transaction in Supabase.
  • Updates Treasury spending, wallet balance, and transaction history.
  • Updates the agent Reputation score and event timeline.
  • Protects retries with idempotency keys to prevent duplicate payments.
Verified on Arc Testnet
Product updates
  • Added the Arc Settlement panel to Treasury agent details.
  • Added live Arcscan links to Treasury transactions.
  • Added live Arc settlement events and explorer links to Reputation.
  • Connected Marketplace, Treasury, and Reputation to the current production backend.
  • Improved mobile agent details and horizontally scrollable data tables.
  • Updated the arcsuite-app.vercel.app alias to the current production deployment.
Security and reliability
  • Transfers require a write-scoped API key and authenticated Treasury admin session.
  • Recipients are restricted by a server-side allowlist.
  • Transfer amount is capped server-side.
  • Settlement finalization is atomic in Supabase.
  • Circle credentials and Entity Secret remain encrypted in Vercel.
  • Recovery and local operational files are not committed to Git.
Validation
  • npm run lint:all
  • npm run build:all
  • npm run test:smoke — 5/5 passed
  • Production health checks passed for Landing, Treasury, Reputation, and Marketplace.

Другие проекты GitHub

Проекты

Кейсы

Портфолио и услуги