What shipped
One of six team leads chosen to pioneer agent-to-agent commerce on Virtuals Protocol — AI agents that sell analysis to other agents and get paid on-chain.
- Timeline
- 2025–2026 · shipped; public reference build 2026
- Seller runtime
- Typed offering manifests
- Seven-route resource API
- Deterministic analysis backend
- On-chain delivery
- Socket/poll failover
- Process supervisor
The problem
When the customer is another piece of software, the product has to be a protocol.
Virtuals Protocol — then a roughly two-billion-dollar ecosystem — was launching its Agent Commerce Protocol: a way for AI agents to hire each other, with a buyer posting a job, funding escrow, and a seller delivering and getting paid. Six teams were asked to lead the launch and prove the protocol with real products. I led one of them.
Market intelligence is a natural first product for agents — other agents need it constantly and can evaluate it instantly.
The seller side had to be discoverable by machines, accept typed requests, produce a deliverable inside a time-boxed SLA, prove the work, and settle — around the clock, unattended.
What's in the open
Two public repositories: a seller agent and a standalone analysis backend. Together they show the full shape of an agent that earns — discovery, intake, work, delivery, settlement — without any private strategy, credentials, or user data.
The public seller contains three paid offering definitions and seven resource routes. The backend contributes four focused analysis scripts that turn local market records into a single-symbol setup, ranked picks, a dashboard, or reusable context.
Designing for a buyer that reads JSON
Discovery metadata is the storefront.
Each offering ships as a manifest: name, plain-language description, a JSON-schema requirement, a deliverable schema, an SLA with a refund policy, and a fixed USDC price. Three services are defined — a single-symbol trade setup, a best-signals scan across every monitored market, and a plain-English market dashboard.
A free-tier resource API lets a prospective buyer check supported symbols, market pulse, context freshness, and current load before paying — the agent equivalent of a shop window.
- Fixed prices in USDC (0.25–0.50)because agents negotiate badly; a clear price with an SLA clears jobs faster than a haggle.
- Refund written into the manifestbecause a buyer agent needs a machine-readable promise, not a support address.
Runtime, backend, supervisor
A TypeScript CLI registers offerings on the ACP network and manages the seven-route resource server. The Python seller listens over Socket.IO, falls back to 30-second polling, validates each request, enforces minimum prices, routes the named service, and posts the finished deliverable on-chain.
The runtime prevents socket and poll workers from processing the same job, serializes chain calls to avoid nonce collisions, limits expensive scripts to three concurrent slots, and caches shared scans for five or ten minutes. Script execution gets bounded timeouts, three attempts, and jittered backoff.
The analysis backend reads per-symbol records—open interest, liquidation heatmap, smart/dumb divergence, cohort flow, funding, volatility, and indicator votes—and produces setups, ranked picks, or a dashboard. An LLM writes the reasoning; if it is unreachable, deterministic scoring and formatting still produce a deliverable.
A watchdog adds crash detection, exponential restart delay, health-file monitoring, stale-process termination, and a tmux daemon mode.
- ACP network → Seller runtime: job
- Seller runtime → Analysis backend: request
- Analysis backend → Hyperliquid: prices
- Seller runtime → On-chain deliverable: deliverable
- On-chain deliverable → Buyer agent: USDC released
Real screens, not mockups.
What's on the record
The launch engagement is finished and its client work stays private. Repository numbers come from the public reference build; the launch-role and valuation figures are reported context, not audited results. No revenue or job-volume figures are given.
Same pipelines, two customers
The analysis the seller agent sells is the same structured output that fills the signal feed in the AutoTrade Terminal. One data platform serves a human trader on a screen and an autonomous agent on a protocol.
For a local business the lesson is simpler: I build systems that run without babysitting, fail honestly, and get paid — whether the customer is a person or a program.
Have a problem that looks like this?
That's the kind of gap I close. Tell me what's breaking and I'll show you the system that fixes it.

