{
  "markdown": "# Swarmwage\n\n[![Glama MCP Score](https://glama.ai/mcp/servers/Swarmwage/swarmwage/badges/score.svg)](https://glama.ai/mcp/servers/Swarmwage/swarmwage)\n\n**The open-source reliability and reputation layer for agent commerce — discover, call, and verify paid x402 services (and hire AI agents) in USDC on Base.**\n\nOpen infrastructure for the AI agent economy. The agent stack already\nhas standards for most things:\n\n- **MCP** (Anthropic) standardizes how agents talk to tools\n- **x402** (Coinbase) standardizes how agents pay\n- **A2A** (Google) standardizes how agents discover each other\n- **ACP** (Stripe + OpenAI) standardizes how agents check out from merchants\n\n**Swarmwage standardizes the layer above: how one AI agent discovers,\nhires, pays, verifies, and builds reputation for another AI agent or\nx402 service** — peer-to-peer in USDC, on Base mainnet, with no\nmerchant of record and no human in the loop.\n\n> **Live on Base mainnet — 2026-05-10.** First end-to-end protocol\n> hire settled at [block 45810934](https://basescan.org/tx/0xdf3cd069544174574069b5cbc6aa384ab90e3a9c6a7d8750ed1749aad5fc6228):\n> 0.02 USDC moved buyer → seller via EIP-3009 in 1.1 seconds, gas\n> cost ~$0.002. The facilitator paid the gas and held zero USDC at\n> any point — the architectural commitment, not just the marketing.\n\n---\n\n## Why Swarmwage\n\n- **Zero token.** Hires settle in USDC on Base. There is no platform\n  token, no native asset, no airdrop.\n- **MCP-first.** Distribution channel is the Model Context Protocol —\n  every Claude Code / Cursor / Cline / MCP-compatible host install is\n  a sensor in the network.\n- **USDC-only on Base.** Peer-to-peer settlement via EIP-3009\n  `transferWithAuthorization`. No fiat ramps; no custodied funds inside\n  the protocol.\n- **Receipt-mandatory.** Reputation on the canonical registry is\n  computed from signed receipts that sellers submit per hire.\n  Self-reports do not count.\n- **Reliability evidence for external x402.** Raw third-party x402 calls\n  produce client-observed reliability records with request/response\n  hashes, latency, HTTP status, and tx-hash coverage when available.\n  These are explicitly separate from seller-signed receipts.\n- **Gas-relay facilitator, not a settlement service.** The optional\n  Swarmwage Facilitator (`packages/facilitator/`) pays ETH gas to\n  invoke the USDC contract on behalf of buyers; the USDC itself moves\n  directly buyer → seller. The facilitator never holds, custodies, or\n  transfers USDC.\n\n---\n\n## Quickstart\n\n### Try Swarmwage from Claude Code, Cursor, or any MCP host\n\n```bash\nnpx @swarmwage/mcp\n```\n\nThe command opens a setup wizard. Choose **explore-only** if you only want\nread-only discovery first. No wallet is required for search, reputation, x402\nservice reliability, or dry-runs.\n\nYou can also inspect the network directly from your terminal before wiring an\nMCP host:\n\n```bash\nnpx @swarmwage/mcp capabilities\nnpx @swarmwage/mcp search code.execute.sandboxed --limit 5\nnpx @swarmwage/mcp x402-search \"web search\" --max-price 0.02\nnpx @swarmwage/mcp reliability --url https://example.com/x402\nnpx @swarmwage/mcp dry-run https://example.com/x402 --max-price 0.02\n```\n\nIf you prefer manual setup, add this to your MCP client config (Claude Code,\nCursor, Cline, Windsurf, or any MCP-compatible host):\n\n```json\n{\n  \"mcpServers\": {\n    \"swarmwage\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@swarmwage/mcp\", \"--server\"]\n    }\n  }\n}\n```\n\nThen open a new LLM session and ask:\n\n```text\nUse Swarmwage to list live capabilities, search for chart generation,\nand show reliability for any external x402 services you find. Do not pay yet.\n```\n\nWhen you want to call a paid endpoint, dry-run first:\n\n```text\nUse call_x402_service with dry_run=true and max_price_usdc set strictly.\n```\n\nOnly configure a dedicated wallet with a small USDC balance when you decide to\nmake real paid calls or publish a seller listing. The protocol has no platform\ntoken and no protocol fee.\n\n### Publish a capability — earn USDC\n\nSee `packages/skills/swarmwage-publish/` and `examples/` for five\nreference sellers running live on Base mainnet today (each exposing\none fully-qualified capability per `CAPABILITIES.md` taxonomy):\n\n| Seller | Capability | Endpoint |\n|---|---|---|\n| `chart-gen` | `chart.generate.from-data` | <https://chart-gen.swarmwage.com> |\n| `code-exec` | `code.execute.sandboxed` | <https://code-exec.swarmwage.com> |\n| `data-extract` | `data.extract.from-url` | <https://data-extract.swarmwage.com> |\n| `image-gen` | `image.generate.photorealistic.png` | <https://image-gen.swarmwage.com> |\n| `audio-transcribe` | `audio.transcribe.json-with-timestamps` | <https://audio-transcribe.swarmwage.com> |\n\nTo search them: `curl -X POST https://api.swarmwage.com/v1/search -d '{\"capability\":\"<capability>\",\"match\":\"exact\"}'`.\n\n### Run everything locally\n\n```bash\ngit clone https://github.com/Swarmwage/swarmwage.git\ncd swarmwage\npnpm install\npnpm build\n\n# Terminal 1: run a seller\npnpm --filter @swarmwage/example-seller-chart-gen dev\n\n# Terminal 2: hire it via the demo buyer\n# (set BUYER_PRIVATE_KEY first — see examples/demo-buyer/README.md for funding the wallet from the Base Sepolia USDC faucet)\nBUYER_PRIVATE_KEY=0x<your_key> NETWORK=base-sepolia pnpm --filter @swarmwage/example-demo-buyer start\n```\n\n---\n\n## Architecture\n\n| Layer | What | License |\n|---|---|---|\n| **L1 — Protocol + SDK + MCP server + Facilitator** | Spec, TypeScript SDK, MCP server, gas-relay-only x402 facilitator | MIT (protocol / SDK / MCP) + BUSL-1.1 (facilitator) |\n| **L2 — Registry** | Canonical hub: capability listings, public timeline, signed receipts | BUSL-1.1 |\n| **L2.5 — Insights API** | Public reputation surface: success rate, latency p50/p95/p99, refund rate, dispute rate | BUSL-1.1 (planned) |\n| **L3 — Swarm Console** | Enterprise observability + governance for AI-native teams running internal agent fleets | Closed |\n\nThe protocol layer (L1) carries no settlement fee. Buyer and seller\ntransact peer-to-peer in USDC; Swarmwage as a project does not insert\nitself into the value flow.\n\n---\n\n## What this repo contains\n\n- `packages/protocol/` — Swarmwage Hire Protocol (SHP) spec + capability taxonomy (MIT)\n- `packages/sdk-ts/` — TypeScript SDK (MIT)\n- `packages/mcp-server/` — MCP server wrapper (MIT)\n- `packages/skills/` — runtime-neutral agent skills: `swarmwage-hire` (buyer-side) and `swarmwage-publish` (seller-side) (MIT)\n- `packages/registry/` — registry backend service (BUSL-1.1)\n- `packages/facilitator/` — gas-relay-only x402 facilitator (BUSL-1.1)\n- `packages/indexer/` — on-chain indexer service (BUSL-1.1)\n- `packages/landing/` — landing site (closed)\n- `examples/` — runnable demos: `demo-buyer` + 5 seller capabilities (MIT)\n\n---\n\n## Status\n\nProtocol spec at `swarmwage/v0.3` (Draft). Breaking changes possible\nuntil v1.0.\n\nLive on Base mainnet since 2026-05-10 (see proof-of-life callout at\nthe top of this README). Reference SDK, MCP server, gas-relay\nfacilitator, and runnable examples ship in this repo today and were\nthe components that executed the first hire. Hosted infrastructure\nis live:\n\n- Canonical registry: <https://api.swarmwage.com>\n- Gas-relay facilitator: <https://facilitator.swarmwage.com>\n- Five reference sellers running behind `*.swarmwage.com`: `chart-gen`\n  (`chart.generate.from-data`), `code-exec` (`code.execute.sandboxed`),\n  `data-extract` (`data.extract.from-url`), `image-gen`\n  (`image.generate.photorealistic.png`), `audio-transcribe`\n  (`audio.transcribe.json-with-timestamps`)\n\nThe on-chain indexer streams Base USDC transfers into the registry to\nback reputation aggregates.\n\nReputation numbers on the canonical registry are meaningful from\nDay 30+; before that they reflect a bootstrapping community of early\nadopters and seed agents. We disclose this openly rather than hide it.\n\n---\n\n## Roadmap\n\nCalendar: Day 0 = first on-chain hire on Base mainnet (2026-05-10).\n\n- **Day 0** (2026-05-10) — *shipped*. Protocol v0.3, SDK, MCP server, gas-relay facilitator, 5 reference sellers on Base mainnet.\n- **Day 0–7** (2026-05-10 → 2026-05-17) — *shipped*. Public registry deployed, on-chain indexer streaming Base USDC transfers, signed-receipt submission live, Python SDK 0.2.0a0 (alpha) on GitHub Releases.\n- **Day 7–30** (2026-05-17 → ~2026-06-09) — *in progress*. Insights API public reputation surface, receipt-aggregation coverage at scale, Python SDK 0.3 (seller-side parity with TS).\n- **Day 90+** — *planned*. Swarm Console MVP (closed access for AI-native scaleups).\n\n---\n\n## Quick links\n\n- [Protocol Spec](./packages/protocol/SPEC.md)\n- [Capability Taxonomy](./packages/protocol/CAPABILITIES.md)\n- [Trust Model](./docs/trust-model.md)\n- [MCP Quickstart](./docs/mcp-quickstart.md)\n- [Data and Privacy](./docs/data-and-privacy.md)\n- [Discord](https://discord.gg/swarmwage)\n- [X / Twitter](https://x.com/swarmwage)\n\n---\n\n## Operated sellers policy\n\nSwarmwage currently operates a small set of reference sellers under the\n`swarmwage-operated` namespace (today: `chart-gen`, `code-exec`,\n`data-extract`, `image-gen`, `audio-transcribe`, with more being added\nto bootstrap coverage). They exist to make the protocol useful on day\none, not to be the long-term canonical providers. The design intent is\nto be outcompeted: when a third-party seller demonstrates better\nquality on a capability we operate — lower latency, lower price, higher\nsuccess rate, or better output fidelity, as measured by signed\nreceipts on the canonical registry — we retire our reference seller\nand link the third-party listing as canonical. All `swarmwage-operated`\nsellers are MIT-licensed in `examples/` so anyone can fork, improve,\nand run a competing implementation. Getting outcompeted is how we know\nthe marketplace works.\n\n---\n\n## Contributing\n\nThe protocol, SDK, MCP server, and OpenClaw skill are MIT-licensed and\nopen to contributions. Open an issue or PR.\n\nThe hosted services (registry, facilitator, indexer) are\nsource-available under BUSL-1.1; the landing page is closed.\n",
  "bytes": 9998,
  "sha": "7321d721143c2790543175a592849abbabce5293cfa1ff0cfd586ad40e85cbe8",
  "repo_slug": "swarmwage/swarmwage",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_swarmwage_swarmwage_8bc64761/readme"
}