# stall-row — a row of x402 micro-services Eleven paid endpoints in one deployment. No API key; payment is the authentication (x402 v2, exact scheme, USDC on Base). Every route states its data sources and marks fields it cannot supply as unknown — nothing is fabricated, and an upstream failure returns 502 so the payment does not settle. ## Paid endpoints ### `POST https://stall-row-production.up.railway.app/v1/wallet-snapshot` — $0.005 USDC Snapshot one Base wallet in a single call: ETH balance, top token holdings, first and last activity, and outgoing transaction count. Use this when an agent needs a wallet's shape before deciding to pay, trust, or transact with it. Explorer fields that cannot be supplied come back marked unknown, never invented. Input example: `{'address': '0x097f9685D1e0752bF8B02d61E5Ce9be7eA0FBA7F'}` ### `POST https://stall-row-production.up.railway.app/v1/allowance-audit` — $0.005 USDC Audit one Base wallet's ERC-20 approvals against a curated list of major spenders (Permit2, Uniswap, Aerodrome, aggregators): active approvals are listed and unlimited ones flagged high risk. Use this when an agent or its owner wants to know what a wallet has already authorized before it holds or moves funds. Input example: `{'address': '0x097f9685D1e0752bF8B02d61E5Ce9be7eA0FBA7F'}` ### `POST https://stall-row-production.up.railway.app/v1/tx-decoder` — $0.002 USDC Decode one Base transaction into plain English: sender, receiver, ETH value, status, the known method behind the selector, every ERC-20 transfer it made, and a one-sentence summary. Use this when an agent needs to explain or verify what a transaction actually did before acting on it. Input example: `{'tx_hash': '0xabababababababababababababababababababababababababababababababab'}` ### `POST https://stall-row-production.up.railway.app/v1/gas-oracle` — $0.001 USDC Current Base gas in one call: the live gas price, the current base fee, the base-fee range across the last 20 blocks, whether fees are rising, falling, or flat, and a cheap-window hint drawn from that data. Use this when an agent wants to time a transaction instead of paying whatever the moment charges. Input example: `{}` ### `POST https://stall-row-production.up.railway.app/v1/wallet-verdict` — $0.02 USDC A trust verdict for one Base wallet: OFAC SDN exact-match against a dated snapshot, wallet age, activity level, and an address-poisoning scan of its recent token transfers, combined into SAFE, CAUTION, or AVOID with a 0-100 score and itemized reasons. Use this when an agent must decide whether a wallet is safe to pay or take instructions from. Input example: `{'address': '0x097f9685D1e0752bF8B02d61E5Ce9be7eA0FBA7F'}` ### `POST https://stall-row-production.up.railway.app/v1/tube-search` — $0.01 USDC YouTube search results as clean JSON: title, video id, URL, channel, duration, and views for each result, scraped from the public results page with no API key. Use this when an agent needs to find a video mid-task and cannot drive a browser or hold a Google API key. Input example: `{'query': 'base blockchain x402 tutorial', 'max_results': 5}` ### `POST https://stall-row-production.up.railway.app/v1/page-to-markdown` — $0.01 USDC Fetch one web page and return its main content as clean Markdown with title and word count, extracted server-side. Private and loopback targets are refused. Use this when an agent needs to read a page inside a workflow without a browser and without wading through navigation and boilerplate. Input example: `{'url': 'https://www.x402.org/'}` ### `POST https://stall-row-production.up.railway.app/v1/repo-vitals` — $0.005 USDC Vital signs for one GitHub repository in a single call: stars, forks, open issues, license, last push, archived flag, and a 0-100 health score with a verdict line. Use this when an agent is choosing a dependency, a repo to contribute to, or a project to trust, and needs the quick read before the deep one. Input example: `{'repo': 'QuincyGB/token-verdict'}` ### `POST https://stall-row-production.up.railway.app/v1/price-check` — $0.05 USDC Pricing comps for an x402 listing, read live from the CDP Bazaar public catalog: how many resources match your keywords, their price distribution, the closest comparables, and a recommended listing price with its rationale. Use this when you operate an x402 route and are setting or changing its price. Input example: `{'keywords': 'token risk verdict'}` ### `POST https://stall-row-production.up.railway.app/v1/card-smith` — $0.1 USDC Generate or grade an agent card (the /.well-known/agent-card.json an agent publishes for A2A and AgentWorld-style registries). Generate builds a structurally valid card from your fields; grade scores a supplied card and itemizes its defects. Use this when you are registering an agent and want the card right the first time. Input example: `{'mode': 'generate', 'name': 'Ren', 'description': 'Research agent', 'skills': ['research']}` ### `POST https://stall-row-production.up.railway.app/v1/job-scout` — $0.05 USDC A digest of currently open agent jobs from the marketplaces we sweep daily, filtered by the capabilities you name and sorted by budget: platform, budget, capability tags, deadline, and source snapshot time on every row, with a stale flag when the snapshot ages past 24 hours. Use this when your agent is looking for paid work. Input example: `{'capabilities': ['research'], 'limit': 5}` ## Free endpoints - `GET https://stall-row-production.up.railway.app/quote` — every route's price, network, payTo - `GET https://stall-row-production.up.railway.app/health` — liveness - `GET https://stall-row-production.up.railway.app/.well-known/x402` — machine-readable manifest