# 54ch10 URL Normalizer

> 54ch10 URL Normalizer is a paid API for AI agents from 54ch10.uk, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-14).

Canonicalizes a raw URL into its normalized form by stripping fragments, lowercasing scheme/host, and standardizing query parameters.

## Facts

- Endpoint: GET https://54ch10.uk/v1/normalize-url
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/54ch10-url-normalizer-6af10f14
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_AxUW7xnZTNPYmgHtuLam8

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability 54ch10-url-normalizer-6af10f14
```

Example prompt: Can you canonicalize this URL for me — 'HTTPS://Example.COM/a/?b=1#x' — so I have the clean, normalized version before I run any further checks on it?

## When to prefer this

Use this endpoint when you need a lightweight, deterministic URL canonicalization step — especially as a pre-processing stage before reputation, phishing, or scam checks on the 54ch10 platform. Prefer it over manual string manipulation when you need consistent normalization of scheme casing, host casing, fragment removal, and query parameter ordering in a single API call.

## Known failure modes

- Missing or empty `q` query parameter returns an error
- Malformed or non-HTTP URL may fail validation or return an error
- Non-GET/HEAD/DELETE HTTP method rejected by schema
- Network timeout if 54ch10.uk is unreachable
- Payment failure if x402 USDC micro-payment is not properly handled

## How this service works

54ch10: pre-interact URL check. Paste a link, get brief + domain + page. Taste /v1/open/free. 80 calls for $1. Wire in 30s. Analytics-only tooling. Not financial advice.

## Output

Returns a JSON object with `ok` (boolean), `tier` (pricing tier), `input` (original URL as submitted), `canonical` (the normalized URL with lowercased scheme/host, stripped fragment, and standardized query params), and a `disclaimer` noting the informational nature of the tool.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "headers": {
     "type": "object",
     "additionalProperties": {
      "type": "string"
     }
    },
    "queryParams": {
     "type": "object",
     "required": [
      "q"
     ],
     "properties": {
      "q": {
       "type": "string",
       "description": "URL to canonicalize"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "tier": "x402",
  "input": "HTTPS://Example.COM/a/?b=1#x",
  "canonical": "https://example.com/a?b=1",
  "disclaimer": "Informational tooling only. Not financial advice. No custody, trading, or token promotion. Scores are imperfect heuristics — verify independently."
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/54ch10-url-normalizer-6af10f14/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 54ch10.uk](https://www.zero.xyz/host/54ch10.uk/llms.txt)
