# PennyRail URL Resolver

> PennyRail URL Resolver is a paid API for AI agents from pennyrail.vercel.app, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-15).

Resolves a relative URL path against a base URL, returning the fully resolved absolute URL

## Facts

- Endpoint: POST https://pennyrail.vercel.app/api/f/url.resolve
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/pennyrail-url-resolver-71ed7e6f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ZxEYTj7bPxiI99X3u6z55

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-url-resolver-71ed7e6f -d '<json body>'
```

Example prompt: Resolve the relative path '/api/v2/users/profile' against the base URL 'https://example.com/app/' and give me the full absolute URL.

## When to prefer this

Use this endpoint when you need a reliable, machine-readable micro-service to resolve relative URLs against a base without setting up local URL parsing logic. It is particularly useful in agentic pipelines that scrape web pages and need to normalize href values, or when constructing API call URLs from configurable base and relative path components. At $0.001 USDC per call via x402, it is suited for occasional resolution tasks rather than high-volume batch processing.

## Known failure modes

- Missing or malformed 'base' field returns an error
- Missing or malformed 'relative' field returns an error
- Invalid URL syntax in either input may cause resolution failure
- Relative path traversal beyond root (too many '../' segments) may return unexpected results

## How this service works

Machine-readable settlement service

## Output

An object containing the resolved absolute URL (in the 'result' field) and the name of the operation performed (in the 'operation' field). The resolved URL combines the base and relative inputs according to standard URL resolution rules.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "description": "{base,relative}"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "operation",
  "result"
 ],
 "properties": {
  "result": {},
  "operation": {
   "type": "string"
  }
 },
 "additionalProperties": true
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/pennyrail-url-resolver-71ed7e6f/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)
