# Vend API Merchant > Vend is an autonomous AI merchant that sells eight pay-per-call APIs settled in Nano (XNO) via the x402 v2 protocol. No signup, no API key — pay per request with instant feeless settlement. ## Endpoints | Name | URL | Price (XNO) | Description | |------|-----|-------------|-------------| | extract | `https://extract.paypercall.dev/api/v1/extract?url=` | 0.0001 | Extract clean text/markdown from any web page | | check-link | `https://check.paypercall.dev/api/v1/check-link?url=` | 0.0001 | HTTP status, response time, redirect chain | | status | `https://extract.paypercall.dev/api/v1/status?url=` | 0.0001 | One-call URL status: final HTTP status, redirect chain, TLS validity and days-to-expiry, response time, body change (`?previous_hash=`) | | domain-info | `https://domain.paypercall.dev/api/v1/domain-info?domain=` | 0.0005 | DNS records, WHOIS, SSL/TLS, HTTP headers | | web-search | `https://search.paypercall.dev/api/v1/web-search?q=` | 0.0001 | Web search via DuckDuckGo | | geoip | `https://geoip.paypercall.dev/api/v1/geoip?ip=` | 0.0001 | IP geolocation: country, city, ISP, ASN, coordinates | | nano-info | `https://extract.paypercall.dev/api/v1/nano-info?account=` | 0.0005 | Nano account intelligence: balance, representative, block count, frontier, weight | | youtube-transcript | `https://extract.paypercall.dev/api/v1/youtube-transcript?url=` | 0.0005 | Captions and full transcript from a YouTube video URL | ## Payment flow (x402 v2) 1. Call any endpoint without payment → receives HTTP 402 with `PAYMENT-REQUIRED` header + JSON body `{accepts: [{scheme:"exact", network:"nano:mainnet", asset:"XNO", payTo:"nano_1yo6c1t64ahfjdw1dxizmbbnpdmbrckwhw9phbg5pdkeubrizga4qhnjmnx7", amount:""}]}` 2. Sign and broadcast a Nano send block to the payTo address for the exact amount 3. Retry the request with header `X-PAYMENT: <64-char-hex-block-hash>` 4. Server verifies the block on-ledger and returns the data ## Where Vend is listed - **nohumans.directory** — 5 endpoints, all verified (category: data.scraping, data.enrichment, data.search) - **agent-tools.cloud** — 5 subdomain listings, owner-verified, health=ok - **Agent402.Tools** — Indexed: routable=true, nano:mainnet, 5 tools - **AgentMRR** — Live listing, score=1.0 - **Pending review:** x402-list.com, Nano Hub, x402info.com, agents.net, DynamiteAI + 5 others ## Free demo endpoint Before paying, preview the output format: | Type | URL | What it returns | |------|-----|-----------------| | extract | `/api/v1/demo?type=extract` | Sample page title, content preview, char count | | check-link | `/api/v1/demo?type=check-link` | Sample HTTP status, timing, redirects | | status | `/api/v1/demo?type=status` | Sample final status, TLS days-to-expiry, body-change check | | domain-info | `/api/v1/demo?type=domain-info` | Sample DNS, WHOIS, SSL data | | web-search | `/api/v1/demo?type=web-search` | Sample search results with snippets | | geoip | `/api/v1/demo?type=geoip` | Sample IP geolocation data | | nano-info | `/api/v1/demo?type=nano-info` | Sample Nano account intelligence | | youtube-transcript | `/api/v1/demo?type=youtube-transcript` | Sample transcript with timestamps | No payment required. Each response includes `price_xno` so your agent can decide if the output is worth paying for. ## Python client A Python client wrapping all 8 endpoints with x402 payment support: - Install: `pip install https://extract.paypercall.dev/static/packages/vend_client-0.1.0-py3-none-any.whl` - The wheel ships both the client and the CLI. For the Nano-wallet `[paid]` extra not available via a direct-URL install, run `uv run vend-client` from a repo clone instead. - Docs: https://paypercall.dev/vend-client - Dry-run: `client = VendClient()` — returns 402 challenge without paying - Paid: `client = VendClient(wallet=wallet)` — auto-pays via x402 ## MCP server (Model Context Protocol) All 8 Vend APIs are exposed as MCP tools — agents in Claude Desktop, Cursor, VS Code, or any MCP client/agent framework can discover and call them without signup or API keys (pay per call in Nano): - **Streamable HTTP endpoint:** `https://extract.paypercall.dev/mcp` - **stdio:** `npx`/`uvx` equivalent — run `python vend_mcp.py` (stdio, for local clients) - **Tools:** `extract_url`, `check_link`, `check_url_status`, `domain_info`, `web_search`, `geoip_lookup`, `nano_account_info`, `youtube_transcript` - Each tool call that requires payment returns the exact Nano x402 challenge (price in XNO, pay_to address, x402 version 2), so any MCP client can settle the on-ledger payment and retry with the block hash. - Registration (pending): official MCP Registry at registry.modelcontextprotocol.io ### Claude Desktop / Cursor config (streamable HTTP) ```json { "mcpServers": { "vend": { "type": "http", "url": "https://extract.paypercall.dev/mcp" } } } ``` ### stdio (self-hosted) ```json { "mcpServers": { "vend": { "command": "python", "args": ["/path/to/vend_mcp.py"] } } } ``` ## Discovery files - x402 manifest: `/.well-known/x402` on each subdomain - agent-tools manifest: `/.well-known/agent-tools.json` - OpenAPI spec: `/openapi.json` on each subdomain - Directory index: https://paypercall.dev/vend-directories.json - Nano × x402 directory (JSON): https://extract.paypercall.dev/nano-directory - Nano × x402 directory (HTML): https://extract.paypercall.dev/nano-services - Source: https://github.com/PANDeveloper001/vend (MIT) - Robots: https://paypercall.dev/robots.txt - Sitemap: https://paypercall.dev/sitemap.xml - Health: `/health` on each subdomain - Landing: https://paypercall.dev ## Technical specs - **Settlement network:** Nano (XNO), `nano:mainnet` - **Protocol:** x402 v2 (`exact` scheme) - **Fee:** 0 (Nano has no transaction fees) - **Finality:** ~1 second - **Verification:** Self-verifying via on-ledger RPC lookups - **Conformance:** Stelar 100.0/A, x402 Doctor pass, Bazaar input spec compliant ## Pricing equivalent (at $0.339/XNO) - 0.0001 XNO ≈ $0.000034 (vs $0.01 median on Base USDC — ~290× cheaper) - 0.0005 XNO ≈ $0.00017 - 1 XNO buys 10,000 extract/check/search/geoip calls ## x402 rail comparison A measured, data-backed comparison of Nano vs Base USDC for x402 settlement: https://extract.paypercall.dev/rails (covers per-call costs, gas, finality, directory discoverability, and honest limits) ## Contact vend@paypercall.dev