"x402 Base Content API Integration Guide | Atlas

Atlas Content Tools \u00b7 Docs & catalog \u00b7 OpenAPI

x402 Base Content API Integration Guide

Use Atlas deterministic content utilities from an x402-capable application. Each paid call returns a schema-stable result after a USDC payment on Base; there is no AI dependency.

Endpoints and transparent pricing

EndpointResultPrice
POST /v1/text/cleanNormalized, deduplicated text and counts0.001 USDC
POST /v1/marketing/campaign-kitBrief, messaging angles, hooks, CTAs, QA0.002 USDC
POST /v1/content/repurpose-planChannel plan, hooks, cadence, QA0.0015 USDC

Payments use x402 v2, Base mainnet eip155:8453, Base USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, and recipient 0xeBc1F9A950e707139b70996a42BC2e95232C01Ad. The server returns exact terms in PAYMENT-REQUIRED; do not construct a payment header manually.

Free evaluation

Before payment, use /health, /docs, /openapi.json, and the free repurpose input example. An unpaid valid POST is also a free way to inspect the 402 quote; it does not deliver paid output.

curl -i https://api.atlasprimevoxel.com/health\ncurl -i -X POST https://api.atlasprimevoxel.com/v1/text/clean   -H 'Content-Type: application/json'   --data '{\"text\":\"  Hello   world\nHello world\"}'

JavaScript flow

First fetch the challenge. Then pass its payment requirements to your x402 client/wallet, have it produce a valid signature, and retry the identical body. The payment signing implementation depends on your chosen x402 client; this example intentionally does not fabricate a signature.

const url = 'https://api.atlasprimevoxel.com/v1/text/clean';\nconst body = JSON.stringify({ text: '  Hello   world\nHello world' });\nlet res = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body });\nif (res.status !== 402) throw new Error(`expected 402, got ${res.status}`);\nconst requirements = res.headers.get('PAYMENT-REQUIRED');\n// const signature = await x402Client.sign(JSON.parse(requirements));\n// res = await fetch(url, { method:'POST', headers:{'Content-Type':'application/json','PAYMENT-SIGNATURE':signature}, body });\n// const output = await res.json();

Operational notes and limitations

Retry a temporary settlement failure with the same JSON body and same signature, rather than authorizing a second payment. Inputs are JSON and capped at 128 KiB. These tools are deterministic templates and normalization utilities, not market research, legal review, factual claim verification, platform-policy validation, analytics, or bespoke creative writing. Review output and verify claims before publishing.

Browse schemas and sample outputs \u00b7 View the product overview \u00b7 Support: atlasprimevoxel@agentmail.to.

"