{
  "x402Version": 2,
  "name": "54ch10 page extraction / public URL to markdown",
  "summary": "GET https://54ch10.uk/v1/fetch?url=<public URL> — page extraction / public URL to markdown, $0.005 USDC. SSRF-safe. Then GET /v1/open $0.015 or GET /v1/stack?pack=1 $1. Wire kit: /wire.md. Analytics-only — not financial, legal, or investment advice.",
  "homepage": "https://54ch10.uk",
  "network": "base",
  "facilitator": "payai",
  "facilitatorUrl": "https://facilitator.payai.network",
  "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
  "payToSolana": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
  "currency": "USDC",
  "protocol": "x402",
  "openapi": "https://54ch10.uk/openapi.json",
  "agent": "https://54ch10.uk/AGENT.md",
  "keywords": [
    "page extraction",
    "public URL to markdown",
    "page fetch",
    "url to markdown",
    "phishing",
    "scam",
    "wallet risk",
    "honeypot",
    "url reputation",
    "pre-interact",
    "whois",
    "rdap",
    "dns",
    "tls",
    "domain age",
    "hash",
    "sha256",
    "encode",
    "base64",
    "open",
    "page fetch",
    "pre-open",
    "domain pack",
    "prepaid stack",
    "bulk",
    "batch",
    "open batch"
  ],
  "mcp": {
    "package": "54ch10-mcp",
    "install": "npx -y github:sachio222/54ch10-mcp",
    "github": "https://github.com/sachio222/54ch10-mcp",
    "mcpName": "io.github.sachio222/54ch10-mcp",
    "transport": "stdio",
    "note": "Primary agent install: npx -y github:sachio222/54ch10-mcp. Remote HTTP MCP not required for x402 path."
  },
  "eliza": {
    "plugin": "@54ch10/plugin-54ch10",
    "github": "https://github.com/sachio222/eliza-plugin-54ch10",
    "install": "elizaos plugins add github:sachio222/eliza-plugin-54ch10",
    "note": "Thin elizaOS plugin wrapping GET /v1/brief (free header or Bearer 54k_)."
  },
  "freeTier": {
    "limit": 20,
    "unit": "briefs/UTC-day/IP",
    "path": "/v1/brief/free",
    "header": "X-54ch10-Free: 1",
    "note": "Canonical GET /v1/brief always returns HTTP 402 + PAYMENT-REQUIRED for unauthenticated agents/indexers. Humans/demos: GET /v1/brief/free or header X-54ch10-Free: 1 (20/UTC-day/IP). Bearer 54k_ or PAYMENT-SIGNATURE unlock /v1/brief."
  },
  "stripe": {
    "note": "Human monthly plans still available via Stripe Checkout / Bearer 54k_ keys.",
    "landing": "https://54ch10.uk"
  },
  "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently.",
  "services": [
    {
      "method": "GET",
      "path": "/v1/fetch",
      "description": "Page extraction / public URL to markdown. GET https://54ch10.uk/v1/fetch?url=<public URL> → status/contentType/markdown|text. $0.005 USDC. SSRF-blocked private IPs. Cap 200KB, ~10s timeout. Demo: /v1/fetch/free or X-54ch10-Free: 1.",
      "amount": "0.005",
      "amountAtomic": "5000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "url": "https://example.com",
                "format": "markdown"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "url": "https://example.com",
                "status": 200,
                "contentType": "text/html",
                "format": "markdown",
                "markdown": "# Example\n\n…",
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "url": {
                        "type": "string",
                        "description": "Public http(s) URL"
                      },
                      "format": {
                        "type": "string",
                        "enum": [
                          "markdown",
                          "text"
                        ]
                      }
                    },
                    "required": [
                      "url"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/brief",
      "description": "Pre-interact risk brief (phishing/scam/wallet/url reputation heuristics). Query: type=address|token|url&q=…. Unauthenticated → HTTP 402 + PAYMENT-REQUIRED (USDC $0.01). Auth: Bearer 54k_ or PAYMENT-SIGNATURE. Demo free: /v1/brief/free or X-54ch10-Free: 1.",
      "amount": "0.01",
      "amountAtomic": "10000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "type": "url",
                "q": "https://example.com"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "type": "url",
                "q": "https://example.com",
                "score": 12,
                "band": "clear",
                "flags": [],
                "summary": "No elevated phishing or on-chain risk signals in free live sources.",
                "sources": [
                  {
                    "id": "openphish",
                    "label": "OpenPhish",
                    "status": "live"
                  }
                ],
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "address",
                          "token",
                          "url"
                        ],
                        "description": "What to brief"
                      },
                      "q": {
                        "type": "string",
                        "description": "Address, token id/symbol, or URL"
                      }
                    },
                    "required": [
                      "type",
                      "q"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/open",
      "description": "One paid call before opening a URL: URL brief + WHOIS domain + page fetch (SSRF-safe). Query: q= or url=. Unauthenticated → HTTP 402 + PAYMENT-REQUIRED (USDC $0.015). Demo free: /v1/open/free or X-54ch10-Free: 1.",
      "amount": "0.015",
      "amountAtomic": "15000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "q": "https://example.com"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "q": "https://example.com",
                "url": "https://example.com",
                "brief": {
                  "score": 12,
                  "band": "clear",
                  "flags": [
                    "openphish_not_listed"
                  ],
                  "summary": "URL parsed (host: example.com).",
                  "sources": [
                    {
                      "id": "openphish",
                      "label": "OpenPhish",
                      "status": "live"
                    }
                  ]
                },
                "domain": {
                  "registrar": "RESERVED-Internet Assigned Numbers Authority",
                  "created": "1995-08-14T04:00:00Z",
                  "age_days": 11300
                },
                "page": {
                  "status": 200,
                  "contentType": "text/html",
                  "markdown": "# Example Domain\n\n…"
                },
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "q": {
                        "type": "string",
                        "description": "Public http(s) URL to open (alias: url=)"
                      }
                    },
                    "required": [
                      "q"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "POST",
      "path": "/v1/open/batch",
      "description": "Bulk URL checks — same open-class brief per URL. Body JSON { urls: string[] } (1–25). Paid-only: stack debit N credits or x402 N×$0.015 USDC. Unauthenticated → HTTP 402 + PAYMENT-REQUIRED. No free tier. Human: https://linksafu.com/bulk.",
      "amount": "0.015",
      "amountAtomic": "15000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "POST",
              "bodyType": "json",
              "body": {
                "urls": [
                  "https://example.com",
                  "https://example.org"
                ]
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "count": 2,
                "cap": 25,
                "results": [
                  {
                    "ok": true,
                    "q": "https://example.com",
                    "brief": {
                      "score": 12,
                      "band": "clear"
                    }
                  }
                ],
                "tier": "stack"
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "POST"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "bodyType": {
                    "type": "string",
                    "const": "json"
                  },
                  "body": {
                    "type": "object",
                    "properties": {
                      "urls": {
                        "type": "array",
                        "description": "HTTP(S) URLs to open (1–25)",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "required": [
                      "urls"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method",
                  "bodyType",
                  "body"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/inspect",
      "description": "Dead-form + JSON-LD LocalBusiness + OG from public HTML (SSRF-safe). Query: url= or q=. Unauthenticated → HTTP 402 + PAYMENT-REQUIRED (USDC $0.02). Demo free: /v1/inspect/free or X-54ch10-Free: 1. Analytics-only stub.",
      "amount": "0.02",
      "amountAtomic": "20000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "url": "https://example.com"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "url": "https://example.com",
                "stub": true,
                "dead_form": {
                  "http_status": 200,
                  "form_present": false,
                  "form_action": null,
                  "form_action_status": null,
                  "recaptcha_v1": false,
                  "named_inputs": false
                },
                "jsonld": {
                  "local_business": {
                    "present": false,
                    "name": null,
                    "address": null,
                    "telephone": null
                  }
                },
                "og": {
                  "title": null,
                  "url": null,
                  "image": null
                },
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "url": {
                        "type": "string",
                        "description": "Public http(s) URL to inspect (alias: q=)"
                      }
                    },
                    "required": [
                      "url"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/domain",
      "description": "WHOIS + DNS + TLS bundle. Query: q= or domain=. Unauthenticated → HTTP 402 (USDC $0.008). Demo: /v1/domain/free or X-54ch10-Free: 1.",
      "amount": "0.008",
      "amountAtomic": "8000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "q": "example.com"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "q": "example.com",
                "domain": "example.com",
                "whois": {
                  "registrar": "Example Registrar",
                  "created": "1995-08-14T04:00:00Z",
                  "age_days": 11300
                },
                "dns": {
                  "a": [
                    "93.184.216.34"
                  ],
                  "flags": []
                },
                "tls": {
                  "issuer": "C=US, O=Let's Encrypt",
                  "https_reachable": true
                },
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "q": {
                        "type": "string",
                        "description": "Domain name (alias: domain=)"
                      }
                    },
                    "required": [
                      "q"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "POST",
      "path": "/v1/stack",
      "description": "Prepaid stack pack=1 (default): USDC $1.00 → 80 toolkit credits, wallet-bound to x402 payer, KV TTL 7 days. Unused credits expire. Then send X-54ch10-Stack: <id>. GET /v1/stack?id= for remaining. NOT a vault. Not refundable. Also: pack=5 ($5/500/30d), pack=25 ($25/3000/90d), pack=100 ($100/15000/180d).",
      "amount": "1.00",
      "amountAtomic": "1000000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "POST",
              "bodyType": "json",
              "body": {
                "q": "example"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "pack": 1,
                "paid_usd": "1.00",
                "credits": 80,
                "ttl_days": 7,
                "header": "X-54ch10-Stack: abc123",
                "expires": "2026-09-01T00:00:00.000Z",
                "note": "Unused credits expire. NOT a vault. Not refundable.",
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "POST"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "bodyType": {
                    "type": "string",
                    "const": "json"
                  },
                  "body": {
                    "type": "object",
                    "properties": {
                      "q": {
                        "type": "string",
                        "description": "Input"
                      }
                    },
                    "required": [
                      "q"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method",
                  "bodyType",
                  "body"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/stack",
      "description": "Buy prepaid stack pack=1 (bare GET → 402, USDC $1.00 → 80 credits, 7-day TTL) or GET ?id= for remaining. Unused credits expire. Wallet-bound. NOT a vault. Not refundable.",
      "amount": "1.00",
      "amountAtomic": "1000000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {}
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "pack": 1,
                "paid_usd": "1.00",
                "credits": 80,
                "ttl_days": 7,
                "header": "X-54ch10-Stack: abc123",
                "expires": "2026-09-01T00:00:00.000Z",
                "note": "Unused credits expire. NOT a vault. Not refundable.",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "pack": {
                        "type": "string",
                        "enum": [
                          "1",
                          "5",
                          "25",
                          "100"
                        ],
                        "description": "Prepaid pack (default 1)"
                      },
                      "id": {
                        "type": "string",
                        "description": "Stack id (remaining lookup; omit to buy)"
                      }
                    },
                    "required": []
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/stack?pack=5",
      "description": "Prepaid stack pack=5: USDC $5.00 → 500 toolkit credits, KV TTL 30 days. Unused credits expire. Wallet-bound. NOT a vault. Not refundable.",
      "amount": "5.00",
      "amountAtomic": "5000000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "pack": "5"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "pack": 5,
                "paid_usd": "5.00",
                "credits": 500,
                "ttl_days": 30,
                "header": "X-54ch10-Stack: abc123",
                "note": "Unused credits expire. NOT a vault. Not refundable.",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "pack": {
                        "type": "string",
                        "const": "5"
                      }
                    },
                    "required": [
                      "pack"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/stack?pack=25",
      "description": "Prepaid stack pack=25: USDC $25.00 → 3000 toolkit credits, KV TTL 90 days. Unused credits expire. Wallet-bound. NOT a vault. Not refundable.",
      "amount": "25.00",
      "amountAtomic": "25000000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "pack": "25"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "pack": 25,
                "paid_usd": "25.00",
                "credits": 3000,
                "ttl_days": 90,
                "header": "X-54ch10-Stack: abc123",
                "note": "Unused credits expire. NOT a vault. Not refundable.",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "pack": {
                        "type": "string",
                        "const": "25"
                      }
                    },
                    "required": [
                      "pack"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/stack?pack=100",
      "description": "Prepaid stack pack=100: USDC $100.00 → 15000 toolkit credits, KV TTL 180 days. Unused credits expire. Wallet-bound. NOT a vault. Not refundable.",
      "amount": "100.00",
      "amountAtomic": "100000000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "pack": "100"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "pack": 100,
                "paid_usd": "100.00",
                "credits": 15000,
                "ttl_days": 180,
                "header": "X-54ch10-Stack: abc123",
                "note": "Unused credits expire. NOT a vault. Not refundable.",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "pack": {
                        "type": "string",
                        "const": "100"
                      }
                    },
                    "required": [
                      "pack"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/whois",
      "description": "Domain age + registrar via public RDAP. Query: domain=. Analytics-only fraud-signal style. USDC $0.005. Demo: /v1/whois/free or X-54ch10-Free: 1.",
      "amount": "0.005",
      "amountAtomic": "5000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "domain": "example.com"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "domain": "example.com",
                "registered": true,
                "registrar": "Example Registrar, Inc.",
                "created": "1995-08-14T04:00:00Z",
                "age_days": 11300,
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "domain": {
                        "type": "string",
                        "description": "Domain name (e.g. example.com)"
                      }
                    },
                    "required": [
                      "domain"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/dns",
      "description": "A/AAAA/MX/NS summary via Cloudflare DoH (fraud-signal style). Query: domain=. USDC $0.002. Demo: /v1/dns/free or X-54ch10-Free: 1.",
      "amount": "0.002",
      "amountAtomic": "2000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "domain": "example.com"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "domain": "example.com",
                "a": [
                  "93.184.216.34"
                ],
                "mx": [
                  {
                    "preference": 0,
                    "exchange": "mail.example.com"
                  }
                ],
                "ns": [
                  "a.iana-servers.net"
                ],
                "flags": [],
                "summary": "example.com: A=1 AAAA=0 MX=1 NS=1",
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "domain": {
                        "type": "string",
                        "description": "Domain name"
                      }
                    },
                    "required": [
                      "domain"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/tls",
      "description": "TLS cert issuer/validity via Certificate Transparency (crt.sh) + HTTPS reachability. Query: domain=. USDC $0.005. Demo: /v1/tls/free or X-54ch10-Free: 1.",
      "amount": "0.005",
      "amountAtomic": "5000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "domain": "example.com"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "domain": "example.com",
                "https_reachable": true,
                "issuer": "C=US, O=Let's Encrypt, CN=R3",
                "not_before": "2026-01-01T00:00:00",
                "not_after": "2026-04-01T00:00:00",
                "days_remaining": 60,
                "flags": [],
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "domain": {
                        "type": "string",
                        "description": "Domain name"
                      }
                    },
                    "required": [
                      "domain"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/normalize-url",
      "description": "Canonicalize a URL (scheme/host/path/query). Query: q=. USDC $0.001. Demo: /v1/normalize-url/free or X-54ch10-Free: 1.",
      "amount": "0.001",
      "amountAtomic": "1000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "q": "HTTPS://Example.COM:443/a/?b=1#frag"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "input": "HTTPS://Example.COM:443/a/?b=1#frag",
                "canonical": "https://example.com/a?b=1",
                "host": "example.com",
                "flags": [
                  "fragment_stripped",
                  "default_port_stripped",
                  "query_sorted"
                ],
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "q": {
                        "type": "string",
                        "description": "URL to canonicalize"
                      }
                    },
                    "required": [
                      "q"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/hash",
      "description": "Hash UTF-8 data (sha256|sha1|md5). Query: algo=&q= or POST JSON {algo,data}. USDC $0.001. Demo: /v1/hash/free or X-54ch10-Free: 1.",
      "amount": "0.001",
      "amountAtomic": "1000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "algo": "sha256",
                "q": "hello"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "algo": "sha256",
                "hex": "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824",
                "base64": "LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=",
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "algo": {
                        "type": "string",
                        "enum": [
                          "sha256",
                          "sha1",
                          "md5"
                        ],
                        "description": "Hash algorithm"
                      },
                      "q": {
                        "type": "string",
                        "description": "UTF-8 data to hash"
                      }
                    },
                    "required": [
                      "algo",
                      "q"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/encode",
      "description": "Encode UTF-8 data (base64|hex|url). Query: format=&q= or POST JSON {format,data}. USDC $0.001. Demo: /v1/encode/free or X-54ch10-Free: 1.",
      "amount": "0.001",
      "amountAtomic": "1000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "format": "base64",
                "q": "hello"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "format": "base64",
                "encoded": "aGVsbG8=",
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "format": {
                        "type": "string",
                        "enum": [
                          "base64",
                          "hex",
                          "url"
                        ],
                        "description": "Encoding format"
                      },
                      "q": {
                        "type": "string",
                        "description": "UTF-8 data to encode"
                      }
                    },
                    "required": [
                      "format",
                      "q"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "POST",
      "path": "/v1/paste",
      "description": "Ephemeral paste WRITE — KV TTL default 1h max 24h. NOT a vault. Body {content, ttl_seconds?}. USDC $0.002. Demo: /v1/paste/free or X-54ch10-Free: 1.",
      "amount": "0.002",
      "amountAtomic": "2000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "POST",
              "bodyType": "json",
              "body": {
                "content": "hello from agent A",
                "ttl_seconds": 3600
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "id": "abc123xyz",
                "retrieve_url": "https://54ch10.uk/v1/paste?id=abc123xyz",
                "ttl_seconds": 3600,
                "note": "Ephemeral — NOT a vault.",
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "POST"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "bodyType": {
                    "type": "string",
                    "const": "json"
                  },
                  "body": {
                    "type": "object",
                    "properties": {
                      "content": {
                        "type": "string",
                        "description": "Short plaintext (max 64KB)"
                      },
                      "ttl_seconds": {
                        "type": "integer",
                        "description": "TTL seconds (default 3600, max 86400)"
                      }
                    },
                    "required": [
                      "content"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method",
                  "bodyType",
                  "body"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/paste",
      "description": "Ephemeral paste READ — GET ?id=. TTL-bound; NOT a vault. USDC $0.001. Demo: /v1/paste/free or X-54ch10-Free: 1.",
      "amount": "0.001",
      "amountAtomic": "1000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "discoverable": true,
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "id": "abc123xyz"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "id": "abc123xyz",
                "content": "hello from agent A",
                "ttl_seconds": 3600,
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Paste id"
                      }
                    },
                    "required": [
                      "id"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "method": "GET",
      "path": "/v1/brief/free",
      "description": "Human/demo free tier of the same brief (20/UTC-day/IP). Not the discovery/payment route — indexers should use /v1/brief.",
      "amount": "0",
      "discoverable": false
    }
  ],
  "payment": {
    "x402": {
      "version": 2,
      "currency": "USDC",
      "primaryNetwork": "base",
      "networks": [
        "base",
        "solana"
      ],
      "pricePerBriefUsd": "0.01",
      "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
      "payToSolana": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
      "facilitatorUrl": "https://facilitator.payai.network",
      "challengeHeaders": [
        "PAYMENT-REQUIRED",
        "PAYMENT-SIGNATURE",
        "PAYMENT-RESPONSE"
      ],
      "optInHeader": "X-54ch10-Pay: x402 (legacy force-challenge; canonical /v1/brief already 402s)",
      "freeHeader": "X-54ch10-Free: 1"
    }
  },
  "fundingNote": "Receive-only: payTo wallets do not need pre-funding to accept USDC. PayAI facilitator sponsors gas on settle. Optional later: bridge a little ETH/SOL only if self-settling.",
  "resources": [
    {
      "name": "54ch10 fetch",
      "path": "/v1/fetch",
      "method": "GET",
      "price": "$0.005",
      "description": "Page extraction / public URL to markdown. GET https://54ch10.uk/v1/fetch?url=<public URL> → status/contentType/markdown|text. $0.005 USDC. SSRF-blocked private IPs. Cap 200KB, ~10s timeout. Demo: /v1/fetch/free or X-54ch10-Free: 1.",
      "tags": [
        "v1",
        "fetch",
        "x402",
        "analytics"
      ],
      "url": "https://54ch10.uk/v1/fetch",
      "resource": "https://54ch10.uk/v1/fetch",
      "type": "http",
      "x402Version": 2,
      "mimeType": "application/json",
      "serviceName": "54ch10 fetch",
      "price_usdc": "0.005",
      "price_atomic": "5000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "5000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
          "maxTimeoutSeconds": 60,
          "extra": {
            "name": "USDC",
            "version": "2"
          }
        },
        {
          "scheme": "exact",
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "amount": "5000",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
          "maxTimeoutSeconds": 60,
          "extra": {
            "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "url": "https://example.com",
                "format": "markdown"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "url": "https://example.com",
                "status": 200,
                "contentType": "text/html",
                "format": "markdown",
                "markdown": "# Example\n\n…",
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "url": {
                        "type": "string",
                        "description": "Public http(s) URL"
                      },
                      "format": {
                        "type": "string",
                        "enum": [
                          "markdown",
                          "text"
                        ]
                      }
                    },
                    "required": [
                      "url"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "name": "54ch10 Brief",
      "path": "/v1/brief",
      "method": "GET",
      "price": "$0.01",
      "description": "Pre-interact risk brief (phishing/scam/wallet/url reputation heuristics). Query: type=address|token|url&q=…. Unauthenticated → HTTP 402 + PAYMENT-REQUIRED (USDC $0.01). Auth: Bearer 54k_ or PAYMENT-SIGNATURE. Demo free: /v1/brief/free or X-54ch10-Free: 1.",
      "tags": [
        "v1",
        "brief",
        "x402",
        "analytics"
      ],
      "url": "https://54ch10.uk/v1/brief",
      "resource": "https://54ch10.uk/v1/brief",
      "type": "http",
      "x402Version": 2,
      "mimeType": "application/json",
      "serviceName": "54ch10 Brief",
      "price_usdc": "0.01",
      "price_atomic": "10000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "10000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
          "maxTimeoutSeconds": 60,
          "extra": {
            "name": "USDC",
            "version": "2"
          }
        },
        {
          "scheme": "exact",
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "amount": "10000",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
          "maxTimeoutSeconds": 60,
          "extra": {
            "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "type": "url",
                "q": "https://example.com"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "type": "url",
                "q": "https://example.com",
                "score": 12,
                "band": "clear",
                "flags": [],
                "summary": "No elevated phishing or on-chain risk signals in free live sources.",
                "sources": [
                  {
                    "id": "openphish",
                    "label": "OpenPhish",
                    "status": "live"
                  }
                ],
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "address",
                          "token",
                          "url"
                        ],
                        "description": "What to brief"
                      },
                      "q": {
                        "type": "string",
                        "description": "Address, token id/symbol, or URL"
                      }
                    },
                    "required": [
                      "type",
                      "q"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "name": "54ch10 Open",
      "path": "/v1/open",
      "method": "GET",
      "price": "$0.015",
      "description": "One paid call before opening a URL: URL brief + WHOIS domain + page fetch (SSRF-safe). Query: q= or url=. Unauthenticated → HTTP 402 + PAYMENT-REQUIRED (USDC $0.015). Demo free: /v1/open/free or X-54ch10-Free: 1.",
      "tags": [
        "v1",
        "open",
        "x402",
        "analytics"
      ],
      "url": "https://54ch10.uk/v1/open",
      "resource": "https://54ch10.uk/v1/open",
      "type": "http",
      "x402Version": 2,
      "mimeType": "application/json",
      "serviceName": "54ch10 Open",
      "price_usdc": "0.015",
      "price_atomic": "15000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "15000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
          "maxTimeoutSeconds": 60,
          "extra": {
            "name": "USDC",
            "version": "2"
          }
        },
        {
          "scheme": "exact",
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "amount": "15000",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
          "maxTimeoutSeconds": 60,
          "extra": {
            "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "q": "https://example.com"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "q": "https://example.com",
                "url": "https://example.com",
                "brief": {
                  "score": 12,
                  "band": "clear",
                  "flags": [
                    "openphish_not_listed"
                  ],
                  "summary": "URL parsed (host: example.com).",
                  "sources": [
                    {
                      "id": "openphish",
                      "label": "OpenPhish",
                      "status": "live"
                    }
                  ]
                },
                "domain": {
                  "registrar": "RESERVED-Internet Assigned Numbers Authority",
                  "created": "1995-08-14T04:00:00Z",
                  "age_days": 11300
                },
                "page": {
                  "status": 200,
                  "contentType": "text/html",
                  "markdown": "# Example Domain\n\n…"
                },
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "q": {
                        "type": "string",
                        "description": "Public http(s) URL to open (alias: url=)"
                      }
                    },
                    "required": [
                      "q"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "name": "54ch10 Open Batch",
      "path": "/v1/open/batch",
      "method": "POST",
      "price": "$0.015",
      "description": "Bulk URL checks — same open-class brief per URL. Body JSON { urls: string[] } (1–25). Paid-only: stack debit N credits or x402 N×$0.015 USDC. Unauthenticated → HTTP 402 + PAYMENT-REQUIRED. No free tier. Human: https://linksafu.com/bulk.",
      "tags": [
        "v1",
        "open",
        "batch",
        "x402",
        "analytics"
      ],
      "url": "https://54ch10.uk/v1/open/batch",
      "resource": "https://54ch10.uk/v1/open/batch",
      "type": "http",
      "x402Version": 2,
      "mimeType": "application/json",
      "serviceName": "54ch10 Open Batch",
      "price_usdc": "0.015",
      "price_atomic": "15000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "15000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
          "maxTimeoutSeconds": 60,
          "extra": {
            "name": "USDC",
            "version": "2"
          }
        },
        {
          "scheme": "exact",
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "amount": "15000",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
          "maxTimeoutSeconds": 60,
          "extra": {
            "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "POST",
              "bodyType": "json",
              "body": {
                "urls": [
                  "https://example.com",
                  "https://example.org"
                ]
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "count": 2,
                "cap": 25,
                "results": [
                  {
                    "ok": true,
                    "q": "https://example.com",
                    "brief": {
                      "score": 12,
                      "band": "clear"
                    }
                  }
                ],
                "tier": "stack"
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "POST"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "bodyType": {
                    "type": "string",
                    "const": "json"
                  },
                  "body": {
                    "type": "object",
                    "properties": {
                      "urls": {
                        "type": "array",
                        "description": "HTTP(S) URLs to open (1–25)",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "required": [
                      "urls"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method",
                  "bodyType",
                  "body"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "name": "54ch10 Inspect",
      "path": "/v1/inspect",
      "method": "GET",
      "price": "$0.02",
      "description": "Dead-form + JSON-LD LocalBusiness + OG from public HTML (SSRF-safe). Query: url= or q=. Unauthenticated → HTTP 402 + PAYMENT-REQUIRED (USDC $0.02). Demo free: /v1/inspect/free or X-54ch10-Free: 1. Analytics-only stub.",
      "tags": [
        "v1",
        "inspect",
        "x402",
        "analytics"
      ],
      "url": "https://54ch10.uk/v1/inspect",
      "resource": "https://54ch10.uk/v1/inspect",
      "type": "http",
      "x402Version": 2,
      "mimeType": "application/json",
      "serviceName": "54ch10 Inspect",
      "price_usdc": "0.02",
      "price_atomic": "20000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "20000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
          "maxTimeoutSeconds": 60,
          "extra": {
            "name": "USDC",
            "version": "2"
          }
        },
        {
          "scheme": "exact",
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "amount": "20000",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
          "maxTimeoutSeconds": 60,
          "extra": {
            "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "url": "https://example.com"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "url": "https://example.com",
                "stub": true,
                "dead_form": {
                  "http_status": 200,
                  "form_present": false,
                  "form_action": null,
                  "form_action_status": null,
                  "recaptcha_v1": false,
                  "named_inputs": false
                },
                "jsonld": {
                  "local_business": {
                    "present": false,
                    "name": null,
                    "address": null,
                    "telephone": null
                  }
                },
                "og": {
                  "title": null,
                  "url": null,
                  "image": null
                },
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "url": {
                        "type": "string",
                        "description": "Public http(s) URL to inspect (alias: q=)"
                      }
                    },
                    "required": [
                      "url"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "name": "54ch10 Domain",
      "path": "/v1/domain",
      "method": "GET",
      "price": "$0.008",
      "description": "WHOIS + DNS + TLS bundle. Query: q= or domain=. Unauthenticated → HTTP 402 (USDC $0.008). Demo: /v1/domain/free or X-54ch10-Free: 1.",
      "tags": [
        "v1",
        "domain",
        "x402",
        "analytics"
      ],
      "url": "https://54ch10.uk/v1/domain",
      "resource": "https://54ch10.uk/v1/domain",
      "type": "http",
      "x402Version": 2,
      "mimeType": "application/json",
      "serviceName": "54ch10 Domain",
      "price_usdc": "0.008",
      "price_atomic": "8000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "8000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
          "maxTimeoutSeconds": 60,
          "extra": {
            "name": "USDC",
            "version": "2"
          }
        },
        {
          "scheme": "exact",
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "amount": "8000",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
          "maxTimeoutSeconds": 60,
          "extra": {
            "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "q": "example.com"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "q": "example.com",
                "domain": "example.com",
                "whois": {
                  "registrar": "Example Registrar",
                  "created": "1995-08-14T04:00:00Z",
                  "age_days": 11300
                },
                "dns": {
                  "a": [
                    "93.184.216.34"
                  ],
                  "flags": []
                },
                "tls": {
                  "issuer": "C=US, O=Let's Encrypt",
                  "https_reachable": true
                },
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "q": {
                        "type": "string",
                        "description": "Domain name (alias: domain=)"
                      }
                    },
                    "required": [
                      "q"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "name": "54ch10 Stack",
      "path": "/v1/stack",
      "method": "POST",
      "price": "$1.00",
      "description": "Prepaid stack pack=1 (default): USDC $1.00 → 80 toolkit credits, wallet-bound to x402 payer, KV TTL 7 days. Unused credits expire. Then send X-54ch10-Stack: <id>. GET /v1/stack?id= for remaining. NOT a vault. Not refundable. Also: pack=5 ($5/500/30d), pack=25 ($25/3000/90d), pack=100 ($100/15000/180d).",
      "tags": [
        "v1",
        "stack",
        "x402",
        "analytics"
      ],
      "url": "https://54ch10.uk/v1/stack",
      "resource": "https://54ch10.uk/v1/stack",
      "type": "http",
      "x402Version": 2,
      "mimeType": "application/json",
      "serviceName": "54ch10 Stack",
      "price_usdc": "1.00",
      "price_atomic": "1000000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "1000000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
          "maxTimeoutSeconds": 60,
          "extra": {
            "name": "USDC",
            "version": "2"
          }
        },
        {
          "scheme": "exact",
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "amount": "1000000",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
          "maxTimeoutSeconds": 60,
          "extra": {
            "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "POST",
              "bodyType": "json",
              "body": {
                "q": "example"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "pack": 1,
                "paid_usd": "1.00",
                "credits": 80,
                "ttl_days": 7,
                "header": "X-54ch10-Stack: abc123",
                "expires": "2026-09-01T00:00:00.000Z",
                "note": "Unused credits expire. NOT a vault. Not refundable.",
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "POST"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "bodyType": {
                    "type": "string",
                    "const": "json"
                  },
                  "body": {
                    "type": "object",
                    "properties": {
                      "q": {
                        "type": "string",
                        "description": "Input"
                      }
                    },
                    "required": [
                      "q"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method",
                  "bodyType",
                  "body"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "name": "54ch10 Stack",
      "path": "/v1/stack",
      "method": "GET",
      "price": "$1.00",
      "description": "Buy prepaid stack pack=1 (bare GET → 402, USDC $1.00 → 80 credits, 7-day TTL) or GET ?id= for remaining. Unused credits expire. Wallet-bound. NOT a vault. Not refundable.",
      "tags": [
        "v1",
        "stack",
        "x402",
        "analytics"
      ],
      "url": "https://54ch10.uk/v1/stack",
      "resource": "https://54ch10.uk/v1/stack",
      "type": "http",
      "x402Version": 2,
      "mimeType": "application/json",
      "serviceName": "54ch10 Stack",
      "price_usdc": "1.00",
      "price_atomic": "1000000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "1000000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
          "maxTimeoutSeconds": 60,
          "extra": {
            "name": "USDC",
            "version": "2"
          }
        },
        {
          "scheme": "exact",
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "amount": "1000000",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
          "maxTimeoutSeconds": 60,
          "extra": {
            "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {}
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "pack": 1,
                "paid_usd": "1.00",
                "credits": 80,
                "ttl_days": 7,
                "header": "X-54ch10-Stack: abc123",
                "expires": "2026-09-01T00:00:00.000Z",
                "note": "Unused credits expire. NOT a vault. Not refundable.",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "pack": {
                        "type": "string",
                        "enum": [
                          "1",
                          "5",
                          "25",
                          "100"
                        ],
                        "description": "Prepaid pack (default 1)"
                      },
                      "id": {
                        "type": "string",
                        "description": "Stack id (remaining lookup; omit to buy)"
                      }
                    },
                    "required": []
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "name": "54ch10 Stack 5",
      "path": "/v1/stack?pack=5",
      "method": "GET",
      "price": "$5.00",
      "description": "Prepaid stack pack=5: USDC $5.00 → 500 toolkit credits, KV TTL 30 days. Unused credits expire. Wallet-bound. NOT a vault. Not refundable.",
      "tags": [
        "v1",
        "stack",
        "prepaid",
        "x402",
        "analytics"
      ],
      "url": "https://54ch10.uk/v1/stack?pack=5",
      "resource": "https://54ch10.uk/v1/stack?pack=5",
      "type": "http",
      "x402Version": 2,
      "mimeType": "application/json",
      "serviceName": "54ch10 Stack 5",
      "price_usdc": "5.00",
      "price_atomic": "5000000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "5000000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
          "maxTimeoutSeconds": 60,
          "extra": {
            "name": "USDC",
            "version": "2"
          }
        },
        {
          "scheme": "exact",
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "amount": "5000000",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
          "maxTimeoutSeconds": 60,
          "extra": {
            "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "pack": "5"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "pack": 5,
                "paid_usd": "5.00",
                "credits": 500,
                "ttl_days": 30,
                "header": "X-54ch10-Stack: abc123",
                "note": "Unused credits expire. NOT a vault. Not refundable.",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "pack": {
                        "type": "string",
                        "const": "5"
                      }
                    },
                    "required": [
                      "pack"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "name": "54ch10 Stack 25",
      "path": "/v1/stack?pack=25",
      "method": "GET",
      "price": "$25.00",
      "description": "Prepaid stack pack=25: USDC $25.00 → 3000 toolkit credits, KV TTL 90 days. Unused credits expire. Wallet-bound. NOT a vault. Not refundable.",
      "tags": [
        "v1",
        "stack",
        "prepaid",
        "x402",
        "analytics"
      ],
      "url": "https://54ch10.uk/v1/stack?pack=25",
      "resource": "https://54ch10.uk/v1/stack?pack=25",
      "type": "http",
      "x402Version": 2,
      "mimeType": "application/json",
      "serviceName": "54ch10 Stack 25",
      "price_usdc": "25.00",
      "price_atomic": "25000000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "25000000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
          "maxTimeoutSeconds": 60,
          "extra": {
            "name": "USDC",
            "version": "2"
          }
        },
        {
          "scheme": "exact",
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "amount": "25000000",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
          "maxTimeoutSeconds": 60,
          "extra": {
            "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "pack": "25"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "pack": 25,
                "paid_usd": "25.00",
                "credits": 3000,
                "ttl_days": 90,
                "header": "X-54ch10-Stack: abc123",
                "note": "Unused credits expire. NOT a vault. Not refundable.",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "pack": {
                        "type": "string",
                        "const": "25"
                      }
                    },
                    "required": [
                      "pack"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "name": "54ch10 Stack 100",
      "path": "/v1/stack?pack=100",
      "method": "GET",
      "price": "$100.00",
      "description": "Prepaid stack pack=100: USDC $100.00 → 15000 toolkit credits, KV TTL 180 days. Unused credits expire. Wallet-bound. NOT a vault. Not refundable.",
      "tags": [
        "v1",
        "stack",
        "prepaid",
        "x402",
        "analytics"
      ],
      "url": "https://54ch10.uk/v1/stack?pack=100",
      "resource": "https://54ch10.uk/v1/stack?pack=100",
      "type": "http",
      "x402Version": 2,
      "mimeType": "application/json",
      "serviceName": "54ch10 Stack 100",
      "price_usdc": "100.00",
      "price_atomic": "100000000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "100000000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
          "maxTimeoutSeconds": 60,
          "extra": {
            "name": "USDC",
            "version": "2"
          }
        },
        {
          "scheme": "exact",
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "amount": "100000000",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
          "maxTimeoutSeconds": 60,
          "extra": {
            "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "pack": "100"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "pack": 100,
                "paid_usd": "100.00",
                "credits": 15000,
                "ttl_days": 180,
                "header": "X-54ch10-Stack: abc123",
                "note": "Unused credits expire. NOT a vault. Not refundable.",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "pack": {
                        "type": "string",
                        "const": "100"
                      }
                    },
                    "required": [
                      "pack"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "name": "54ch10 whois",
      "path": "/v1/whois",
      "method": "GET",
      "price": "$0.005",
      "description": "Domain age + registrar via public RDAP. Query: domain=. Analytics-only fraud-signal style. USDC $0.005. Demo: /v1/whois/free or X-54ch10-Free: 1.",
      "tags": [
        "v1",
        "whois",
        "x402",
        "analytics"
      ],
      "url": "https://54ch10.uk/v1/whois",
      "resource": "https://54ch10.uk/v1/whois",
      "type": "http",
      "x402Version": 2,
      "mimeType": "application/json",
      "serviceName": "54ch10 whois",
      "price_usdc": "0.005",
      "price_atomic": "5000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "5000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
          "maxTimeoutSeconds": 60,
          "extra": {
            "name": "USDC",
            "version": "2"
          }
        },
        {
          "scheme": "exact",
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "amount": "5000",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
          "maxTimeoutSeconds": 60,
          "extra": {
            "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "domain": "example.com"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "domain": "example.com",
                "registered": true,
                "registrar": "Example Registrar, Inc.",
                "created": "1995-08-14T04:00:00Z",
                "age_days": 11300,
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "domain": {
                        "type": "string",
                        "description": "Domain name (e.g. example.com)"
                      }
                    },
                    "required": [
                      "domain"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "name": "54ch10 dns",
      "path": "/v1/dns",
      "method": "GET",
      "price": "$0.002",
      "description": "A/AAAA/MX/NS summary via Cloudflare DoH (fraud-signal style). Query: domain=. USDC $0.002. Demo: /v1/dns/free or X-54ch10-Free: 1.",
      "tags": [
        "v1",
        "dns",
        "x402",
        "analytics"
      ],
      "url": "https://54ch10.uk/v1/dns",
      "resource": "https://54ch10.uk/v1/dns",
      "type": "http",
      "x402Version": 2,
      "mimeType": "application/json",
      "serviceName": "54ch10 dns",
      "price_usdc": "0.002",
      "price_atomic": "2000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "2000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
          "maxTimeoutSeconds": 60,
          "extra": {
            "name": "USDC",
            "version": "2"
          }
        },
        {
          "scheme": "exact",
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "amount": "2000",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
          "maxTimeoutSeconds": 60,
          "extra": {
            "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "domain": "example.com"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "domain": "example.com",
                "a": [
                  "93.184.216.34"
                ],
                "mx": [
                  {
                    "preference": 0,
                    "exchange": "mail.example.com"
                  }
                ],
                "ns": [
                  "a.iana-servers.net"
                ],
                "flags": [],
                "summary": "example.com: A=1 AAAA=0 MX=1 NS=1",
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "domain": {
                        "type": "string",
                        "description": "Domain name"
                      }
                    },
                    "required": [
                      "domain"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "name": "54ch10 tls",
      "path": "/v1/tls",
      "method": "GET",
      "price": "$0.005",
      "description": "TLS cert issuer/validity via Certificate Transparency (crt.sh) + HTTPS reachability. Query: domain=. USDC $0.005. Demo: /v1/tls/free or X-54ch10-Free: 1.",
      "tags": [
        "v1",
        "tls",
        "x402",
        "analytics"
      ],
      "url": "https://54ch10.uk/v1/tls",
      "resource": "https://54ch10.uk/v1/tls",
      "type": "http",
      "x402Version": 2,
      "mimeType": "application/json",
      "serviceName": "54ch10 tls",
      "price_usdc": "0.005",
      "price_atomic": "5000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "5000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
          "maxTimeoutSeconds": 60,
          "extra": {
            "name": "USDC",
            "version": "2"
          }
        },
        {
          "scheme": "exact",
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "amount": "5000",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
          "maxTimeoutSeconds": 60,
          "extra": {
            "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "domain": "example.com"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "domain": "example.com",
                "https_reachable": true,
                "issuer": "C=US, O=Let's Encrypt, CN=R3",
                "not_before": "2026-01-01T00:00:00",
                "not_after": "2026-04-01T00:00:00",
                "days_remaining": 60,
                "flags": [],
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "domain": {
                        "type": "string",
                        "description": "Domain name"
                      }
                    },
                    "required": [
                      "domain"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "name": "54ch10 normalize-url",
      "path": "/v1/normalize-url",
      "method": "GET",
      "price": "$0.001",
      "description": "Canonicalize a URL (scheme/host/path/query). Query: q=. USDC $0.001. Demo: /v1/normalize-url/free or X-54ch10-Free: 1.",
      "tags": [
        "v1",
        "normalize-url",
        "x402",
        "analytics"
      ],
      "url": "https://54ch10.uk/v1/normalize-url",
      "resource": "https://54ch10.uk/v1/normalize-url",
      "type": "http",
      "x402Version": 2,
      "mimeType": "application/json",
      "serviceName": "54ch10 normalize-url",
      "price_usdc": "0.001",
      "price_atomic": "1000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "1000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
          "maxTimeoutSeconds": 60,
          "extra": {
            "name": "USDC",
            "version": "2"
          }
        },
        {
          "scheme": "exact",
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "amount": "1000",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
          "maxTimeoutSeconds": 60,
          "extra": {
            "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "q": "HTTPS://Example.COM:443/a/?b=1#frag"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "input": "HTTPS://Example.COM:443/a/?b=1#frag",
                "canonical": "https://example.com/a?b=1",
                "host": "example.com",
                "flags": [
                  "fragment_stripped",
                  "default_port_stripped",
                  "query_sorted"
                ],
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "q": {
                        "type": "string",
                        "description": "URL to canonicalize"
                      }
                    },
                    "required": [
                      "q"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "name": "54ch10 hash",
      "path": "/v1/hash",
      "method": "GET",
      "price": "$0.001",
      "description": "Hash UTF-8 data (sha256|sha1|md5). Query: algo=&q= or POST JSON {algo,data}. USDC $0.001. Demo: /v1/hash/free or X-54ch10-Free: 1.",
      "tags": [
        "v1",
        "hash",
        "x402",
        "analytics"
      ],
      "url": "https://54ch10.uk/v1/hash",
      "resource": "https://54ch10.uk/v1/hash",
      "type": "http",
      "x402Version": 2,
      "mimeType": "application/json",
      "serviceName": "54ch10 hash",
      "price_usdc": "0.001",
      "price_atomic": "1000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "1000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
          "maxTimeoutSeconds": 60,
          "extra": {
            "name": "USDC",
            "version": "2"
          }
        },
        {
          "scheme": "exact",
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "amount": "1000",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
          "maxTimeoutSeconds": 60,
          "extra": {
            "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "algo": "sha256",
                "q": "hello"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "algo": "sha256",
                "hex": "2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824",
                "base64": "LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=",
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "algo": {
                        "type": "string",
                        "enum": [
                          "sha256",
                          "sha1",
                          "md5"
                        ],
                        "description": "Hash algorithm"
                      },
                      "q": {
                        "type": "string",
                        "description": "UTF-8 data to hash"
                      }
                    },
                    "required": [
                      "algo",
                      "q"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "name": "54ch10 encode",
      "path": "/v1/encode",
      "method": "GET",
      "price": "$0.001",
      "description": "Encode UTF-8 data (base64|hex|url). Query: format=&q= or POST JSON {format,data}. USDC $0.001. Demo: /v1/encode/free or X-54ch10-Free: 1.",
      "tags": [
        "v1",
        "encode",
        "x402",
        "analytics"
      ],
      "url": "https://54ch10.uk/v1/encode",
      "resource": "https://54ch10.uk/v1/encode",
      "type": "http",
      "x402Version": 2,
      "mimeType": "application/json",
      "serviceName": "54ch10 encode",
      "price_usdc": "0.001",
      "price_atomic": "1000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "1000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
          "maxTimeoutSeconds": 60,
          "extra": {
            "name": "USDC",
            "version": "2"
          }
        },
        {
          "scheme": "exact",
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "amount": "1000",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
          "maxTimeoutSeconds": 60,
          "extra": {
            "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "format": "base64",
                "q": "hello"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "format": "base64",
                "encoded": "aGVsbG8=",
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "format": {
                        "type": "string",
                        "enum": [
                          "base64",
                          "hex",
                          "url"
                        ],
                        "description": "Encoding format"
                      },
                      "q": {
                        "type": "string",
                        "description": "UTF-8 data to encode"
                      }
                    },
                    "required": [
                      "format",
                      "q"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "name": "54ch10 paste",
      "path": "/v1/paste",
      "method": "POST",
      "price": "$0.002",
      "description": "Ephemeral paste WRITE — KV TTL default 1h max 24h. NOT a vault. Body {content, ttl_seconds?}. USDC $0.002. Demo: /v1/paste/free or X-54ch10-Free: 1.",
      "tags": [
        "v1",
        "paste",
        "x402",
        "analytics"
      ],
      "url": "https://54ch10.uk/v1/paste",
      "resource": "https://54ch10.uk/v1/paste",
      "type": "http",
      "x402Version": 2,
      "mimeType": "application/json",
      "serviceName": "54ch10 paste",
      "price_usdc": "0.002",
      "price_atomic": "2000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "2000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
          "maxTimeoutSeconds": 60,
          "extra": {
            "name": "USDC",
            "version": "2"
          }
        },
        {
          "scheme": "exact",
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "amount": "2000",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
          "maxTimeoutSeconds": 60,
          "extra": {
            "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "POST",
              "bodyType": "json",
              "body": {
                "content": "hello from agent A",
                "ttl_seconds": 3600
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "id": "abc123xyz",
                "retrieve_url": "https://54ch10.uk/v1/paste?id=abc123xyz",
                "ttl_seconds": 3600,
                "note": "Ephemeral — NOT a vault.",
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "POST"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "bodyType": {
                    "type": "string",
                    "const": "json"
                  },
                  "body": {
                    "type": "object",
                    "properties": {
                      "content": {
                        "type": "string",
                        "description": "Short plaintext (max 64KB)"
                      },
                      "ttl_seconds": {
                        "type": "integer",
                        "description": "TTL seconds (default 3600, max 86400)"
                      }
                    },
                    "required": [
                      "content"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method",
                  "bodyType",
                  "body"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "name": "54ch10 paste",
      "path": "/v1/paste",
      "method": "GET",
      "price": "$0.001",
      "description": "Ephemeral paste READ — GET ?id=. TTL-bound; NOT a vault. USDC $0.001. Demo: /v1/paste/free or X-54ch10-Free: 1.",
      "tags": [
        "v1",
        "paste",
        "x402",
        "analytics"
      ],
      "url": "https://54ch10.uk/v1/paste",
      "resource": "https://54ch10.uk/v1/paste",
      "type": "http",
      "x402Version": 2,
      "mimeType": "application/json",
      "serviceName": "54ch10 paste",
      "price_usdc": "0.001",
      "price_atomic": "1000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "1000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
          "maxTimeoutSeconds": 60,
          "extra": {
            "name": "USDC",
            "version": "2"
          }
        },
        {
          "scheme": "exact",
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "amount": "1000",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
          "maxTimeoutSeconds": 60,
          "extra": {
            "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "method": "GET",
              "queryParams": {
                "id": "abc123xyz"
              }
            },
            "output": {
              "type": "json",
              "example": {
                "ok": true,
                "id": "abc123xyz",
                "content": "hello from agent A",
                "ttl_seconds": 3600,
                "tier": "x402",
                "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
              }
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "GET",
                      "HEAD",
                      "DELETE"
                    ]
                  },
                  "headers": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "queryParams": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Paste id"
                      }
                    },
                    "required": [
                      "id"
                    ]
                  }
                },
                "required": [
                  "type",
                  "method"
                ],
                "additionalProperties": false
              },
              "output": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string"
                  },
                  "example": {
                    "type": "object"
                  }
                },
                "required": [
                  "type"
                ]
              }
            },
            "required": [
              "input"
            ]
          }
        }
      }
    },
    {
      "name": "54ch10 Stack 1",
      "path": "/v1/stack?pack=1",
      "method": "GET",
      "price": "$1.00",
      "description": "Prepaid stack pack=1: USDC $1.00 → 80 toolkit credits, wallet-bound, KV TTL 7 days. Unused credits expire. NOT a vault. Not refundable. Unauthenticated → HTTP 402.",
      "tags": [
        "v1",
        "stack",
        "prepaid",
        "x402",
        "analytics"
      ],
      "url": "https://54ch10.uk/v1/stack?pack=1",
      "resource": "https://54ch10.uk/v1/stack?pack=1",
      "type": "http",
      "x402Version": 2,
      "mimeType": "application/json",
      "serviceName": "54ch10 Stack $1",
      "price_usdc": "1.00",
      "price_atomic": "1000000",
      "networks": [
        "eip155:8453",
        "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"
      ],
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "1000000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0xF9eb0Caa13B78f92E2850bf5961eB9736354aA3d",
          "maxTimeoutSeconds": 60,
          "extra": {
            "name": "USDC",
            "version": "2"
          }
        },
        {
          "scheme": "exact",
          "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
          "amount": "1000000",
          "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
          "payTo": "EcGUGSda9VNzYgUmYA8mTg88MhNYeyA5tgaCgwzxfFNs",
          "maxTimeoutSeconds": 60,
          "extra": {
            "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
          }
        }
      ]
    }
  ]
}