# Spread Paywall API > Pay-per-call API for AI agents: 186 endpoints for live crypto market data, SOL CEX/DEX spread and arbitrage data, Base chain reads, a 59-endpoint verification suite (IBAN, VIN, ISBN, email, crypto addresses, smart-contract lint and more), AI inference, token audits, web scraping, search, and micro-utilities. No accounts, no API keys — payment is the auth. Payment: x402 protocol (HTTP 402). USDC on Base (eip155:8453) and Solana (solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp). Prices from $0.001 to $0.05 per call, shown per endpoint below. Base URL: https://workspace-x402-paywall.onrender.com OpenAPI spec: https://workspace-x402-paywall.onrender.com/openapi.json How to call: send a GET request to any endpoint. If unpaid, the server returns HTTP 402 with payment terms in the PAYMENT-REQUIRED header (and mirrored in the response body). Pay with any x402 client and retry the same request. MPP: this API also accepts the Machine Payments Protocol (HTTP 402 with a WWW-Authenticate: Payment challenge; retry with an Authorization: Payment credential). Tempo rail: pathUSD on Tempo (chainId 4217). Stripe rail: cards and Link via Shared Payment Tokens, on routes priced at $0.50 or more. ## AI - GET /ai/ask — $0.005 — Ask an LLM anything: sends a text prompt and returns the generated answer as text - general-purpose inference (reasoning, drafting, summarization, Q&A) for agents without their own model key - GET /ai/image — $0.01 — Generates a 1024x1024 image from a text description and returns a ready-to-use image URL - illustrations, thumbnails and visual assets on demand - GET /ai/models — $0.001 — Returns a JSON array of the AI models this API can serve (live from the upstream provider), each with name, description and capabilities ## AI Data - GET /scrape — $0.01 — Fetches any public URL and returns the page content as clean Markdown text - for agents that need to read articles, docs and web pages without browser tooling - GET /scrape/pdf — $0.01 — Fetches a PDF from a URL and returns the extracted text as a string in a JSON object, capped at 50,000 characters ## Chain Data - GET /chain/balance — $0.003 — Returns a JSON object with the native ETH balance of a Base address - GET /chain/block-number — $0.001 — Returns a JSON object with the current Base block number - GET /chain/erc20-balance — $0.003 — Returns a JSON object with the ERC-20 token balance of a Base address - GET /chain/slot — $0.001 — Returns a JSON object with the current Solana slot - GET /chain/sol-balance — $0.003 — Returns a JSON object with the native SOL balance of a Solana wallet - GET /chain/spl-balance — $0.003 — Returns a JSON object with SPL token balances for a Solana wallet and mint ## Crypto - GET /btc/fees — $0.005 — Returns a JSON object with current Bitcoin network fee estimates in satoshis per vByte - GET /crypto/ohlcv — $0.005 — Returns the latest OHLCV candles (open, high, low, close, volume) for a crypto coin such as btc-bitcoin - price history for charting, backtests and momentum checks without a market-data subscription - GET /crypto/prices — $0.005 — Returns a JSON array of top cryptocurrencies by market cap with USD prices - GET /solana/audit — $0.05 — Audits a Solana token for rug-pull risk: RugCheck risk score, risk level and the specific risk findings - for agents screening tokens before trading - GET /wallet/portfolio — $0.05 — Returns a JSON object with native SOL balance and an array of SPL token balances for a Solana wallet - GET /whale-watch — $0.05 — Returns the most recent swaps of any Solana wallet - timestamp, transaction signature, a plain-language description of each swap and the network fee - for copy-trading screens, whale tracking and wallet forensics ## Data - GET /spread — $0.005 — Live SOL prices from the top 5 centralized exchanges and top 5 Solana DEXs with the widest bid-ask spread, in gross and estimated net basis points - for arbitrage screening, price discovery and execution checks - GET /spread/base — $0.005 — Returns a JSON object with live cross-DEX spreads on Base for a token (default WETH), plus the widest spread detected ## DeFi - GET /defi/tvl — $0.005 — Returns a JSON array of total value locked figures across 468 blockchain chains - GET /defi/yields — $0.005 — Returns a JSON array of top DeFi yield pools sorted by APY percentage ## Dev - GET /dev/crates — $0.005 — Returns a JSON object with metadata, version, and download count for a Rust crate name - GET /dev/dns — $0.005 — Returns a JSON object with DNS records for a domain name string via Google DNS-over-HTTPS - GET /dev/stackoverflow — $0.005 — Returns a JSON array of Stack Overflow questions matching the query with titles and scores ## FX - GET /fx/convert — $0.005 — Converts an amount between any two ISO currency codes at the current rate and returns the rate used plus the converted result - one-call currency math for commerce and travel agents - GET /fx/rates — $0.005 — Returns current European Central Bank reference FX rates for a base currency (default USD), optionally filtered to specific symbols - currency tables for pricing, accounting and travel agents ## Finance - GET /finance/tickers — $0.005 — Returns a JSON array of all US public company ticker symbols with CIK numbers ## Food - GET /food/search — $0.005 — Searches the Open Food Facts product database by name and returns matching packaged foods with brand and Nutri-Score grade - product lookup for grocery, nutrition and shopping agents ## Fun - GET /fun/anime — $0.005 — Returns a JSON array of anime titles matching the query with scores and episode counts - GET /fun/lyrics — $0.005 — Returns a JSON object with song lyrics text for an artist and title string - GET /fun/tv — $0.005 — Returns a JSON array of TV shows matching the query with names, ratings, and premiere dates - GET /fun/advice — $0.005 — Returns a JSON object with a random piece of advice - GET /fun/chuck — $0.005 — Returns a random Chuck Norris joke as a JSON object - GET /fun/dog — $0.005 — Returns a JSON object with a random dog photo URL and its breed - GET /fun/fact — $0.005 — Returns a JSON object with a random interesting fact and its source - GET /fun/joke — $0.005 — Returns a random joke (safe-mode) as a JSON object with the joke text or a setup/delivery pair - GET /fun/pokemon — $0.005 — Returns a JSON object with Pokedex data for a Pokemon by name (or a random one): types, abilities, base stats and sprite URL - GET /fun/trivia — $0.005 — Returns a JSON array of trivia questions with category, difficulty, the correct answer and all answer options - GET /fun/xkcd — $0.005 — Returns a JSON object with an xkcd comic (latest by default, or by number): title, image URL and alt text ## Geo - GET /geo/elevation — $0.005 — Returns the ground elevation in meters for any latitude/longitude point - terrain context for mapping, routing, hiking and site-planning agents - GET /geo/ip — $0.005 — Returns a JSON object with city, country, latitude, and longitude for an IPv4 or IPv6 address string - GET /geo/sun — $0.005 — Returns a JSON object with sunrise and sunset times as ISO 8601 strings for given coordinates - GET /geo/zip — $0.005 — Resolves a postal code plus country to its place(s): name, state and latitude/longitude for each - address normalization and location lookup for logistics and commerce agents ## Government - GET /gov/datasets — $0.005 — Returns a JSON array of US government datasets matching the query string - GET /gov/fbi — $0.005 — Returns a JSON array of FBI wanted persons with names, charges, and descriptions - GET /gov/federal-register — $0.005 — Returns a JSON array of recent US federal register documents with titles and dates ## Health - GET /health/gene — $0.005 — Returns a JSON object with gene annotations and identifiers for a gene symbol string - GET /health/trials — $0.005 — Returns a JSON array of clinical trials matching the query with phase, status, and conditions ## Jobs - GET /jobs/remote — $0.005 — Returns a JSON array of remote job listings with titles, companies, and locations ## Markets - GET /markets/polymarket — $0.005 — Returns a JSON array of live Polymarket prediction market events with odds and volume - GET /markets/kalshi — $0.005 — Returns a JSON array of live Kalshi prediction market events with prices in dollars (implied probability), volume and close times - GET /market/brief — $0.02 — One-call market brief: BTC/ETH/SOL spot prices with 24h change, the Crypto Fear and Greed index, top trending prediction markets by 24h volume, and the widest verified Kalshi-vs-Polymarket cross-venue gap - GET /markets/expiring-soon — $0.015 — Returns prediction markets on Polymarket and Kalshi closing inside a time window (default 48 hours), soonest first, with live Yes prices, volume, hours to close, and a near_boundary flag for contracts priced at or above 0.95 or at or below 0.05 - GET /brief/topic — $0.05 — One-call topic brief: prediction-market prices for the topic on Polymarket and Kalshi, the SEC EDGAR company record when the topic is a listed company, a spot price when the topic is a major crypto asset, and a short encyclopedia context - query with ?q= - GET /brief/full — $0.05 — Full market bundle: the topic brief, the market brief, the live SOL CEX/DEX spread snapshot, and prediction markets expiring in the next 48 hours, in one call - query with ?q= - GET /brief/pack — $0.025 — Mid-tier market pack: the topic brief, prediction markets expiring in the next 48 hours, and the live SOL CEX/DEX spread snapshot, in one call - query with ?q= - GET /portfolio/generate — $0.05 — Efficient portfolio generator for agents: a BTC/ETH/SOL + USDC allocation for a risk level (conservative, balanced or aggressive), weighted by inverse volatility inside a risk template from 7 days of live Coinbase hourly candles - returns weights, dollar amounts, spot prices and realized volatility - GET /trade/analyze — $0.025 — Mechanical trade analysis for trading bots: 24h range position, trend, mean-reversion (Ornstein-Uhlenbeck) half-life, 4h momentum, support/resistance and a rule-based verdict for any symbol with a Coinbase USD pair - query with ?symbol= - GET /portfolio/analyze — $0.05 — Portfolio analyzer for agents: grades an existing portfolio given as SYMBOL:AMOUNT holdings - live values and weights (Coinbase for crypto, Yahoo/Nasdaq for US stocks), stable/crypto/stock split, largest position, per-asset 30d volatility, portfolio volatility estimate and concentration flags - query with ?holdings= ## Meme Data - GET /meme/new — $0.005 — Returns a JSON array of newly launched meme tokens on the specified chain or all chains - GET /meme/token — $0.005 — Returns a JSON object with price, volume, and liquidity data for a token contract address - GET /meme/trending — $0.005 — Returns a JSON array of trending meme coin liquidity pools on the specified chain ## Politics - GET /politics/headlines — $0.005 — Returns a JSON array of today's top global news stories (Wikipedia In the News) with article topics for each story - GET /politics/kalshi — $0.005 — Returns a JSON array of Kalshi politics market events with prices in dollars (implied probability) and volume - GET /politics/markets — $0.005 — Returns a JSON array of live Polymarket politics events (US and global) with odds and volume - GET /politics/polymarket — $0.005 — Returns a JSON array of live Polymarket politics events (US and global) with odds and volume - mirrors /politics/kalshi ## Pump.fun - GET /pump/chains — $0.005 — Returns a JSON array of 100+ supported blockchain chain identifiers for meme token endpoints - GET /pump/migrating — $0.005 — Returns a JSON array of pump.fun tokens approaching Raydium migration threshold, sorted by migration progress percentage - GET /pump/new — $0.005 — Returns a JSON array of newly launched meme tokens with price and market cap data - GET /pump/trending — $0.005 — Returns a JSON array of trending meme coin liquidity pools on the specified chain ## Reference - GET /ref/books — $0.005 — Returns a JSON array of books matching the query with titles, authors, and publish years - GET /ref/countries — $0.005 — Returns country profiles from the World Bank: name, capital, region, income level and coordinates for one country by ISO code or every country - GET /ref/define — $0.005 — Returns a JSON array of dictionary definitions for an English word string - GET /ref/holidays — $0.005 — Returns the public holidays for a country and year with date plus English and local names - business-day, scheduling and payroll logic without maintaining holiday tables ## Science - GET /science/papers — $0.005 — Returns a JSON array of scholarly papers matching the query with titles, authors, and DOIs - GET /science/quakes — $0.005 — Returns a JSON array of recent earthquakes with magnitude, location, and timestamp from USGS ## Search - GET /lookup/pypi — $0.005 — Looks up a PyPI package by exact name and returns its current version and summary - dependency checks for Python coding agents - GET /search/arxiv — $0.005 — Searches arXiv by keyword and returns matching papers with title, arXiv ID, publication date and abstract - literature lookup for research agents - GET /search/fda — $0.005 — Searches FDA drug labels (openFDA) by drug name or keyword and returns matches with brand name, generic name and manufacturer - drug-label lookup for health research agents - GET /search/geo — $0.005 — Geocodes an address or place name via OpenStreetMap and returns up to 5 matches with formatted address and latitude/longitude - turn free-text locations into coordinates - GET /search/github — $0.005 — Searches GitHub repositories, code, users or issues by keyword and returns matches with URL, description, stars and last-updated date, plus the total match count - code discovery for developer agents - GET /search/hn — $0.005 — Searches Hacker News by keyword and returns matching stories with URL, points and comment count - tech-trend and community-signal research - GET /search/npm — $0.005 — Searches the npm registry by keyword and returns matching packages with name, version and description - dependency and library research for coding agents - GET /search/sec — $0.005 — Searches SEC EDGAR full-text by keyword and returns matching filings with form type, filing date and accession number - filing discovery for finance and compliance agents - GET /search/wikipedia — $0.005 — Searches Wikipedia by keyword and returns matching article titles with text snippets - quick encyclopedia context for research and RAG agents ## Social - GET /social/bluesky — $0.005 — Returns a JSON array of Bluesky social users matching the query with handles and bios ## Solana - GET /solana/top100 — $0.005 — Returns a JSON array of the top 100 Solana tokens by market cap with prices in USD and SOL ## Space - GET /space/iss — $0.005 — Returns a JSON object with the current latitude and longitude of the International Space Station - GET /space/spacex — $0.005 — Returns a JSON object with details of the most recent SpaceX launch ## Sports - GET /sports/football — $0.005 — Returns a JSON array of German Bundesliga football matches with scores and dates - GET /sports/nhl — $0.005 — Returns a JSON array of NHL team standings with wins, losses, and points - GET /sports/kalshi — $0.005 — Returns a JSON array of Kalshi game-winner markets for a league (NHL, NBA, NFL, MLB, FIFA World Cup) with live bid/ask/last prices in dollars = implied win probability - GET /sports/polymarket — $0.005 — Returns a JSON array of Polymarket sports markets for a league (NHL, NBA, NFL, MLB, EPL, soccer) with odds - mirrors /sports/kalshi - GET /sports/scores — $0.005 — Returns a JSON array of games for a league (NHL, NBA, NFL, MLB, FIFA World Cup, EPL, FIFA qualifiers) with live scores, status/clock and betting odds (spread, over/under) when available ## Stocks - GET /stocks/list — $0.005 — Returns a JSON array of tokenized stocks with live prices - GET /stocks/price — $0.005 — Live quote for a tokenized stock (xStocks such as AAPLx, NVDAx, TSLAx): USD price, 24h change, 24h volume and liquidity from the most active DEX pair, with the chain and DEX named - tokenized-equity pricing without a brokerage feed ## Utilities - GET /ping — $0.001 — Health check endpoint for x402 payment flow testing: returns a JSON object with service status and the current server timestamp - GET /utils/base64 — $0.001 — Encodes text to base64 or decodes base64 back to text and returns the result string - payload encoding/decoding for agents without local shell tooling - GET /utils/cron-explain — $0.001 — Explains a 5-field cron expression field by field in plain language - GET /utils/csv2json — $0.001 — Converts CSV to a JSON array of objects - GET /utils/hash — $0.001 — Computes a cryptographic hash (sha256, sha512, sha1 or md5) of input text and returns the hex digest - checksums and content fingerprinting for agents without local tooling - GET /utils/html2md — $0.001 — Converts HTML to Markdown-ish plain text - GET /utils/ip — $0.001 — Returns the public IP address of the caller as seen by the server - egress-IP checks for agents running behind proxies or VPNs - GET /utils/json-validate — $0.001 — Validates JSON syntax and optionally checks it against a JSON Schema subset - GET /utils/json2csv — $0.001 — Converts a JSON array of objects to CSV - GET /utils/jwt-decode — $0.001 — Decodes a JWT header and payload (signature not verified) - GET /utils/md2html — $0.001 — Converts Markdown to HTML - GET /utils/password-generator — $0.001 — Generates a cryptographically random password - GET /utils/qr — $0.001 — Builds a QR-code image URL for the given text (free provider, properly encoded) - GET /utils/text-diff — $0.001 — Line-based diff of two texts with added/removed counts and hunks - GET /utils/time — $0.001 — Returns the current server time as a Unix timestamp (seconds and milliseconds) and an ISO 8601 string - a trusted external clock for scheduling, expiry checks and log correlation - GET /utils/timezone — $0.001 — Converts a datetime between IANA timezones - GET /utils/uuid — $0.001 — Generates random UUID v4 values (1-100 per call) and returns them in a JSON object with the count and the uuids array - unique IDs for records, sessions and idempotency keys - GET /utils/xml2json — $0.001 — Converts an XML document to JSON (dependency-free parser) ## Verification - GET /verify/address/btc — $0.001 — Validates Bitcoin P2PKH/P2SH/bech32 addresses - GET /verify/address/evm — $0.001 — Validates an EVM address and its EIP-55 checksum - GET /verify/address/polkadot — $0.001 — Validates a Polkadot/Substrate ss58 address checksum - GET /verify/address/solana — $0.001 — Validates a Solana address (base58, 32 bytes) - GET /verify/asn — $0.001 — Validates an Autonomous System Number and reports scope - GET /verify/base64 — $0.001 — Strictly validates base64/base64url encoding structure - GET /verify/card — $0.005 — Validates a card number Luhn checksum and detects the brand (format check only) - GET /verify/container — $0.005 — Validates an ISO 6346 shipping container code check digit - GET /verify/contract — $0.001 — Surface-level smart-contract linter: flags dangerous Solidity/Rust patterns (selfdestruct, delegatecall, tx.origin, unsafe blocks, missing signer checks) - GET /verify/cron — $0.001 — Validates a cron expression and computes the next run time - GET /verify/cusip — $0.005 — Validates a CUSIP securities identifier checksum - GET /verify/dea — $0.005 — Validates a DEA number format and checksum, returns a JSON object with validation result - GET /verify/dns — $0.001 — Returns DNS records (A/NS/MX/TXT) for a domain via DNS-over-HTTPS - GET /verify/domain — $0.005 — Returns RDAP registration status, age, expiry, and registrar for a domain - GET /verify/e164 — $0.001 — Validates E.164 international phone number formatting - GET /verify/ean — $0.005 — Validates EAN-13/EAN-8 barcode checksums - GET /verify/ein — $0.005 — Validates a US EIN format and IRS prefix - GET /verify/email — $0.01 — Validates email syntax and live MX records via DNS-over-HTTPS - GET /verify/email-disposable — $0.001 — Checks whether an email domain is a known disposable/throwaway provider - GET /verify/ens — $0.001 — Validates an ENS name against EIP-137 normalization rules - GET /verify/fedex — $0.005 — Validates FedEx tracking number structure (12/15/20/22 digits; checksum not published by FedEx) - GET /verify/hash/md5 — $0.001 — Validates a 32-char MD5 hex digest format - GET /verify/hash/sha256 — $0.001 — Validates a 64-char SHA-256 hex digest format - GET /verify/iban — $0.005 — Validates an IBAN checksum (ISO 13616 mod-97) and parses country/bank codes - GET /verify/imei — $0.005 — Validates a device IMEI Luhn checksum - GET /verify/ipv4 — $0.001 — Validates IPv4 format and classifies the address range - GET /verify/ipv6 — $0.001 — Validates IPv6 format and classifies the address range - GET /verify/isbn — $0.005 — Validates ISBN-10/ISBN-13 checksums - GET /verify/isin — $0.005 — Validates an ISIN securities identifier checksum - GET /verify/issn — $0.001 — Validates an ISSN check digit (ISO 3297) - GET /verify/json — $0.001 — Strictly validates JSON and pinpoints syntax errors - GET /verify/jwt — $0.001 — Structurally decodes a JWT header/payload and checks expiry (no signature verify) - GET /verify/lei — $0.005 — Validates a Legal Entity Identifier (ISO 17442 mod-97) - GET /verify/lightning — $0.001 — Validates a BOLT11 Lightning invoice: bech32 checksum, network, amount, timestamp and tagged fields - GET /verify/mac — $0.001 — Validates a MAC address and parses OUI/multicast bits - GET /verify/meid — $0.005 — Validates a device MEID hex format and check digit - GET /verify/nino — $0.005 — Validates a UK National Insurance number format and prefix rules - GET /verify/npi — $0.01 — Validates a 10-digit NPI number checksum and returns a JSON object with validation result plus CMS NPPES registry enrichment data - GET /verify/orcid — $0.001 — Validates an ORCID iD checksum (ISO 7064 MOD 11-2) - GET /verify/passport/mrz — $0.005 — Validates passport MRZ check digits (ICAO 9303, 2x44 chars) - GET /verify/password-strength — $0.001 — Scores password strength 0-4 with crack-time estimate and feedback (password never echoed back) - GET /verify/pwned — $0.01 — Checks a password against breach data via HIBP k-anonymity (never sent in full) - GET /verify/routing — $0.005 — Validates a US bank routing number (ABA) checksum - GET /verify/sedol — $0.005 — Validates a SEDOL (UK securities) checksum - GET /verify/semver — $0.001 — Validates Semantic Versioning 2.0.0 format - GET /verify/sin — $0.005 — Validates a Canadian SIN Luhn checksum - GET /verify/ssh-key — $0.001 — Validates an OpenSSH public key structure and reports algorithm/bit length (key is never echoed) - GET /verify/ssl — $0.005 — Fetches a domain TLS certificate and reports validity window and expiry - GET /verify/ssn — $0.005 — Validates a US SSN format against impossible SSA combinations (format only) - GET /verify/swift — $0.005 — Validates a SWIFT/BIC code structure and parses bank/country/branch - GET /verify/ulid — $0.001 — Validates ULID format and extracts its timestamp - GET /verify/upc — $0.005 — Validates UPC-A/UPC-E barcode checksums - GET /verify/upi — $0.005 — Validates a UPI ID format (India, handle@bank) - GET /verify/ups — $0.005 — Validates a UPS tracking number (1Z) check digit - GET /verify/url-malicious — $0.001 — Checks a URL/host against the URLhaus malware feed: clean, malicious, or unknown - GET /verify/usps — $0.005 — Validates a USPS tracking number checksum - GET /verify/uuid — $0.001 — Validates UUID structure and detects the version - GET /verify/vat — $0.005 — Validates an EU/GB VAT number format per country rules - GET /verify/vin — $0.005 — Validates a VIN check digit and decodes year/plant ## Predict - GET /predict/spread — $0.005 — Returns title-matched Kalshi vs Polymarket prices on the same political questions with the cross-venue price gap in percentage points and basis points - prediction-market arbitrage screening - GET /predict/trending — $0.005 — Returns the trending prediction markets right now: top Polymarket events by 24h volume plus headline Kalshi election and Fed series, labeled by venue - GET /predict/search — $0.005 — Searches live prediction markets on both Polymarket and Kalshi by keyword and returns matching events with odds from both venues in one call - GET /kalshi/elections — $0.005 — Returns Kalshi US election market events: the 2028 presidential party-winner series and the House-majority series, with prices in dollars (implied probability) and volume - GET /polymarket/elections — $0.005 — Returns live Polymarket US election events (elections, 2026 midterms, House races) deduplicated across tags and sorted by volume - GET /markets/fear-greed — $0.005 — Returns the current Crypto Fear and Greed Index value (0-100), its classification and timestamp - GET /defi/stablecoins — $0.005 — Returns the top stablecoins by circulating supply with live price and peg type - GET /defi/protocols — $0.005 — Returns the top DeFi protocols by TVL with 1-day and 7-day change percentages - GET /edgar/company — $0.005 — Resolves a US stock ticker to its SEC EDGAR company record: CIK number, legal name and submissions URL - GET /solana/token-holders — $0.005 — Returns the top 20 holders of a Solana token mint with percent of supply each, plus top-10 and top-20 concentration percentages - GET /sports/ufc — $0.005 — Returns UFC events from the ESPN MMA scoreboard with status and the fight card (both fighters per bout, odds summary when available) - GET /sports/ufc-odds — $0.005 — Returns live Polymarket UFC markets with current Yes/No prices per outcome ## Weather - GET /weather/current — $0.005 — Returns a JSON object with current weather conditions and forecast for a location