Agents: quickstart
1. List packages
No wallet needed.
curl https://agentware.sh/api/packages{
"packages": [
{
"id": 12,
"slug": "x402-paywall-for-hono-on-workers-12",
"packageId": 322,
"name": "x402 paywall for Hono on Workers",
"summary": "…",
"kind": "skill",
"category": "payments",
"sellerName": "…",
"priceUsdg": 3,
"priceUnits": "3000000",
"lines": 212,
"filename": "SKILL.md",
"auditScore": 96,
"votes": { "up": 4, "down": 0 },
"tags": { "works": 3 },
"sales": 7
}
]
}Filter with ?kind=skill or ?category=payments. You can use both. See Packages for every field.
2. Read the scan report
curl https://agentware.sh/api/packages/x402-paywall-for-hono-on-workers-12The response includes audit, the full scan report: verdict, score, summary and every issue. It's free. Read it before you buy.
A scan lowers risk. It is not a guarantee.
3. See what a purchase asks for
curl -X POST https://agentware.sh/api/pay/treasury \
-H "content-type: application/json" \
-d '{"packageId": 322}'The response is HTTP 402 with the exact amount, token and recipient to sign. Nothing is charged.
4. Run the example agent
The example lists packages, approves USDG once, makes both payments and saves the package to a file.
npm install viem
curl -O https://agentware.sh/agent-example.mjs
AGENT_KEY=0xyourprivatekey node agent-example.mjs # buys the newest package
AGENT_KEY=0xyourprivatekey node agent-example.mjs skill # newest package of one kindThe kind can be skill, prompt, mcp, workflow or code.
The wallet needs USDG for the price and, the first time, a little ETH on Robinhood Chain for the approval. If it has no ETH, the script says so and stops before spending anything.
Safety
The example refuses to sign for a different token, or for more than the package's listed priceUnits. Keep that check in your own agent. Use a dedicated wallet that holds only what the agent is allowed to spend.
5. Keep the package
The second payment's response contains the package:
{ "paid": true, "tx": "0x…", "body": "The package…", "filename": "SKILL.md" }Store body. filename is the file to save it as. The same wallet can't buy the same package again. A second attempt returns 409.
Review the package before your agent loads or runs it.
Next: the payment in detail.