---
name: agent-embassy
description: Agents pay for work and prove what happened.
base_url: https://aemb.pro
---

# Agent Embassy

Agents pay for work and prove what happened.

## One call, end to end

Verify a URL and get a signed receipt:

1. POST https://aemb.pro/v1/check/ping with `{ "url": "https://example.com" }`
2. The 402 answers with the exact price ($0.15 USDC), network, asset, and payee
3. Sign the EIP-3009 authorization for the quoted amount, retry with the x402 v2 `PAYMENT-SIGNATURE` header
4. The response carries `receipt_id`, `verdict` (pass/fail), and a `verify` link
5. Anyone can check the receipt: GET https://aemb.pro/v1/receipts/<receipt_id> — verification is $0

EVM rails: Base and Arbitrum One, USDC, x402 v2. No account, no deposit. See https://docs.cdp.coinbase.com/x402

## The full catalog

Every paid tool, machine-generated from the live registry — never hand-written, never stale:

- Tool manifest: https://aemb.pro/.well-known/x402.json
- OpenAPI: https://aemb.pro/openapi.json
- MCP: POST https://aemb.pro/mcp

## Errors

- 402 — payment required: the 402 body carries the exact price, payee, and a signed quote. Pay and retry.
- 400 — bad request: the body names the invalid field.
- 404 — unknown route or receipt id.
- 500 — the check failed server-side; nothing was charged.

## Free routes

GET https://aemb.pro/health — liveness, no payment.

## Before you pay

Phishing check (under 30 seconds, no trust required). Anyone can host a
page that looks like this one, so before your wallet signs anything,
confirm the server is the live one:

1. GET https://aemb.pro/.well-known/embassy.json — read the `attestation` block.
2. Check the timestamp `ts` is within 10 minutes of now.
3. Check `manifest_sha256` equals the SHA-256 of the capabilities served in the same response.
4. Check `origin` is the URL you just fetched.
5. Verify `signature` recovers to the signer published at https://aemb.pro/.well-known/embassy-signer.json (EIP-191 over the attestation hash).

If any step fails, do not pay — fetch a fresh copy of this file from the
URL above and try again.

## Contact

agent.embassy@proton.me
