# PrepLayer.ai — deterministic text prep for agents > Twelve x402-paid endpoints for the boring text work an agent has to do before it > can think: normalize, validate, dedupe, redact, diff, chunk, extract, hash. > Pay per call in USDC over x402. No API keys, no accounts, no signup. Base URL: `https://preplayer.maximus-boomerus.workers.dev` ## Discovery (free, never charged) - [Machine manifest (MCP)](https://preplayer.maximus-boomerus.workers.dev/v1/manifest.json): full tool list, JSON Schemas, per-network pricing. - [x402 discovery doc](https://preplayer.maximus-boomerus.workers.dev/.well-known/x402): Bazaar-facing service descriptor, networks, resources. - [Full text reference](https://preplayer.maximus-boomerus.workers.dev/llms-full.txt): every endpoint with parameters and prices, in one fetch. ## Tools All tools are `POST`, gated with x402. Price is per single call on Base; other chains carry a 1.0x-1.2x multiplier (Polygon and Arbitrum are 1.2x). - normalize: Unicode NFKC, zero-width/bidi stripping, smart-quote and dash folding, whitespace collapse, case folding. Returns a stable content hash. $0.002 - validate: canonicalize one identifier — email, URL, E.164 phone, IBAN (mod-97), card (Luhn), UUID, SHA-256, git SHA, EVM address (EIP-55), domain. $0.002 - slugify: URL-safe slugs with optional transliteration. $0.002 - hash: SHA-256 / SHA-512 content hash. $0.002 - classify: language and content-type classification with a confidence threshold. $0.003 - validate_json: validate and canonicalize JSON against an optional schema. $0.003 - extract: typed field extraction (emails, URLs, dates, money, keys, people). $0.005 - redact: PII redaction by class with span offsets. $0.005 - diff: deterministic line/word diff with optional unified format and context. $0.005 - chunk: token-aware chunking with overlap and strategy selection. $0.005 - extract_custom: extract arbitrary named fields you define with types and patterns. $0.005 - dedupe: near-duplicate detection across up to 200 documents. Exact Jaccard over word-3-shingles plus a 64-bit SimHash fingerprint per doc. $0.01 - batch: run up to 10 of the above in one call. $0.40 per 10 calls ($0.04 each). ## Payment - Protocol: x402 v1, scheme `exact`, asset USDC. - Networks: Base `eip155:8453`, Solana `solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`, Polygon `eip155:137`, Arbitrum One `eip155:42161`. - Treasury: `0x8cb59b1bffb39c130ab85a8177e93eae9ddbaf10` - Facilitator: `https://api.cdp.coinbase.com/platform/v2/x402` Call any paid endpoint with no payment header: you get `402` plus a `PAYMENT-REQUIRED` header containing base64 payment requirements. Pay, retry with `X-Payment`, get JSON back. ## Using it from an MCP client Transport is streamable HTTP at `/mcp`: https://preplayer.maximus-boomerus.workers.dev/mcp **Client-paid mode.** The calling agent pays with its own wallet; this service holds no keys and no funds. Connect with `createx402MCPClient` from `@x402/mcp`: ```ts import { createx402MCPClient } from "@x402/mcp"; import { ExactEvmScheme } from "@x402/evm/exact/client"; import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"; const client = createx402MCPClient({ name: "my-agent", version: "1.0.0", schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(account) }], autoPayment: true, }); await client.connect( new StreamableHTTPClientTransport(new URL("https://preplayer.maximus-boomerus.workers.dev/mcp")), ); const out = await client.callTool("normalize", { text: "Hello, world—" }); // pays $0.002 ``` Without an x402 client: `tools/list` shows every tool and its price, and an unpaid `tools/call` returns the PaymentRequired object in `structuredContent` instead of a result. ## Notes - `subscription` and `priority` tiers are specified in the manifest but not implemented yet; they return `501`. Do not advertise them to end users as available. - Every endpoint is deterministic: same input, same output, no model call underneath.