# SableForge — x402 v2 paid API for agents > 12 pay-per-call HTTP endpoints. USDC on Base (eip155:8453). No API keys, no accounts. Unauthenticated requests receive HTTP 402 with a base64 PAYMENT-REQUIRED header; retry with a signed PAYMENT-SIGNATURE header (EIP-3009 transferWithAuthorization). Base URL: http://sableforge.servehttp.com Asset: USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 (6 decimals, EIP-3009) Pay to: 0xa6219b4745cfe59488405bc66083660724af948b Facilitator: https://facilitator.payai.network Contact: sableforge-apis@uberip.com ## Machine-readable discovery - [endpoints.json](http://sableforge.servehttp.com/endpoints.json): every endpoint with price, tags and example response - [openapi.json](http://sableforge.servehttp.com/openapi.json): OpenAPI 3.1 description of all 12 operations - [http://sableforge.servehttp.com/.well-known/x402](http://sableforge.servehttp.com/.well-known/x402): x402 discovery card - [http://sableforge.servehttp.com/.well-known/ai/x402](http://sableforge.servehttp.com/.well-known/ai/x402): live service manifest from the resource server ## Endpoints - [Live crypto spot prices](http://sableforge.servehttp.com/api/price) — $0.0010 USDC — GET — Live crypto prices (CoinGecko). ?ids=bitcoin,ethereum&vs_currencies=usd — params: ?ids=bitcoin,ethereum&vs_currencies=usd - [IP geolocation](http://sableforge.servehttp.com/api/geo) — $0.0010 USDC — GET — IP geolocation (country, city, ISP, lat/lon). ?ip=8.8.8.8 — params: ?ip=8.8.8.8 - [DNS record lookup](http://sableforge.servehttp.com/api/dns) — $0.0010 USDC — GET — DNS record lookup (A/AAAA/MX/TXT/CNAME/SOA/NS/PTR). ?host=example.com&type=A — params: ?host=example.com&type=A - [Cryptographic hashing](http://sableforge.servehttp.com/api/hash) — $0.0010 USDC — GET — Cryptographic hash of a text string (sha256/sha512/sha1/md5), hex + base64. ?text=hi&alg=sha256 — params: ?text=hello&alg=sha256 - [Base time & block height](http://sableforge.servehttp.com/api/time) — $0.0005 USDC — GET — Current UTC time + latest Base mainnet block number. ?format=iso|unix — params: ?format=iso|unix - [Text statistics](http://sableforge.servehttp.com/api/text) — $0.0005 USDC — GET — Text statistics: chars, words, lines, bytes. ?text=... — params: ?text=hello%20world - [FX & asset rates](http://sableforge.servehttp.com/api/fx) — $0.0010 USDC — GET — FX / asset exchange rates from a base currency. ?base=USD — params: ?base=USD - [Base block explorer](http://sableforge.servehttp.com/api/block) — $0.0010 USDC — GET — Base mainnet block info by number (hash, timestamp, gas, tx count). ?number=12345678 — params: ?number=12345678 - [Base transaction decoder](http://sableforge.servehttp.com/api/tx) — $0.0020 USDC — GET — Decode a Base transaction by hash (status, from, to, value, gas). ?hash=0x.. — params: ?hash=0x… - [Base address balances](http://sableforge.servehttp.com/api/addr) — $0.0020 USDC — GET — Address balances on Base (ETH + USDC). ?addr=0x.. — params: ?addr=0x… - [URL status & header check](http://sableforge.servehttp.com/api/urlcheck) — $0.0020 USDC — GET — Fetch a URL and report HTTP status + security headers. ?url=https://example.com — params: ?url=https://example.com - [LLM chat completion](http://sableforge.servehttp.com/api/llm) — $0.0020 USDC — POST — LLM chat completion (local 27B model). POST {messages:[{role,content}]} or ?prompt= — params: {"messages":[{"role":"user","content":"…"}]} ## Example flow 1. `curl -i http://sableforge.servehttp.com/api/price` → HTTP 402, read the `PAYMENT-REQUIRED` header (base64 JSON). 2. Sign EIP-712 `TransferWithAuthorization` with your payer wallet (domain: name `USD Coin`, version `2`, chainId 8453, verifyingContract = the USDC address above). 3. Base64-encode `{"x402Version":2,"accepted":,"payload":{"signature":"0x…","authorization":{…}}}` and send it as the `PAYMENT-SIGNATURE` header on the same request. 4. HTTP 200 with the JSON payload; the `PAYMENT-RESPONSE` header carries the settlement receipt.