{"openapi":"3.1.0","info":{"title":"botsmith","version":"1.0.0","description":"Pay-per-call HTTP APIs for agents. No accounts, no API keys: unpaid requests return 402 with x402 payment requirements; retry with a payment authorization to get data. Free machine-readable catalog at /catalog."},"servers":[{"url":"https://x402.botsmith.dev"}],"paths":{"/x/tweet":{"get":{"operationId":"tweet","summary":"Fetch one X (Twitter) post by numeric id: full text, author, ISO timestamp, like/retweet/reply/view counts, hashtags, expanded links and mentions as clean JSON. No X account or API key needed.","tags":["Social Signal"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string"},"url":{"anyOf":[{"type":"string"},{"type":"null"}]},"text":{"type":"string"},"createdAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 8601"},"lang":{"anyOf":[{"type":"string"},{"type":"null"}]},"author":{"type":"object","properties":{"handle":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["handle","name","id"],"additionalProperties":false},"metrics":{"type":"object","properties":{"likes":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"retweets":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"replies":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"quotes":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"views":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["likes","retweets","replies","quotes","views"],"additionalProperties":false},"hashtags":{"type":"array","items":{"type":"string"}},"links":{"type":"array","items":{"type":"string"},"description":"Expanded outbound URLs"},"mentions":{"type":"array","items":{"type":"string"},"description":"Mentioned handles"}},"required":["id","url","text","createdAt","lang","author","metrics","hashtags","links","mentions"],"additionalProperties":false}}}},"402":{"description":"Payment required: $0.005 in USDC via x402 (network eip155:8453)"}},"x-x402":{"price":"$0.005","network":"eip155:8453","payTo":"0xcb9b3F94387389e38EF2A7b3C0B851FB8325d7e9"},"parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string","pattern":"^[0-9]{1,25}$","description":"Numeric tweet/post id"}}]}},"/x/user":{"get":{"operationId":"user","summary":"Fetch an X (Twitter) account by handle: display name, bio, follower/following/tweet counts, account creation date and age in days, verification status, location and profile image. No X account or API key needed.","tags":["Social Signal"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"handle":{"type":"string"},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"bio":{"anyOf":[{"type":"string"},{"type":"null"}]},"url":{"anyOf":[{"type":"string"},{"type":"null"}]},"location":{"anyOf":[{"type":"string"},{"type":"null"}]},"profileImage":{"anyOf":[{"type":"string"},{"type":"null"}]},"verified":{"type":"object","properties":{"blue":{"type":"boolean"},"type":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["blue","type"],"additionalProperties":false},"followers":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"following":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"tweetCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"createdAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 8601 account creation time"},"accountAgeDays":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["handle","id","name","bio","url","location","profileImage","verified","followers","following","tweetCount","createdAt","accountAgeDays"],"additionalProperties":false}}}},"402":{"description":"Payment required: $0.004 in USDC via x402 (network eip155:8453)"}},"x-x402":{"price":"$0.004","network":"eip155:8453","payTo":"0xcb9b3F94387389e38EF2A7b3C0B851FB8325d7e9"},"parameters":[{"name":"handle","in":"query","required":true,"schema":{"type":"string","pattern":"^@?[A-Za-z0-9_]{1,15}$","description":"X handle, with or without the leading @"}}]}},"/x/search":{"get":{"operationId":"search","summary":"Search X (Twitter) posts with full advanced-search syntax (from:, since:, until:, exact phrases, boolean operators). Returns up to 20 posts per call as clean JSON with metrics and entities, plus a cursor for the next page. No X account or API key needed.","tags":["Social Signal"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"tweets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"url":{"anyOf":[{"type":"string"},{"type":"null"}]},"text":{"type":"string"},"createdAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 8601"},"lang":{"anyOf":[{"type":"string"},{"type":"null"}]},"author":{"type":"object","properties":{"handle":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["handle","name","id"],"additionalProperties":false},"metrics":{"type":"object","properties":{"likes":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"retweets":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"replies":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"quotes":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"views":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["likes","retweets","replies","quotes","views"],"additionalProperties":false},"hashtags":{"type":"array","items":{"type":"string"}},"links":{"type":"array","items":{"type":"string"},"description":"Expanded outbound URLs"},"mentions":{"type":"array","items":{"type":"string"},"description":"Mentioned handles"}},"required":["id","url","text","createdAt","lang","author","metrics","hashtags","links","mentions"],"additionalProperties":false},"description":"Up to 20 matching posts"},"hasNextPage":{"type":"boolean"},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["tweets","hasNextPage","nextCursor"],"additionalProperties":false}}}},"402":{"description":"Payment required: $0.005 in USDC via x402 (network eip155:8453)"}},"x-x402":{"price":"$0.005","network":"eip155:8453","payTo":"0xcb9b3F94387389e38EF2A7b3C0B851FB8325d7e9"},"parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":400,"description":"Search query, e.g. \"x402 from:coinbase since:2026-07-01\""}},{"name":"type","in":"query","required":true,"schema":{"default":"Latest","description":"Sort by recency or engagement","type":"string","enum":["Latest","Top"]}},{"name":"cursor","in":"query","required":false,"schema":{"description":"Pagination cursor from a previous call","type":"string","pattern":"^[A-Za-z0-9+/=_-]{1,400}$"}}]}},"/x/dossier":{"get":{"operationId":"dossier","summary":"Full X (Twitter) account dossier in one call: profile, an analysis of recent posts (cadence, average engagement, reply/retweet/link share, top hashtags and mentions), the raw recent posts, and a transparent bot-likelihood signal with the evidence behind it. Composes profile + activity so an agent vetting an account does not have to. No X account or API key needed.","tags":["Social Signal"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"profile":{"type":"object","properties":{"handle":{"type":"string"},"id":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"bio":{"anyOf":[{"type":"string"},{"type":"null"}]},"url":{"anyOf":[{"type":"string"},{"type":"null"}]},"location":{"anyOf":[{"type":"string"},{"type":"null"}]},"profileImage":{"anyOf":[{"type":"string"},{"type":"null"}]},"verified":{"type":"object","properties":{"blue":{"type":"boolean"},"type":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["blue","type"],"additionalProperties":false},"followers":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"following":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"tweetCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"createdAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 8601 account creation time"},"accountAgeDays":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["handle","id","name","bio","url","location","profileImage","verified","followers","following","tweetCount","createdAt","accountAgeDays"],"additionalProperties":false},"activity":{"type":"object","properties":{"sampleSize":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"spanDays":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Days between oldest and newest sampled post"},"postsPerDay":{"anyOf":[{"type":"number"},{"type":"null"}]},"avgLikes":{"anyOf":[{"type":"number"},{"type":"null"}]},"avgRetweets":{"anyOf":[{"type":"number"},{"type":"null"}]},"avgReplies":{"anyOf":[{"type":"number"},{"type":"null"}]},"replyShare":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Fraction of sampled posts that are replies"},"retweetShare":{"anyOf":[{"type":"number"},{"type":"null"}]},"withLinksShare":{"anyOf":[{"type":"number"},{"type":"null"}]},"topHashtags":{"type":"array","items":{"type":"object","properties":{"tag":{"type":"string"},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["tag","count"],"additionalProperties":false}},"topMentions":{"type":"array","items":{"type":"object","properties":{"handle":{"type":"string"},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["handle","count"],"additionalProperties":false}}},"required":["sampleSize","spanDays","postsPerDay","avgLikes","avgRetweets","avgReplies","replyShare","retweetShare","withLinksShare","topHashtags","topMentions"],"additionalProperties":false},"authenticity":{"type":"object","properties":{"botLikelihood":{"type":"string","enum":["low","medium","high","unknown"]},"flags":{"type":"array","items":{"type":"string"},"description":"Transparent evidence behind the signal"}},"required":["botLikelihood","flags"],"additionalProperties":false}},"required":["profile","activity","authenticity"],"additionalProperties":false}}}},"402":{"description":"Payment required: $0.02 in USDC via x402 (network eip155:8453)"}},"x-x402":{"price":"$0.02","network":"eip155:8453","payTo":"0xcb9b3F94387389e38EF2A7b3C0B851FB8325d7e9"},"parameters":[{"name":"handle","in":"query","required":true,"schema":{"type":"string","pattern":"^@?[A-Za-z0-9_]{1,15}$","description":"X handle, with or without the leading @"}},{"name":"sampleSize","in":"query","required":true,"schema":{"default":20,"description":"How many recent posts to analyze (max 20)","type":"integer","minimum":1,"maximum":20}}]}},"/x/watchlist":{"get":{"operationId":"watchlist","summary":"Watch up to 15 X (Twitter) accounts with one call: every new post from the list since your last poll, above your engagement floor, with retweets and crypto-spam (airdrop/giveaway/presale bait) filtered out and duplicates removed. Pass the returned newestId back as sinceId to get only what is new - replaces the search + filter + dedupe + paging loop KOL-monitoring agents build by hand. No X account or API key needed.","tags":["Social Signal"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"posts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"url":{"anyOf":[{"type":"string"},{"type":"null"}]},"text":{"type":"string"},"createdAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 8601"},"lang":{"anyOf":[{"type":"string"},{"type":"null"}]},"author":{"type":"object","properties":{"handle":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"id":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["handle","name","id"],"additionalProperties":false},"metrics":{"type":"object","properties":{"likes":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"retweets":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"replies":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"quotes":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"views":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["likes","retweets","replies","quotes","views"],"additionalProperties":false},"hashtags":{"type":"array","items":{"type":"string"}},"links":{"type":"array","items":{"type":"string"},"description":"Expanded outbound URLs"},"mentions":{"type":"array","items":{"type":"string"},"description":"Mentioned handles"}},"required":["id","url","text","createdAt","lang","author","metrics","hashtags","links","mentions"],"additionalProperties":false},"description":"New posts, newest first, deduped"},"newestId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Pass back as sinceId on your next poll"},"complete":{"type":"boolean","description":"False when more new posts exist than one call could fetch; poll again to catch up"},"query":{"type":"string","description":"The search query executed upstream, for transparency"},"polledAt":{"type":"string","description":"ISO 8601 time of this poll"}},"required":["posts","newestId","complete","query","polledAt"],"additionalProperties":false}}}},"402":{"description":"Payment required: $0.02 in USDC via x402 (network eip155:8453)"}},"x-x402":{"price":"$0.02","network":"eip155:8453","payTo":"0xcb9b3F94387389e38EF2A7b3C0B851FB8325d7e9"},"parameters":[{"name":"handles","in":"query","required":true,"schema":{"type":"string","pattern":"^@?[A-Za-z0-9_]{1,15}(,\\s?@?[A-Za-z0-9_]{1,15}){0,14}$","description":"Comma-separated list of up to 15 X handles to monitor, with or without leading @"}},{"name":"sinceId","in":"query","required":false,"schema":{"description":"Only return posts newer than this id; pass the newestId from your last poll","type":"string","pattern":"^[0-9]{1,25}$"}},{"name":"minFaves","in":"query","required":true,"schema":{"default":5,"description":"Minimum likes a post needs to be included (engagement floor)","type":"integer","minimum":0,"maximum":100000}},{"name":"lang","in":"query","required":true,"schema":{"default":"en","description":"Restrict to posts in this language","type":"string","pattern":"^[a-z]{2}$"}},{"name":"filter","in":"query","required":true,"schema":{"default":"spam","description":"\"spam\" excludes airdrop/giveaway/presale bait; \"none\" returns everything","type":"string","enum":["spam","none"]}}]}},"/polymarket/markets":{"get":{"operationId":"markets","summary":"The best Polymarket prediction markets to watch right now, ranked by a composite watch-score (24h volume, liquidity, competitiveness, momentum, time-to-resolution). Filter by tag. Returns implied probability, volume, liquidity, spread and a plain-English reason for each. Live data, no account needed.","tags":["Prediction Market Signal"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sort":{"type":"string"},"markets":{"type":"array","items":{"type":"object","properties":{"question":{"type":"string"},"slug":{"type":"string"},"url":{"type":"string"},"yesPrice":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Implied probability of the first outcome (0-1)"},"volume24hr":{"anyOf":[{"type":"number"},{"type":"null"}]},"liquidity":{"anyOf":[{"type":"number"},{"type":"null"}]},"spread":{"anyOf":[{"type":"number"},{"type":"null"}]},"priceChange24h":{"anyOf":[{"type":"number"},{"type":"null"}]},"daysToResolution":{"anyOf":[{"type":"number"},{"type":"null"}]},"watchScore":{"type":"number","description":"0-100 composite: activity, depth, competitiveness, momentum, timing"},"why":{"type":"string","description":"Short human-readable reason this market ranks"}},"required":["question","slug","url","yesPrice","volume24hr","liquidity","spread","priceChange24h","daysToResolution","watchScore","why"],"additionalProperties":false}}},"required":["count","sort","markets"],"additionalProperties":false}}}},"402":{"description":"Payment required: $0.005 in USDC via x402 (network eip155:8453)"}},"x-x402":{"price":"$0.005","network":"eip155:8453","payTo":"0xcb9b3F94387389e38EF2A7b3C0B851FB8325d7e9"},"parameters":[{"name":"limit","in":"query","required":true,"schema":{"default":10,"description":"How many markets to return","type":"integer","minimum":1,"maximum":25}},{"name":"tag","in":"query","required":false,"schema":{"description":"Filter by a Polymarket tag slug, e.g. 'politics', 'crypto', 'sports'","type":"string"}},{"name":"sort","in":"query","required":true,"schema":{"default":"watch","description":"Ranking: 'watch' = composite watch-score (default), or raw volume/liquidity","type":"string","enum":["watch","volume","liquidity"]}}]}},"/polymarket/market":{"get":{"operationId":"market","summary":"Deep snapshot and execution microstructure for one Polymarket market: implied probability, best bid/ask/spread, 24h volume, liquidity depth, days to resolution, momentum, and estimated slippage to buy at $100 and $1000 order sizes from the live order book. Pass a slug, or omit it for the highest-volume open market right now. Signals are factual market data, not investment advice.","tags":["Prediction Market Signal"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"question":{"type":"string"},"slug":{"type":"string"},"url":{"type":"string"},"outcomes":{"type":"array","items":{"type":"string"}},"impliedProbability":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Price of the first outcome (0-1)"},"prices":{"type":"object","properties":{"bestBid":{"anyOf":[{"type":"number"},{"type":"null"}]},"bestAsk":{"anyOf":[{"type":"number"},{"type":"null"}]},"lastTrade":{"anyOf":[{"type":"number"},{"type":"null"}]},"spread":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["bestBid","bestAsk","lastTrade","spread"],"additionalProperties":false},"volume24hr":{"anyOf":[{"type":"number"},{"type":"null"}]},"liquidity":{"anyOf":[{"type":"number"},{"type":"null"}]},"liquidityRating":{"type":"string","enum":["thin","moderate","deep"]},"daysToResolution":{"anyOf":[{"type":"number"},{"type":"null"}]},"priceChange24h":{"anyOf":[{"type":"number"},{"type":"null"}]},"signals":{"type":"object","properties":{"bookDepthUsd":{"anyOf":[{"type":"object","properties":{"bids":{"type":"number"},"asks":{"type":"number"}},"required":["bids","asks"],"additionalProperties":false},{"type":"null"}]},"slippage":{"type":"array","items":{"type":"object","properties":{"orderUsd":{"type":"number"},"avgPrice":{"anyOf":[{"type":"number"},{"type":"null"}]},"sharesFilled":{"type":"number"},"filled":{"type":"boolean"},"slippagePctVsBest":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["orderUsd","avgPrice","sharesFilled","filled","slippagePctVsBest"],"additionalProperties":false},"description":"Estimated average fill price to BUY the first outcome at $100 and $1000 order sizes"}},"required":["bookDepthUsd","slippage"],"additionalProperties":false,"description":"Execution microstructure derived from the live order book. Data, not investment advice."}},"required":["question","slug","url","outcomes","impliedProbability","prices","volume24hr","liquidity","liquidityRating","daysToResolution","priceChange24h","signals"],"additionalProperties":false}}}},"402":{"description":"Payment required: $0.006 in USDC via x402 (network eip155:8453)"}},"x-x402":{"price":"$0.006","network":"eip155:8453","payTo":"0xcb9b3F94387389e38EF2A7b3C0B851FB8325d7e9"},"parameters":[{"name":"slug","in":"query","required":false,"schema":{"description":"Polymarket market slug from a market URL, e.g. 'will-the-fed-cut-rates-in-march'. Omit to get the single highest-volume open market right now.","type":"string","minLength":1}}]}},"/derivatives/perp":{"get":{"operationId":"perp","summary":"One-call perpetual-futures snapshot for a coin (BTC, ETH, SOL, ...): funding rate and open interest across Binance, Bybit and OKX, aggregate OI, average funding (annualized) with a longs-pay/shorts-pay read, mark price, next funding time and the Fear & Greed index. Keyless public exchange data; normalized so a trading agent gets one JSON instead of three exchange schemas.","tags":["Derivatives Signal"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"symbol":{"type":"string"},"markPrice":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Binance mark price (anchor)"},"nextFundingTime":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO time of the next funding"},"venues":{"type":"array","items":{"type":"object","properties":{"venue":{"type":"string"},"fundingRate":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Current funding rate (per interval, e.g. 8h)"},"fundingRateAnnualizedPct":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Funding annualized to a percent"},"openInterestBase":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Open interest in base units"},"markPrice":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["venue","fundingRate","fundingRateAnnualizedPct","openInterestBase","markPrice"],"additionalProperties":false},"description":"Per-exchange funding, open interest and mark"},"aggregateOpenInterestBase":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Summed OI across venues, base units"},"avgFundingRate":{"anyOf":[{"type":"number"},{"type":"null"}]},"avgFundingAnnualizedPct":{"anyOf":[{"type":"number"},{"type":"null"}]},"fundingSkew":{"anyOf":[{"type":"string","enum":["longs pay","shorts pay","neutral"]},{"type":"null"}],"description":"Who pays funding now"},"fearGreed":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"classification":{"type":"string"}},"required":["value","classification"],"additionalProperties":false},{"type":"null"}],"description":"Crypto Fear & Greed index (0-100)"}},"required":["symbol","markPrice","nextFundingTime","venues","aggregateOpenInterestBase","avgFundingRate","avgFundingAnnualizedPct","fundingSkew","fearGreed"],"additionalProperties":false}}}},"402":{"description":"Payment required: $0.006 in USDC via x402 (network eip155:8453)"}},"x-x402":{"price":"$0.006","network":"eip155:8453","payTo":"0xcb9b3F94387389e38EF2A7b3C0B851FB8325d7e9"},"parameters":[{"name":"symbol","in":"query","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9]{1,15}$","description":"Base coin symbol (USDT perp is assumed), e.g. BTC"}}]}},"/stablecoin/peg":{"get":{"operationId":"peg","summary":"Live peg-and-supply snapshot for any stablecoin by symbol (USDC, USDT, DAI, ...): current price, signed deviation from peg in basis points, a depeg alert at 1%, total circulating supply and its top-chain breakdown. Keyless. Useful before settling or holding value in a given stablecoin.","tags":["Settlement Risk"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"id":{"type":"string"},"symbol":{"type":"string"},"name":{"type":"string"},"pegType":{"type":"string","description":"e.g. peggedUSD, peggedEUR"},"pegMechanism":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"e.g. fiat-backed, crypto-backed, algorithmic"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Latest price in the peg currency"},"pegTarget":{"type":"number","description":"Intended peg value (1 for USD stablecoins)"},"pegDeviationBps":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Signed basis points off the peg target"},"depegAlert":{"type":"boolean","description":"True when |deviation| >= 100 bps (1%)"},"circulatingUsd":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Total circulating supply in USD"},"topChains":{"type":"array","items":{"type":"object","properties":{"chain":{"type":"string"},"circulatingUsd":{"type":"number"},"share":{"type":"number","description":"Fraction of total supply on this chain"}},"required":["chain","circulatingUsd","share"],"additionalProperties":false},"description":"Top chains by circulating supply"},"chainCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Chains the asset is live on"}},"required":["id","symbol","name","pegType","pegMechanism","price","pegTarget","pegDeviationBps","depegAlert","circulatingUsd","topChains","chainCount"],"additionalProperties":false}}}},"402":{"description":"Payment required: $0.004 in USDC via x402 (network eip155:8453)"}},"x-x402":{"price":"$0.004","network":"eip155:8453","payTo":"0xcb9b3F94387389e38EF2A7b3C0B851FB8325d7e9"},"parameters":[{"name":"symbol","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":40,"description":"Stablecoin symbol (USDC, USDT, DAI) or name substring"}}]}}}}