VM01 // URL CONTEXT PACK

MACHINE 001

URL Context Pack

Live 0.01 USDC

Give the machine one public HTTPS URL. It fetches that page under fail-closed outbound rules and returns bounded, deterministic structured context: metadata, headings, main text, JSON-LD types, freshness observations, size estimates, evidence, and limitations.

PURPOSE

Plain-English job

Agents often need a compact, inspectable reading of a public page without running a browser or an LLM. URL Context Pack does one fetch and returns a bounded JSON pack. It does not log in, crawl a site, or generate commentary.

WHEN TO CALL

Job-shaped selection

Call when you need a bounded JSON reading of one public HTTPS page without a browser, login, site crawl, or LLM. Not for private URLs, http, non-443 ports, authenticated pages, or multi-URL crawls. Sibling first-party machines are listed on GET /v1/catalog.

INPUT

Public HTTPS URL

JSON body with a single required field. Additional properties are rejected.

{
  "url": "https://example.com/"
}

The example is the OpenAPI/Bazaar contract example used in tests.

OUTPUT

Deterministic structured context

Status is OK, PARTIAL, or HOLD. Representative contract example:

{
  "status": "OK",
  "methodology_version": "url-context-0.1.0",
  "requested_url": "https://example.com/",
  "final_url": "https://example.com/",
  "metadata": {
    "title": "Example Domain",
    "description": null,
    "canonical": "https://example.com/"
  },
  "content": {
    "extraction_basis": "body-heuristic",
    "truncated": false
  },
  "limitations": []
}
OUTPUT FIELDS FROM IMPLEMENTATION

What a full result contains

HTTPstatus, content-type, redirect count
METADATAtitle, description, canonical
OUTLINEheading level + text, bounded
CONTENTtext, extraction basis, character/token estimates
STRUCTURED DATAJSON-LD @type values, including @graph
FRESHNESSobserved dates/headers only; no invented stale/fresh label
SIZEsource bytes, output JSON bytes, normalized characters
EVIDENCE / LIMITSnotes and explicit limitations travel with the result
LIMITATIONS

Known bounds

SECURITY BOUNDARIES // PUBLIC

What is safe to say publicly

Public machine payTo (contract field, not a manual-pay destination): 0xdb7b2b54f80479826222749a2ea73a8acc306e1e

CONTRACT

Verified live routes

Live public API origin, verified read-only during this storefront task:

POST https://api.agentmercantile.com/v1/url-context

GET https://api.agentmercantile.com/openapi.json

Unsigned POST of the example body returns HTTP 402 with x402 v2 exact 10,000 atomic Base USDC. This page does not run that call in the browser and does not start a payment. Public contact: contact@agentmercantile.com.