# PennyRail JSON Canonicalize

> PennyRail JSON Canonicalize is a paid API for AI agents from pennyrail.vercel.app, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-23).

Converts a JSON object into its canonical (deterministic, normalized) string representation

## Facts

- Endpoint: POST https://pennyrail.vercel.app/api/tools/json-canonicalize?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-23
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/pennyrail-json-canonicalize-172901d3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_OLH8nQWpiDvTk4p9HRBzA

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 pennyrail-json-canonicalize-172901d3 -d '<json body>'
```

Example prompt: Can you canonicalize this JSON object for me so I get a deterministic, normalized string I can hash or sign: {"hello": "world"}?

## When to prefer this

Choose this endpoint when you need a paid, on-demand JSON canonicalization service accessible via the x402 micropayment protocol, particularly in agent workflows that require deterministic JSON serialization for hashing, signing, or settlement record-keeping without standing up your own canonicalization infrastructure.

## Known failure modes

- Missing or malformed input JSON returns an error response
- Non-string value for the 'hello' field may cause validation failure
- Network timeout on the Vercel serverless deployment
- Payment failure (insufficient USDC balance) blocks the request via x402 protocol

## How this service works

Machine-readable settlement service

## Output

Returns a JSON object containing the canonicalized (deterministic, normalized) representation of the input JSON, with keys consistently ordered and whitespace standardized, suitable for hashing or digital signing.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "hello": {
   "type": "string"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "additionalProperties": true
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/pennyrail-json-canonicalize-172901d3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from pennyrail.vercel.app](https://www.zero.xyz/host/pennyrail.vercel.app/llms.txt)
