AgentPay is a USDC-native escrow and job settlement layer for autonomous agents, marketplaces, and external applications on Arc Testnet.
It coordinates job creation, USDC budgeting, work submission, completion, payment state tracking, ArcNS-readable identity, and read-only developer integration surfaces.
AgentPay uses a dark command-center visual system with an AP monogram, cyan/blue/violet gradient, and settlement-infrastructure motif. Brand notes and preview assets are available in docs/brand/.
Autonomous workflows need payment infrastructure that is both machine-operable and reviewable by humans:
- Agents need reliable settlement rails.
- Clients need escrow and completion confidence.
- Marketplaces need lifecycle state they can mirror.
- External systems need predictable integration surfaces.
AgentPay coordinates the lifecycle end-to-end: job creation, USDC budgeting/funding, work submission, completion, and payment-state visibility.
- Autonomous AI agents
- Agent marketplaces
- Client apps hiring agents
- Service providers
- Arc ecosystem builders
- USDC-native workflow apps
| Step | Action | Meaning |
|---|---|---|
| 1 | Create job | Client defines work |
| 2 | Fund budget | USDC budget is assigned/funded |
| 3 | Submit work | Agent/provider submits deliverable |
| 4 | Complete job | Client finalizes work |
| 5 | Track payment | State/payment activity becomes visible |
Core lifecycle states used in AgentPay MVP: Open, Funded, Submitted, Completed.
- Agent catalog (
/agents) - Create job flow (
/create-job) - Jobs dashboard (
/jobs) - Job detail page (
/jobs/[id]) - Payments/activity view (
/payments) - Developer docs page (
/docs)
- Read-only Developer API v0
- Contract + event integration model (
getJob+JobCreatedindexing) - ArcNS identity resolver integration
- Integration status endpoint
- Claim-safe metadata endpoint
- Arc Testnet execution
- USDC job/budget lifecycle
- ERC-8183-inspired job flow (tutorial-subset scope)
- RPC/event indexing with direct read fallback
- Circle Wallets verified flows where documented
- Chain-aware Circle Paymaster support model
| Endpoint | Purpose |
|---|---|
/api/health |
Health/status |
/api/metadata |
Public integration metadata |
/api/agents |
Static/demo agent catalog |
/api/jobs |
Indexed job list |
/api/jobs/[id] |
Direct job read |
/api/payments |
Derived payment activity |
/api/identity/resolve?name= |
ArcNS identity resolution |
/api/integration/status |
Claim-safe integration matrix |
API boundary (explicit):
- Read-only only
- No transaction submission
- No custody
- No signing
- No Circle mutation via public API
- No production SLA claim
Base URL:
https://agentpay-dusky.vercel.appHealth:
curl "https://agentpay-dusky.vercel.app/api/health"{
"ok": true,
"service": "AgentPay",
"environment": "Arc Testnet",
"chainId": 5042002,
"version": "0.1.0",
"readOnly": true
}Identity resolve:
curl "https://agentpay-dusky.vercel.app/api/identity/resolve?name=agentpayagent.circle"{
"ok": true,
"service": "AgentPay",
"environment": "Arc Testnet",
"chainId": 5042002,
"name": "agentpayagent.circle",
"address": "0x9c90f57b4D7DA490798AdBCA69bD878E9A10ACBC",
"source": "ArcNS resolver",
"readOnly": true
}Jobs (limit=1):
curl "https://agentpay-dusky.vercel.app/api/jobs?limit=1"{
"ok": true,
"service": "AgentPay",
"environment": "Arc Testnet",
"chainId": 5042002,
"jobs": [
{
"id": "31192",
"client": "0x1453141466d37193E27d5B82EB64B719290cD030",
"provider": "0x1453141466d37193E27d5B82EB64B719290cD030",
"status": 3,
"statusLabel": "Completed"
}
],
"count": 1,
"source": "arc-testnet-rpc",
"readOnly": true,
"indexing": {
"fromBlock": "42677950",
"latestBlock": "...",
"contract": "0x0747EEf0706327138c69792bF28Cd525089e4583",
"chunkSize": "2000",
"resultCount": 1
}
}-
Link-out integration
- Route users to
/create-job,/jobs,/payments,/agents.
- Route users to
-
Contract integration
- Call lifecycle functions directly (
createJob,setBudget,submit,complete,getJob).
- Call lifecycle functions directly (
-
Event/indexing integration
- Mirror
JobCreatedand enrich withgetJob(jobId).
- Mirror
-
ArcNS identity integration
- Resolve
.arc/.circleidentities for readability.
- Resolve
-
API integration
- Consume the read-only Developer API v0.
Future SDK/API expansion is on roadmap, but no production SDK is currently claimed.
ArcNS maps wallets to readable names and improves counterparty clarity in agent-client flows.
Examples used in this project:
agentpayclient.arcagentpayagent.circle
ArcNS is an identity/readability layer, not escrow logic.
Resolver endpoint:
https://arcns-app.vercel.app/api/v1/resolve/name/{name}
| Integration | Status | Notes |
|---|---|---|
| Arc Testnet execution | CURRENT_VERIFIED | Runtime/demo verified |
| USDC job lifecycle | CURRENT_VERIFIED | Job/budget/payment lifecycle |
| ArcNS identity | CURRENT_VERIFIED | Readable agent/client identities |
| Circle Wallets EOA flows | CURRENT_VERIFIED | Where documented/proven |
| Circle Wallets SCA creation | CURRENT_VERIFIED | Wallet creation verified |
| Gateway / Unified Balance | CURRENT_CODE_IMPLEMENTED_SPEND_ESTIMATE_VERIFIED | Code/readiness boundary |
| Circle Paymaster/Gasless | CHAIN_AWARE / NOT_CLAIMED_ON_ARC_TESTNET | Unsupported on Arc Testnet |
| Mainnet readiness | NOT_CLAIMED | Testnet MVP |
| Full ERC-8183/ERC-8004 compliance | NOT_CLAIMED | Inspired/aligned, not full compliance claim |
Paymaster boundary: Circle Paymaster / Gasless is chain-aware in AgentPay. It is available on Circle Paymaster-supported networks, while Arc Testnet is marked unsupported until Circle Paymaster support/deployment is available.
- Next.js (App Router)
- TypeScript
- wagmi
- viem
- Arc Testnet
- USDC
- ArcNS
- Circle integrations
- Tailwind CSS
src/app
src/app/api
src/app/docs
src/components
src/hooks
src/lib
src/lib/server
src/config
src/abi
docssrc/app: app routes and pagessrc/app/api: read-only Developer API v0 routessrc/lib/server: onchain read/indexing helperssrc/config: demo/config datadocs: integration guides, readiness/audit evidence, claim boundaries
npm install
npm run dev
npm run typecheck
npm run buildEnvironment guidance:
- Use
.env.exampleas the shape reference. - Keep
.env.locallocal. - Keep
.env.circle.locallocal and server-only. - Never commit secrets or private keys.
Use environment variables for safe configuration categories such as:
- Arc RPC / chain ID
- Contract addresses
- WalletConnect/project wiring (if enabled)
- Demo agent/client names and addresses
- Indexing from-block / optional to-block controls
- Server-only Circle script variables
Do not store or commit private keys, Circle API keys, or entity secrets in tracked files.
AgentPay is currently an Arc Testnet MVP.
- Mainnet readiness is NOT_CLAIMED.
- Production SDK availability is NOT_CLAIMED.
- Stable public API SLA is NOT_CLAIMED.
- Paymaster/Gasless live claim on Arc Testnet is NOT_CLAIMED.
- Full ERC-8183 compliance is NOT_CLAIMED.
- Full ERC-8004 compliance is NOT_CLAIMED.
- Developer API is read-only v0 (no write API yet).
- AgentPay API does not provide custody/signing.
- API smoke tests + sample responses
- Transaction intent API design
- SDK wrapper for contract + API reads
- Expanded developer integration examples
- Brandkit
- UI redesign mockups
- Vercel deployment
- Demo / grant packaging
Roadmap items are forward-looking and separate from current verified scope.
Live Arc Testnet MVP demo deployment:
- Live demo: https://agentpay-dusky.vercel.app
- Docs: https://agentpay-dusky.vercel.app/docs
- API health: https://agentpay-dusky.vercel.app/api/health
- GitHub: https://github.com/khenzarr/agentpay
- ArcNS app: https://arcns-app.vercel.app
- Arc Testnet explorer: https://testnet.arcscan.app
- Live demo: https://agentpay-dusky.vercel.app
