{
  "markdown": "# BlinkCodes agent interfaces\n\n[![blinkcodes-agent-interfaces MCP server](https://glama.ai/mcp/servers/delneg/blinkcodes-agent-interfaces/badges/card.svg)](https://glama.ai/mcp/servers/delneg/blinkcodes-agent-interfaces)\n[![smithery badge](https://smithery.ai/badge/onlydelneg/blinkcodes)](https://smithery.ai/servers/onlydelneg/blinkcodes)\n\nMachine-readable interfaces for [blinkcodes.com](https://blinkcodes.com) — a store\nselling gift card codes, service top-ups and travel eSIMs, with delivery by email\nin seconds.\n\nEverything here is a **remote, hosted service**. There is nothing to install and\nno server to run: point your client at the URLs below. This repository exists to\ndocument those endpoints, pin their schemas, and give working examples.\n\n| Interface | Endpoint | Spec |\n|---|---|---|\n| **MCP** (catalog + buy) | `https://blinkcodes.com/mcp` | Streamable HTTP, protocol `2025-06-18` |\n| **A2A** | `https://blinkcodes.com/a2a` | JSON-RPC, protocol `0.3` |\n| **x402** (pay per call) | `https://blinkcodes.com/api/v1/buy` | x402 v2 (v1 on request), USDC on Base |\n| OpenAPI | `https://blinkcodes.com/openapi.json` | includes `x-payment-info` (MPP) |\n| Plain-language docs for agents | `https://blinkcodes.com/llms.txt` | |\n\nDiscovery documents: [`/.well-known/agent-card.json`](https://blinkcodes.com/.well-known/agent-card.json),\n[`/.well-known/mcp/server-card.json`](https://blinkcodes.com/.well-known/mcp/server-card.json),\n[`/.well-known/api-catalog`](https://blinkcodes.com/.well-known/api-catalog),\n[`/.well-known/agent-skills/index.json`](https://blinkcodes.com/.well-known/agent-skills/index.json),\n[`/.well-known/acp.json`](https://blinkcodes.com/.well-known/acp.json),\n[`/.well-known/ucp`](https://blinkcodes.com/.well-known/ucp).\n\n## MCP server\n\nPublished to the [Official MCP Registry](https://registry.modelcontextprotocol.io)\nas **`com.blinkcodes/catalog`** ([server.json](./server.json)).\n\nThree tools. The two catalog tools are read-only and free — no key, no account,\nno payment. The third takes money, and only over x402:\n\n| Tool | Purpose |\n|---|---|\n| `search_catalog` | Search gift cards, top-ups and eSIM plans. Returns price, availability and product URL. |\n| `get_product` | One product by id: denominations with prices, required order inputs, countries where the code cannot be redeemed. |\n| `buy_product` | Buy and receive the delivery. Two calls: arguments in → x402 payment requirements out; signed payload in → the code out. |\n\n`buy_product` runs the same rail as `POST /api/v1/buy` below — verify, reserve,\nsettle, fulfil, in that order — so an agent that found the store through MCP\nnever has to change protocol to complete the purchase. Nothing is charged by the\nfirst call, and no wallet is needed to use the other two tools.\n\nAdd it to a client that speaks remote MCP:\n\n```json\n{\n  \"mcpServers\": {\n    \"blinkcodes\": {\n      \"type\": \"http\",\n      \"url\": \"https://blinkcodes.com/mcp\"\n    }\n  }\n}\n```\n\nFull tool schemas and a curl transcript: [docs/mcp.md](docs/mcp.md).\n\nA stdio-only client can use the bridge in [`Dockerfile`](./Dockerfile), which\nproxies to the same hosted endpoint:\n\n```sh\ndocker build -t blinkcodes-mcp . && docker run -i --rm blinkcodes-mcp\n```\n\nPrefer the direct URL above wherever your client speaks remote MCP — the bridge\nadds a hop and buys nothing.\n\n## Buying, for agents\n\nPayment is **USDC on Base** over [x402](https://x402.org). One endpoint, two\npasses:\n\n1. `POST /api/v1/buy` with the order body → **402** carrying payment requirements\n   priced for that exact item, plus an `order` block (id, access token, status URL).\n2. The **identical** request with a `PAYMENT-SIGNATURE` header → **200** with the\n   code, or **202** + `status_url` if fulfilment outlives the sync window.\n\n```jsonc\n// the body, in both passes\n{\n  \"email\": \"buyer@example.com\",\n  \"product_type\": \"giftcard\",   // giftcard | topup | esim | phone_rental\n  \"product_id\": 187,\n  \"item_id\": 1195,\n  \"quantity\": 1\n}\n```\n\n- Network `eip155:8453`, asset `0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913` (USDC).\n- x402 **v2 by default**; v1 clients send `X-PAYMENT`, or ask for a v1 quote with\n  `X-PAYMENT-VERSION: 1`.\n- `GET /api/v1` describes the rail for free.\n- Calling `/api/v1/buy` with **nothing named** answers 402 quoting the rail's\n  floor and creates no order — that is the probe form, safe for crawlers.\n\nWorked example: [examples/x402-buy.mjs](examples/x402-buy.mjs). Rails, floors and\npayable coin pairs: `GET /api/public/payment-methods`.\n\n## A2A\n\nAgent card at [`/.well-known/agent-card.json`](https://blinkcodes.com/.well-known/agent-card.json),\nJSON-RPC `message/send` at `https://blinkcodes.com/a2a`. Skills are the two catalog\ntools plus `buy_product`, which over this transport carries the\n[a2a-x402](https://github.com/google-a2a/a2a-x402) payments extension\n(`https://github.com/google-a2a/a2a-x402/v0.1`, declared `required: false` because\nthe catalog skills are free).\n\nQuote → `Task` in `input-required` with `x402.payment.required`; pay → same\n`taskId` with `x402.payment.payload` → `Task` `completed` plus the delivery as an\nartifact. See [examples/a2a.sh](examples/a2a.sh).\n\n## Human docs\n\nStore, prices and terms: <https://blinkcodes.com>. Support:\n<support@blinkcodes.com>.\n\n## License\n\n[MIT](./LICENSE) — applies to the documentation and examples in this repository.\nThe service itself is governed by the terms published on the site.\n",
  "bytes": 5404,
  "sha": "f4004f00f72e35b5426aa74222522b65c2998ddab08d846f7896ab3e99259552",
  "repo_slug": "delneg/blinkcodes-agent-interfaces",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_blinkcodes_catalog_72a102ca/readme"
}