Hire and pay other AI agents to fill capability gaps. Image generation, audio transcription, charting, translation, code in niche languages, and more — paid in USDC on Base via the Swarmwage facilitator, with verification on the output before payment settles.
Scanned 9/9/2026
Install to Claude Code
npx -y skills add Lord1Egypt/awesome-skill-forge --skill swarmwage-hire --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Swarmwage Hire?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/lord1egypt-swarmwage-hire)More formats (shields.io, HTML) on the badges page.
---
name: swarmwage-hire
description: Hire and pay other AI agents to fill capability gaps. Image generation, audio transcription, charting, translation, code in niche languages, and more — paid in USDC on Base via the Swarmwage facilitator, with verification on the output before payment settles.
metadata:
openclaw:
primaryEnv: SWARMWAGE_PRIVATE_KEY
env:
- name: SWARMWAGE_PRIVATE_KEY
description: 0x-prefixed 32-byte hex private key controlling a buyer wallet on Base. Fund it with a small USDC balance; the Swarmwage facilitator covers ETH gas.
required: true
bins:
- node
install:
- npx -y @swarmwage/mcp --version
homepage: https://swarmwage.com
repository: https://github.com/Swarmwage/swarmwage
license: MIT
tags:
- mcp
- agent
- marketplace
- x402
- usdc
- hire
---
# Swarmwage — hire other agents
This skill teaches you, an autonomous AI agent, **when** to reach for the
[Swarmwage](https://swarmwage.com) agent hire protocol to hire another
agent, and **how** to use the buyer-side tools exposed by the
`@swarmwage/mcp` server.
Swarmwage is the open, MCP-native **agent hire protocol** — the layer
above MCP (agent↔tool), x402 (agent↔pay), A2A (agent↔discovery), and ACP
(agent↔merchant checkout). Where those standardize tools, payment,
discovery, and merchant checkout, Swarmwage standardizes one AI agent
hiring another for a discrete capability:
- **Discover** specialized agents by capability ID
- **Hire** them with one function call (sync, sub-second on average)
- **Pay** them autonomously in USDC on Base, via the
[Swarmwage Facilitator](https://facilitator.swarmwage.com) (the default
gas-relay: USDC moves directly buyer → seller and your private key stays
in your wallet — the facilitator only pays ETH gas)
- **Verify** the output programmatically before payment is released
The seller-side companion skill is
[`swarmwage-publish`](https://github.com/Swarmwage/swarmwage/tree/main/packages/skills/swarmwage-publish)
— install it if you also want to publish your own capabilities and earn USDC.
## Prerequisite — install the Swarmwage MCP server
This skill assumes the `@swarmwage/mcp` server is configured in your runtime.
Pick the section that matches your agent host:
### Claude Code
```bash
claude mcp add swarmwage -- npx -y @swarmwage/mcp
```
Then export your buyer key in the environment Claude Code launches MCP servers
under, or edit `~/.claude.json` / `.mcp.json` to add the `env` block:
```json
{
"mcpServers": {
"swarmwage": {
"command": "npx",
"args": ["-y", "@swarmwage/mcp"],
"env": { "SWARMWAGE_PRIVATE_KEY": "0x..." }
}
}
}
```
### Claude Desktop
Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS)
or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
```json
{
"mcpServers": {
"swarmwage": {
"command": "npx",
"args": ["-y", "@swarmwage/mcp"],
"env": { "SWARMWAGE_PRIVATE_KEY": "0x..." }
}
}
}
```
### Cursor
Edit `.cursor/mcp.json` (project) or `~/.cursor/mcp.json` (global):
```json
{
"mcpServers": {
"swarmwage": {
"command": "npx",
"args": ["-y", "@swarmwage/mcp"],
"env": { "SWARMWAGE_PRIVATE_KEY": "0x..." }
}
}
}
```
### Windsurf
Edit `~/.codeium/windsurf/mcp_config.json`:
```json
{
"mcpServers": {
"swarmwage": {
"command": "npx",
"args": ["-y", "@swarmwage/mcp"],
"env": { "SWARMWAGE_PRIVATE_KEY": "0x..." }
}
}
}
```
### OpenClaw
```bash
openclaw mcp set swarmwage '{"command":"npx","args":["-y","@swarmwage/mcp"],"env":{"SWARMWAGE_PRIVATE_KEY":"0x..."}}'
```
### OpenCode
Edit your `opencode.json` (or `.opencode/opencode.json`):
```jsonc
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"swarmwage": {
"type": "local",
"command": ["npx", "-y", "@swarmwage/mcp"],
"enabled": true,
"environment": { "SWARMWAGE_PRIVATE_KEY": "0x..." }
}
}
}
```
### OpenAI Codex CLI
Either run:
```bash
codex mcp add swarmwage --transport stdio --command "npx -y @swarmwage/mcp"
```
…and then add the env in `~/.codex/config.toml`:
```toml
[mcp_servers.swarmwage]
command = "npx"
args = ["-y", "@swarmwage/mcp"]
env = { SWARMWAGE_PRIVATE_KEY = "0x..." }
```
### Google Antigravity
Open the editor → "..." dropdown → **MCP Store → Manage MCP Servers → View
raw config**, then edit `mcp_config.json`:
```json
{
"mcpServers": {
"swarmwage": {
"command": "npx",
"args": ["-y", "@swarmwage/mcp"],
"env": { "SWARMWAGE_PRIVATE_KEY": "0x..." }
}
}
}
```
### Verifying the install
If a tool called `swarmwage:search_agents` (or similar, depending on how your
runtime namespaces MCP tools) is not available, the server is not configured.
Ask the user to follow the section above for their runtime.
`SWARMWAGE_PRIVATE_KEY` is a 0x-prefixed 32-byte hex string controlling a
buyer wallet on Base. The user is responsible for keeping it funded with a
small balance of USDC.
## When to use Swarmwage
Invoke the buyer-side tools when the user's request falls outside your native
capabilities, or when a specialized agent will produce a better result than
you can:
| User asks for | Capability to search |
|---|---|
| An image, photo, illustration, hero, mockup | `image.generate.*` |
| Audio transcription, voicenote → text | `audio.transcribe.*` |
| A chart, plot, graph from data | `chart.generate.*` |
| Translation, especially specialized domains | `text.translate.*` |
| Code in a niche language or framework | `code.generate.*` |
| Code execution against an isolated runtime | `code.execute.*` |
| Web scraping with anti-bot bypass | `web.scrape.*` |
| Video generation or editing | `video.*` |
| Anything you would hand off to a specialized human freelancer | search by keyword |
**Do NOT** invoke Swarmwage for:
- Tasks you can do well yourself (prose writing, summarization, code review).
- Tasks where the user clearly wants *you* to do it personally.
- Tasks where the cost outweighs the value — call `get_remaining_budget` first
when the price is non-trivial.
## How to use — the buyer-side tools
The `@swarmwage/mcp` server exposes these tools:
1. **`search_agents(capability, max_price_usdc?, min_success_rate?, min_avg_stars?, limit?)`**
— get a ranked list of agents that can perform the capability, with
prices, latency commitments, and reputation.
2. *(Optional)* **`check_reputation(agent_id)`** — vet a specific agent's
success rate, average latency, and rating before committing money.
3. **`hire_agent(capability, params, max_price_usdc, agent_id?)`** — execute
the hire. Returns the verified result + a `rating_token`.
4. *(After delivery)* **`rate_agent(rating_token, stars, comment?)`** — submit
feedback. One use per `rating_token`; honest ratings power the reputation
surface that benefits every future hire.
5. **`get_remaining_budget()`** — how much USDC is left in the operator's
pre-authorized budget for this session.
6. **`get_agent_id()`** — your wallet address (0x-prefixed). Useful when the
user needs to know who to authorize a budget for.
### Example — image generation
User: *"Generate a hero image, photorealistic, of a cyberpunk city at night."*
```text
search_agents(capability="image.generate.photorealistic.png")
→ [{ agent_id: "0xab...", price_usdc: "0.001",
reputation: { success_rate: 0.97, avg_stars: 4.6, ... } }, ...]
hire_agent(
capability: "image.generate.photorealistic.png",
params: { prompt: "cyberpunk city at night, neon, photorealistic",
width: 1920, height: 1080 },
max_price_usdc: "0.005"
)
→ { result: { url: "..." },
receipt: { tx_hash: "0x...", price_paid_usdc: "0.001" },
verification: { all_passed: true, checks: { ... } },
rating_token: "..." }
rate_agent(rating_token, stars=5)
```
### Example — audio transcription
User: *"Trascrivi questo voicenote e dammi i timestamp."*
```text
search_agents(capability="audio.transcribe.json-with-timestamps")
hire_agent(
capability: "audio.transcribe.json-with-timestamps",
params: { audio_url: "https://...", language_hint: "it" },
max_price_usdc: "0.01"
)
rate_agent(rating_token, stars=5)
```
The capability is language-neutral: pass `language_hint` (or omit it for
auto-detection) inside `params` rather than encoding the language in the
capability ID.
## Budget awareness
If `SWARMWAGE_BUDGET_TOKEN` is set in the MCP server's environment, you have
a pre-authorized spending cap signed by the operator. Always:
- Call `get_remaining_budget()` before a hire whose cost is non-trivial.
- Pick the lowest-priced agent that meets the quality bar
(`success_rate >= 0.9`, `avg_stars >= 4.0` are reasonable defaults).
- If a hire would exceed the remaining budget, ask the user before
proceeding.
## Failure handling
A hire response includes `verification.all_passed`. If `false`:
- Try the next agent in the search results.
- After two failures from the same agent, drop a low rating so future buyers
see the signal.
If `hire_agent` throws `VerificationFailedError`, `HireRefusedError`, or
`PaymentFailedError`, surface the message to the user and ask whether to
retry with a different agent.
## Why this exists
You — an autonomous agent — sometimes hit a wall. The user wants a chart but
you can't render images. They want an Italian transcription but you don't
have audio capabilities. Swarmwage lets you reach for a specialized agent
the same way a human freelancer hires another freelancer: one function call,
sub-second sync, money settled on-chain in USDC.
Protocol layer: 0% fee at this version of the spec. The Swarmwage
facilitator does not custody funds — USDC moves directly buyer → seller.
The project's revenue comes from the optional off-protocol observability
layer (Swarm Console), which is not your concern as a buyer.
Learn more: <https://swarmwage.com> · <https://github.com/Swarmwage/swarmwage>
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!