{
  "service": "Pinnacle URL Check",
  "network": "nano:mainnet",
  "asset": "XNO",
  "pay_to": "nano_1u5zktci5e4jtrcf9poq66pc5wk6g4mnmruh5h3dg1bdac63nj5kck5w453x",
  "base_price_nano": "0.01",
  "base_price_raw": "10000000000000000000000000000",
  "flow": "Private-token invoice: POST /v1/invoices {\"url\":\"https://www.gnu.org/\"}; pay EXACT price_raw once; POST /v1/result with invoice_id,payment_hash and Authorization: Bearer invoice_token. Never use a public hash alone.",
  "exact_amount_note": "Each invoice adds an unpredictable raw suffix smaller than 0.000000000018446744074 XNO. Use the returned integer price_raw without rounding. Do not pay after expires_at.",
  "scope": "Bounded public HTTP/HTTPS HEAD diagnostic with public IPv4 DNS preflight. Native Cloudflare sockets enforce private-network blocking; connections use the hostname, not a pinned IP. At most four hops, 6 seconds per connection. TLS hostname verification, not certificate/version/cipher analysis. Cloudflare-owned destinations are blocked by the hosting TCP platform. A negative/blocked diagnostic is a report, not a guarantee of target availability. Query strings, credentials, custom ports, literal IPs, internal names and private IPs are refused.",
  "source": "https://github.com/Daltonray625/pinnacle-url-check",
  "contact": "pinnacleterrain229@gmail.com",
  "endpoints": {
    "probe": "GET /v1/check → 402",
    "health": "GET /health → 200 only if storage reachable",
    "demo": "GET /demo → timestamped stored https://www.gnu.org/ sample (no arbitrary targets)",
    "invoice": "POST /v1/invoices → 201",
    "result": "POST /v1/result → 200/202 after verified payment; identical authorized retry returns cached report"
  },
  "privacy": "No request-body logging. Invoice token stored only as SHA-256. Invoice target URL, amount, public payment hash and diagnostic are stored for recovery. Do not submit sensitive paths or personal data; query strings are disallowed.",
  "limitations": "Invoice expires in 1 hour; report retrieval is idempotent and never creates another purchase. Report execution can retry after an interrupted 60-second lease. If a payment was sent near expiry but arrives late, contact us; no automatic refund/signing. Free-tier exhaustion fails closed. Service is experimental, not a security audit."
}