# sigtap Outreach API > Paid micro-API for outreach agents. One signature per call. No keys. x402 (USDC on Base). ## Paid endpoints ## GET /deliverability Price: $0.003 per call, settled in USDC on Base via x402. Network: eip155:8453. Email deliverability check: SPF, DKIM, DMARC and MX record audit for a sending domain. Params: - domain (string, required): Domain to audit Example request: ``` GET https://sigtap-outreach-api.sigtap.workers.dev/deliverability?domain=Sending%20domain%20to%20audit%2C%20e.g.%20openai.com ``` Example response: ```json { "domain": "example.com", "spf": { "found": true, "record": "v=spf1 ...", "all_in_one": true, "issue": null }, "dmarc": { "found": true, "policy": "none" }, "dkim": {}, "checks": {}, "verdict": "ready-to-send" } ``` ## GET /grade Price: $0.005 per call, settled in USDC on Base via x402. Network: eip155:8453. Cold email grader: score an email 0-100 with concrete fixes (subject line, body, spam risk). Params: - subject (string, optional): Email subject line to grade - body (string, optional): Plain-text email body to grade Example request: ``` GET https://sigtap-outreach-api.sigtap.workers.dev/grade?subject=Email%20subject%20line&body=Plain-text%20email%20body ``` Example response: ```json { "score": 82, "grade": "B", "checks": [] } ``` ## GET /template Price: $0.01 per call, settled in USDC on Base via x402. Network: eip155:8453. Cold email generator: personalized outreach email from proven templates (founder, agency, freelance). Params: - persona (string, optional): founder | agency | freelancer - offer (string, optional): What you are offering - name (string, optional): Recipient name for personalization - company (string, optional): Recipient company for personalization Example request: ``` GET https://sigtap-outreach-api.sigtap.workers.dev/template?persona=founder%20%7C%20agency%20%7C%20freelancer&offer=What%20you%20are%20offering&name=Recipient%20name&company=Recipient%20company ``` Example response: ```json { "subject": "...", "body": "...", "cadence_tips": [] } ``` ## GET /tools/hash Price: $0.0005 per call, settled in USDC on Base via x402. Network: eip155:8453. Hash a string: sha256, sha512, sha1, md5, CRC32, base64 checksum - crypto hash API for UTF-8 text. Params: - text (string, required): UTF-8 text to hash Example request: ``` GET https://sigtap-outreach-api.sigtap.workers.dev/tools/hash?text=UTF-8%20text%20to%20hash ``` Example response: ```json { "length": 5, "byte_length": 5, "sha256": "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824", "sha384": "59e1748777448c69de6b800d7a33bbfb9ff1b463e44354c3553bcdb9c666fa901a1a751c9fb642405954b1ed74a74210", "sha512": "9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043", "hex": "68656c6c6f", "base64": "aGVsbG8=", "base64url": "aGVsbG8", "crc32": "3610a686" } ``` ## GET /tools/jwt-decode Price: $0.001 per call, settled in USDC on Base via x402. Network: eip155:8453. JWT decoder: decode a JSON web token header and payload, with safety flags (never verifies the signature). Params: - token (string, required): JWT to decode Example request: ``` GET https://sigtap-outreach-api.sigtap.workers.dev/tools/jwt-decode?token=JWT%20to%20decode%20(header.payload.signature) ``` Example response: ```json { "header": { "alg": "HS256", "typ": "JWT" }, "payload": { "sub": "1", "exp": 1735689600 }, "signature": { "present": true }, "flags": { "alg_none": false, "weak_alg": false, "exp_missing": false, "expired": true } } ``` ## GET /tools/uuid Price: $0.0005 per call, settled in USDC on Base via x402. Network: eip155:8453. UUID generator: batch unique ids - UUIDv4, UUIDv7, ULID or nanoid - random ID API. Params: - count (integer, optional): How many IDs, 1-100 (default 1) - version (string, optional): v4 | v7 | ulid | nanoid (default v4) Example request: ``` GET https://sigtap-outreach-api.sigtap.workers.dev/tools/uuid?count=How%20many%20IDs%2C%201-100%20(default%201)&version=v4%20%7C%20v7%20%7C%20ulid%20%7C%20nanoid%20(default%20v4) ``` Example response: ```json { "version": "v7", "count": 2, "ids": [ "01934fe8-1a2b-7c3d-8e4f-5a6b7c8d9e0f", "01934fe8-1a2b-7c3d-8e4f-5a6b7c8d9e10" ] } ``` ## GET /tools/slug Price: $0.001 per call, settled in USDC on Base via x402. Network: eip155:8453. Slug generator: url-safe slug from unicode text, latin and Cyrillic transliteration. Params: - text (string, required): Text to slugify - maxlength (integer, optional): Max slug length 1-500 (default 60) Example request: ``` GET https://sigtap-outreach-api.sigtap.workers.dev/tools/slug?text=Text%20to%20slugify&maxlength=Max%20slug%20length%201-500%20(default%2060) ``` Example response: ```json { "text": "Привет, Мир!", "slug": "privet-mir", "length": 11, "maxlength": 60, "warnings": [] } ``` ## GET /tools/json Price: $0.001 per call, settled in USDC on Base via x402. Network: eip155:8453. JSON tools: flatten JSON to dot paths, or convert JSON rows to CSV online. Params: - data (string, required): JSON string (urlencoded) - mode (string, optional): flatten | csv (default flatten) Example request: ``` GET https://sigtap-outreach-api.sigtap.workers.dev/tools/json?data=JSON%20string%20(urlencoded)&mode=flatten%20%7C%20csv%20(default%20flatten) ``` Example response: ```json { "mode": "flatten", "leaf_count": 2, "flattened": { "user.name": "Ada", "tags.0": "x" } } ``` ## GET /tools/regex Price: $0.001 per call, settled in USDC on Base via x402. Network: eip155:8453. Regex tester: test a regular expression - matches, groups, count and backtracking risk check. Params: - pattern (string, required): Regular expression - text (string, required): Text to search - flags (string, optional): Regex flags (subset of dgimsuy) Example request: ``` GET https://sigtap-outreach-api.sigtap.workers.dev/tools/regex?pattern=Regular%20expression&text=Text%20to%20search&flags=Regex%20flags%20(subset%20of%20dgimsuy) ``` Example response: ```json { "pattern": "\\d+", "count": 2, "matches": [ { "index": 0, "match": "42", "groups": [] } ], "backtracking_risk": { "risk": "low", "reasons": [] } } ``` ## GET /tools/crypto-price Price: $0.002 per call, settled in USDC on Base via x402. Network: eip155:8453. Crypto price API: BTC and ETH spot price from Coinbase with buy, sell and spread percent. Params: - from (string, required): Base asset code, e.g. BTC - to (string, required): Quote asset code, e.g. USD Example request: ``` GET https://sigtap-outreach-api.sigtap.workers.dev/tools/crypto-price?from=Base%20asset%20code%2C%20e.g.%20BTC&to=Quote%20asset%20code%2C%20e.g.%20USD ``` Example response: ```json { "pair": "BTC-USD", "spot": 67123.45, "buy": 67150, "sell": 67090.1, "spread_pct": 0.0893 } ``` ## GET /tools/domain-age Price: $0.003 per call, settled in USDC on Base via x402. Network: eip155:8453. Domain age checker: registration date, age in days and registrar via RDAP lookup. Params: - domain (string, required): Domain to look up Example request: ``` GET https://sigtap-outreach-api.sigtap.workers.dev/tools/domain-age?domain=Domain%20to%20look%20up ``` Example response: ```json { "domain": "example.com", "verdict": "registered", "registration_date": "1995-08-14T04:00:00Z", "age_days": 11000, "registrar": "RESERVED-Internet Assigned Numbers Authority", "registrar_url": null } ``` ## GET /tools/weather Price: $0.001 per call, settled in USDC on Base via x402. Network: eip155:8453. Weather API: current weather and next 3 hours temperature by lat, lon (open-meteo). Params: - lat (number, required): Latitude -90..90 - lon (number, required): Longitude -180..180 Example request: ``` GET https://sigtap-outreach-api.sigtap.workers.dev/tools/weather?lat=Latitude%20-90..90&lon=Longitude%20-180..180 ``` Example response: ```json { "current": { "temperature_2m": 21.3, "relative_humidity_2m": 48, "wind_speed_10m": 12.1, "weather_code": 2, "weather_description": "Partly cloudy" }, "next_3h": [ { "time": "2026-01-01T12:00", "temperature_2m": 21.8 } ] } ``` ## Pay in one call (copy-paste) Step 1: GET any paid path above -> 402 + PAYMENT-REQUIRED response header (base64 x402 v2 challenge: scheme exact, network eip155:8453, PayAI facilitator; payTo is inside the challenge). Step 2: answer the challenge and retry the SAME GET; the easiest way is the official client (step 3) - it reads the challenge, signs an EIP-3009 transfer (USDC on Base) and sends X-PAYMENT for you. Step 3 (copy-paste, one round-trip, no keys/accounts - wallet is the account): ```js // npm i @x402/fetch @x402/evm viem import { wrapFetchWithPaymentFromConfig } from "@x402/fetch"; import { ExactEvmScheme } from "@x402/evm"; import { privateKeyToAccount } from "viem/accounts"; const fetchWithPayment = wrapFetchWithPaymentFromConfig(fetch, { schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(privateKeyToAccount(PRIVATE_KEY)) }] }); const res = await fetchWithPayment(`${PAYBASE}/tools/uuid?count=3&version=v7`); // $0.0005 console.log(res.status, await res.json()); // 200 { ids: [...] }; settlement comes back in the payment-response header ``` Free check before any wallet action: GET https://sigtap-outreach-api.sigtap.workers.dev/preview/tools/uuid?version=v7 -> 200 truncated sample of the same output. MCP twin (same tools over MCP): https://sigtap-mcp.sigtap.workers.dev/mcp - see its /llms.txt for a ready mcpServers config. ## Free endpoints - GET / - this catalog (with prices) - GET /score-preview?subject=... - free length/subject-only preview of the grader - GET /hash-preview?text=... - free hash preview (sha256 + crc32), first 1000 chars; the paid /tools/hash has no length limit - GET /preview/ - free truncated sample of ANY paid tool (e.g. /preview/tools/hash?text=...) - GET /health - liveness - GET /llms.txt - short catalog - GET /llms-full.txt - this document - GET /openapi.json - full OpenAPI spec with x-payment-info Buy the full kit: https://unnamedaiagent.github.io/pitchpilot-kit/