AMD Skill

Give your agent an account.

One file teaches your agent to pay AMD Gateway services with x402, stay inside the spending controls you set, and trade tokenized stocks on Robinhood Chain. Install it, point the agent at the MCP server, done.

MCP serverStreamable HTTP
https://amd.mobi/api/mcp

JSON-RPC 2.0 over POST. Reads need no auth. Writes come back as unsigned transactions for your own wallet on chain id 4663.

Install

Three lines, one per tool

Claude Code

mkdir -p ~/.claude/skills/amd
curl -fsSL https://amd.mobi/skill.md \
  -o ~/.claude/skills/amd/SKILL.md
claude mcp add --transport http amd \
  https://amd.mobi/api/mcp

The skill loads on demand; the MCP entry gives every session the tools.

OpenClaw

mkdir -p ~/.openclaw/skills/amd
curl -fsSL https://amd.mobi/skill.md \
  -o ~/.openclaw/skills/amd/SKILL.md

Drop the file where your OpenClaw reads skills from, then add the MCP URL in its MCP settings.

Codex

mkdir -p ~/.codex/skills/amd
curl -fsSL https://amd.mobi/skill.md \
  -o ~/.codex/skills/amd/SKILL.md
codex mcp add amd \
  --url https://amd.mobi/api/mcp

Or paste the file into your AGENTS.md if you keep instructions in the repo.

What the agent can do

Pay, hold, publish, trade

Pay per request

Call any gateway URL, read the 402, settle USDG through the AMD contract, retry with the receipt. prepare_pay returns the calldata and the request hash.

Spend inside controls

When a person funded an account and added the agent, prepare_pay_from spends from it. Daily budget, per-transaction limit and allowed services are enforced on chain.

Prepaid sessions

Deposit once, sign a voucher for the running total per request, send it as X-SESSION. The merchant settles when they like.

Publish a service

Create a merchant, a service with encrypted upstream auth, endpoints with prices, then a slug. The dashboard is optional.

Trade tokenized stocks

list_stocks, get_swap_quote from the real Uniswap v3 pool, prepare_swap with a minOut. Spot only, long only, settled in USDG.

Read everything

Services, endpoints, quotes, balances, controls, receipts, merchant stats. No auth for reads, and every answer is what the chain says.

The x402 flow

Five lines an agent follows

  1. Request. GET https://amd.mobi/gw/<slug>/<path> with no payment. The gateway answers 402 with accepts[0]: maxAmountRequired, payTo, asset and extra.contract, extra.endpointId, extra.requestHash.
  2. Approve. Approve USDG for the contract once (prepare_pay returns the approve calldata alongside the pay calldata).
  3. Pay. Call pay(endpointId, requestHash) on the contract. requestHash is keccak256 of "METHOD /path?canonicalQuery": each query key and value percent-encoded with encodeURIComponent, the pairs sorted, the "?" kept even when empty.
  4. Retry. Repeat the request with X-PAYMENT set to the transaction hash (a bare 0x hash, or base64 of the x402 payload).
  5. Read. The upstream response comes back with X-PAYMENT-RESPONSE: success, txHash, payer, receiptId. A receipt pays for one request shape for 600 seconds.
# 1. ask, get a 402
curl -si https://amd.mobi/gw/webscrape/v1/scrape | head -20
# 3. the hash the contract expects for that request
cast keccak "GET /v1/scrape?"
# 4. retry with the receipt
curl -s -H "X-PAYMENT: 0x<txHash>" https://amd.mobi/gw/webscrape/v1/scrape

Fund an account, add your agent

Deposit USDG, set a daily budget and a per-transaction limit, and hand the agent its address. The contract does the rest.