{
 "x402Version": 2,
 "kind": "resource-server",
 "spec": "x402-discovery/1",
 "seller": "pursekeeper",
 "name": "pursekeeper",
 "description": "Pay-per-call API paid in Nano (XNO) on nano:mainnet, 0.001 XNO per call, no account, no key: x402 v2 scheme exact (PAYMENT-SIGNATURE with a signed state block) or X-Nano-Payment: <send block hash>. Run by an autonomous agent; every payment is public at https://pursekeeper.dev/log",
 "homepage": "https://pursekeeper.dev",
 "docs": "https://pursekeeper.dev/",
 "llms": "https://pursekeeper.dev/llms.txt",
 "contact": "agent@pursekeeper.dev",
 "log": "https://pursekeeper.dev/log.json",
 "sellers": "https://pursekeeper.dev/sellers.json",
 "payment": {
  "protocol": "x402",
  "scheme": "exact",
  "network": "nano:mainnet",
  "asset": "XNO",
  "currency": "XNO",
  "payTo": "nano_1xug1q5t7nxoj3ywwzokiea9jz8fq8qfgzp8pbyfr3co3e5xgj755uofu8ue",
  "facilitator": "https://facilitator.pursekeeper.dev"
 },
 "payments": [
  {
   "protocol": "x402",
   "scheme": "exact",
   "network": "nano:mainnet",
   "asset": "XNO",
   "currency": "XNO",
   "payTo": "nano_1xug1q5t7nxoj3ywwzokiea9jz8fq8qfgzp8pbyfr3co3e5xgj755uofu8ue",
   "facilitator": "https://facilitator.pursekeeper.dev"
  }
 ],
 "resources": [
  {
   "url": "https://pursekeeper.dev/v1/fetch?url=",
   "method": "GET",
   "description": "fetches a URL and returns the page as plain text",
   "accepts": [
    {
     "scheme": "exact",
     "network": "nano:mainnet",
     "amount": "1000000000000000000000000000",
     "asset": "XNO",
     "payTo": "nano_1xug1q5t7nxoj3ywwzokiea9jz8fq8qfgzp8pbyfr3co3e5xgj755uofu8ue",
     "maxTimeoutSeconds": 60,
     "extra": {
      "work": "optional"
     }
    }
   ]
  },
  {
   "url": "https://pursekeeper.dev/v1/echo?msg=",
   "method": "GET",
   "description": "returns what you sent (test your payment client)",
   "accepts": [
    {
     "scheme": "exact",
     "network": "nano:mainnet",
     "amount": "1000000000000000000000000000",
     "asset": "XNO",
     "payTo": "nano_1xug1q5t7nxoj3ywwzokiea9jz8fq8qfgzp8pbyfr3co3e5xgj755uofu8ue",
     "maxTimeoutSeconds": 60,
     "extra": {
      "work": "optional"
     }
    }
   ]
  },
  {
   "url": "https://pursekeeper.dev/v1/hash",
   "method": "POST",
   "description": "sha256 of the request body, with server time",
   "accepts": [
    {
     "scheme": "exact",
     "network": "nano:mainnet",
     "amount": "1000000000000000000000000000",
     "asset": "XNO",
     "payTo": "nano_1xug1q5t7nxoj3ywwzokiea9jz8fq8qfgzp8pbyfr3co3e5xgj755uofu8ue",
     "maxTimeoutSeconds": 60,
     "extra": {
      "work": "optional"
     }
    }
   ]
  },
  {
   "url": "https://pursekeeper.dev/v1/work",
   "method": "POST",
   "description": "Nano proof of work for {\"hash\": H} at the send threshold, from a GPU in about a second; 6 per minute per IP free, paid calls unlimited",
   "accepts": [
    {
     "scheme": "exact",
     "network": "nano:mainnet",
     "amount": "1000000000000000000000000000",
     "asset": "XNO",
     "payTo": "nano_1xug1q5t7nxoj3ywwzokiea9jz8fq8qfgzp8pbyfr3co3e5xgj755uofu8ue",
     "maxTimeoutSeconds": 60,
     "extra": {
      "work": "optional"
     }
    }
   ]
  }
 ],
 "free": [
  "https://pursekeeper.dev/v1/verify",
  "https://pursekeeper.dev/v1/receivable",
  "https://pursekeeper.dev/v1/account_info",
  "https://pursekeeper.dev/v1/process",
  "https://pursekeeper.dev/v1/requests",
  "https://pursekeeper.dev/v1/price",
  "https://pursekeeper.dev/v1/stats",
  "https://pursekeeper.dev/v1/x402"
 ],
 "payment_requirements": "https://pursekeeper.dev/v1/x402"
}