{"name":"pyfile-llm-base","description":"Pay-per-call API for AI agents: web search, web-to-markdown reader, LLM chat completions, encrypted secret storage with one-read dead drops, composite analyst brief, and a business-idea generator. Pay per request in USDC on Base (or Polygon/Arbitrum), or in XNO on nano:mainnet, via x402. No signup, no API key.","url":"https://pyfile-agent.taile3ff35.ts.net:10000","version":"1.0.0","protocolVersion":"0.2.5","documentationUrl":"https://pyfile-agent.taile3ff35.ts.net:10000/llms.txt","preferredTransport":"HTTP+JSON","capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":false},"defaultInputModes":["application/json","text/plain"],"defaultOutputModes":["application/json","text/plain"],"securitySchemes":{"x402":{"type":"http","scheme":"x402","description":"Pay-per-call. An unpaid request returns HTTP 402 with an accepts[] body; pay and retry with the payment header."}},"security":[{"x402":[]}],"skills":[{"id":"chat-completions-post","name":"chat-completions","description":"LLM chat completion (auto router, gemini/deepseek/kimi/qwen family), 0.001 USDC per request","tags":["x402","pay-per-call","agents"],"examples":["POST https://pyfile-agent.taile3ff35.ts.net:10000/v1/chat/completions"]},{"id":"chat-completions-get","name":"chat-completions","description":"LLM chat completion (probe endpoint). Use POST to send a chat request.","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/v1/chat/completions"]},{"id":"web-search-get","name":"web-search","description":"Web search: ranked results (title + url) for a query. ?q=x402+agent+payments&limit=8","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/web/search"]},{"id":"url-reader-get","name":"url-reader","description":"Read any public web page as clean readable Markdown for RAG and LLM pipelines — main article text with nav/ads stripped, plus title. ?url=https://example.com&max_chars=20000","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/web/read"]},{"id":"secret-put-post","name":"/secret/put","description":"Store a secret (credential, token, key) for later retrieval — encrypted at rest (AES-256-GCM). Returns an id + access token; fetch later by id+token. Max 16KB. For agent state that must survive across runs.","tags":["x402","pay-per-call","agents"],"examples":["POST https://pyfile-agent.taile3ff35.ts.net:10000/secret/put"]},{"id":"secret-get-post","name":"/secret/get","description":"Retrieve a stored secret by id + access token. Returns the decrypted value, label and read count.","tags":["x402","pay-per-call","agents"],"examples":["POST https://pyfile-agent.taile3ff35.ts.net:10000/secret/get"]},{"id":"secret-list-post","name":"/secret/list","description":"List secret metadata (id, label, reads, created_at) for an access token — no values returned.","tags":["x402","pay-per-call","agents"],"examples":["POST https://pyfile-agent.taile3ff35.ts.net:10000/secret/list"]},{"id":"secret-delete-post","name":"/secret/delete","description":"Delete a stored secret by id + access token.","tags":["x402","pay-per-call","agents"],"examples":["POST https://pyfile-agent.taile3ff35.ts.net:10000/secret/delete"]},{"id":"secret-drop-post","name":"/secret/drop","description":"One-read dead drop: hand a credential between two agents where neither should hold it first. POST the secret, pay once, receive a read_url that works exactly one time — the first read destroys the value before responding. Max 16KB.","tags":["x402","pay-per-call","agents"],"examples":["POST https://pyfile-agent.taile3ff35.ts.net:10000/secret/drop"]},{"id":"secret-drop-ttl-post","name":"/secret/drop-ttl","description":"Time-boxed dead drop: like drop, but the value survives reads until it expires (TTL up to 7 days, default 24h), then is destroyed automatically.","tags":["x402","pay-per-call","agents"],"examples":["POST https://pyfile-agent.taile3ff35.ts.net:10000/secret/drop-ttl"]},{"id":"v1-brief-get","name":"/v1/brief","description":"Composite analyst brief: live facts (CoinGecko prices, DeFi yields, Base block) + LLM judgment rendered into a finished JSON brief {headline, key_points, take, confidence}. Not raw data — a ready-to-use brief. ?topic=crypto|defi|network&focus=<free text>.","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/v1/brief"]},{"id":"pass-buy-post","name":"pass-buy","description":"Buy a time-window pass with quota. Body: {scope: web-24h|secret-7d|ideas-30d}. Returns a token to send as header X-Pass on covered routes, skipping per-call payment until the pass expires or the quota is used.","tags":["x402","pay-per-call","agents"],"examples":["POST https://pyfile-agent.taile3ff35.ts.net:10000/pass/buy"]},{"id":"idea-generator-get","name":"idea-generator","description":"Business-idea generator: N random collisions of real elements (asset type x asset x pain x channel x revenue model) as raw creative material. Deterministic by seed. ?n=100&seed=42&topic=trust. Boost-start your creative business thinking.","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/ideas"]},{"id":"nano-courier-post","name":"nano-courier","description":"Broadcast a signed Nano state block (or a chain of blocks) for a hosted agent with no RPC egress. Verify signature/hash, generate work, broadcast. The signer keeps custody. Body: {block} or {chain|blocks:[...]}.","tags":["x402","pay-per-call","agents"],"examples":["POST https://pyfile-agent.taile3ff35.ts.net:10000/data/nano/courier"]},{"id":"nano-courier-get","name":"nano-courier","description":"Probe endpoint. POST a signed Nano state block to broadcast it.","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/nano/courier"]},{"id":"chain-network-info-get","name":"chain-network-info","description":"EVM network info: chain id, latest block number and gas price for base|polygon|arbitrum|optimism. ?chain=base","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/chain/network-info"]},{"id":"chain-block-number-get","name":"chain-block-number","description":"Latest EVM block number for base|polygon|arbitrum|optimism. ?chain=base","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/chain/block-number"]},{"id":"chain-erc20-balance-get","name":"chain-erc20-balance","description":"ERC-20 balanceOf(token, owner) on base|polygon|arbitrum|optimism; raw base-units always, human value when decimals given. ?chain=base&token=0x..&address=0x..&decimals=6","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/chain/erc20-balance"]},{"id":"ip-geolocation-get","name":"ip-geolocation","description":"IP geolocation: country/region/city/ASN/org/timezone for an IPv4/IPv6 address. ?ip=8.8.8.8","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/ip"]},{"id":"grid-carbon-intensity-get","name":"grid-carbon-intensity","description":"UK grid carbon intensity (gCO2/kWh): forecast, actual and index (very low..very high) for the current half-hour. Public source, no key. -> source carbonintensity.org.uk (National Grid ESO).","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/energy"]},{"id":"hackernews-top-get","name":"hackernews-top","description":"Hacker News front page: top story titles with score, author, comments count and url. ?limit=1-50 (default 10).","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/hn/top"]},{"id":"hmac-signature-get","name":"hmac-signature","description":"HMAC signature of a string: returns hex and base64. ?algo=sha256|sha512|sha1|md5|sha3-256&key=<secret>&input=<message>. Deterministic and independently verifiable.","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/hmac"]},{"id":"data-hash-get","name":"/data/hash","description":"Cryptographic hash of a string: hex + base64. ?input=<message>[&algo=sha256|sha512|sha1|md5|sha3-256|sha3-512|ripemd160][&encoding=utf8|hex|base64]. Deterministic and independently verifiable.","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/hash"]},{"id":"data-encode-get","name":"/data/encode","description":"Encode a string: base64, base64url or hex. ?input=<text>[&to=base64|base64url|hex]. Returns utf8 byte length too.","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/encode"]},{"id":"data-decode-get","name":"/data/decode","description":"Decode base64, base64url or hex back to a UTF-8 string. ?input=<encoded>[&from=base64|base64url|hex]. Reports invalid input instead of silently mojibake.","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/decode"]},{"id":"data-abi-get","name":"/data/abi","description":"Ethereum 4-byte function signature lookup: selector to human signature. ?selector=0xa9059cbb. Uses the public 4byte.directory; deterministic, no LLM.","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/abi"]},{"id":"wikipedia-summary-get","name":"wikipedia-summary","description":"Wikipedia article summary: description, plain-text extract and canonical url. ?title=Bitcoin","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/wiki"]},{"id":"ofac-sanctions-screen-get","name":"ofac-sanctions-screen","description":"OFAC SDN screening: match a person or entity name against the US Treasury sanctions list. Returns whether it hits and the matching records. ?name=<person or company>","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/sanctions"]},{"id":"lei-lookup-get","name":"lei-lookup","description":"Legal Entity Identifier (LEI) lookup by legal name: returns LEI code, legal name, country and registration status. ?name=Apple Inc","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/lei"]},{"id":"evm-native-balance-get","name":"evm-native-balance","description":"Native balance of any EVM address in wei and ether. ?address=0x..&chain=base|polygon|arbitrum|optimism","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/wallet/balance"]},{"id":"data-token-verdict-get","name":"/data/token-verdict","description":"Token risk verdict for a Base/EVM contract: deterministic, auditable grade (SOLID/THIN/RISKY/DEAD/UNKNOWN) with input metrics and source URLs. ?address=0x<40hex>[&chain=base|polygon|arbitrum|optimism]. No LLM opinion — every field recomputable from public data.","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/token-verdict"]},{"id":"data-token-verdict-post","name":"/data/token-verdict","description":"Token risk verdict (POST form): body {address, chain?} → same deterministic auditable grade as GET /data/token-verdict.","tags":["x402","pay-per-call","agents"],"examples":["POST https://pyfile-agent.taile3ff35.ts.net:10000/data/token-verdict"]},{"id":"data-bench-worlds-get","name":"/data/bench/worlds","description":"List the 225 domains of the unpredictable LLM benchmark. Tasks are generated from a seed at run time and never published, so they cannot be trained for.","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/bench/worlds"]},{"id":"data-bench-fresh-get","name":"/data/bench/fresh","description":"Generate fresh unseen benchmark tasks from a seed: ?worlds=calendars,logic&levels=1,2&per_level=2&seed=<hex>. Returns prompts + refs + sha256 commit, no answers. Evaluation you cannot prepare for.","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/bench/fresh"]},{"id":"data-bench-grade-post","name":"/data/bench/grade","description":"Grade answers against regenerated tasks: {ref,answer} or {answers:[{ref,answer}]}. Returns ok/expected per item and accuracy. Contamination-resistant LLM eval.","tags":["x402","pay-per-call","agents"],"examples":["POST https://pyfile-agent.taile3ff35.ts.net:10000/data/bench/grade"]},{"id":"data-bench-leaderboard-get","name":"/data/bench/leaderboard","description":"Machine-readable leaderboard across all benchmark runs: per-candidate accuracy, contamination gap (old vs fresh), technical errors. The JSON behind the public leaderboard.","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/bench/leaderboard"]},{"id":"data-bolt11-decode-get","name":"/data/bolt11/decode","description":"Decode a BOLT11 Lightning Network invoice (payment request): network, amount, payment hash, description and expiry. ?invoice=lnbc...","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/bolt11/decode"]},{"id":"data-btc-address-get","name":"/data/btc/address","description":"Bitcoin address balance and transaction count for any BTC address — check on-chain funds. ?address=bc1...","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/btc/address"]},{"id":"data-btc-fees-get","name":"/data/btc/fees","description":"Recommended Bitcoin transaction fee rates in sat/vB (fast, medium, slow) — estimate BTC on-chain fees before sending. No params.","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/btc/fees"]},{"id":"data-counterparty-get","name":"/data/counterparty","description":"Counterparty reputation for a 0x address on Taskmarket: tasks posted, completion rate, awards, risk flags. ?address=0x...","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/counterparty"]},{"id":"data-credit-score-get","name":"/data/credit-score","description":"Data-only 0-1000 credit score for a 0x address from Taskmarket history and Base activity. ?address=0x...","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/credit-score"]},{"id":"data-crypto-get","name":"/data/crypto","description":"Live cryptocurrency prices in USD (CoinGecko): Bitcoin, Ethereum, Solana, Nano and thousands of coins with 24h change and market cap. ?ids=bitcoin,nano","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/crypto"]},{"id":"data-crypto-history-get","name":"/data/crypto/history","description":"Historical price time series for crypto tokens over N days (CoinGecko) — chart past prices, returns and volatility. ?ids=bitcoin&days=7","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/crypto/history"]},{"id":"data-crypto-trending-get","name":"/data/crypto/trending","description":"Trending cryptocurrency coins right now (CoinGecko) — tokens gaining the most search and market attention today for market research.","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/crypto/trending"]},{"id":"data-ct-get","name":"/data/ct","description":"Certificate transparency subdomain enumeration (crt.sh) for a domain — discover subdomains from public TLS certificates for security recon. ?domain=example.com","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/ct"]},{"id":"data-defi-yields-get","name":"/data/defi/yields","description":"DeFi yield farming pools across protocols (DefiLlama), sorted by APY with a minimum TVL filter — find the best interest rates for stablecoins and tokens.","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/defi/yields"]},{"id":"data-dns-get","name":"/data/dns","description":"DNS-over-HTTPS lookup: resolve a hostname to A, AAAA, MX, TXT, NS or CNAME records — check what a domain points to before trusting it","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/dns"]},{"id":"data-enrich-get","name":"/data/enrich","description":"One-call domain/company enrichment: DNS A records + certificate transparency names + GLEIF LEI + OFAC SDN + web snapshot, with an aggregate risk_summary. ?domain=acme.com or ?name=Acme","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/enrich"]},{"id":"data-fair-commit-get","name":"/data/fair/commit","description":"Provably-fair round commit: sha256(server_seed) before any draw. ?round=<id>","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/fair/commit"]},{"id":"data-fair-draw-get","name":"/data/fair/draw","description":"Provably-fair random integer from a committed seed. ?client_seed=s&nonce=1&min=1&max=100&round=1","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/fair/draw"]},{"id":"data-fair-pick-get","name":"/data/fair/pick","description":"Provably-fair winner selection from a comma-separated list. ?candidates=a,b,c&round=1&client_seed=s&nonce=1","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/fair/pick"]},{"id":"data-fair-pick-many-get","name":"/data/fair/pick-many","description":"Provably-fair selection of N distinct winners from a list. ?candidates=a,b,c&count=2&round=1&client_seed=s&nonce=1","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/fair/pick-many"]},{"id":"data-fair-reveal-get","name":"/data/fair/reveal","description":"Reveal the server_seed for a round so anyone can verify past draws. ?round=<id>","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/fair/reveal"]},{"id":"data-fair-verify-get","name":"/data/fair/verify","description":"Recompute a draw and check sha256(server_seed)==commit. ?round=1&client_seed=s&nonce=1&min=1&max=100","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/fair/verify"]},{"id":"data-fda-get","name":"/data/fda","description":"US FDA open data: drug adverse events, recalls and product labels — pharmacovigilance and regulatory research. ?kind=drug/event&q=aspirin&limit=5","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/fda"]},{"id":"data-fx-get","name":"/data/fx","description":"Foreign exchange rates (forex) for world currencies against a base currency — live FX conversion rates for pricing, travel and finance. ?base=USD","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/fx"]},{"id":"data-gas-base-get","name":"/data/gas/base","description":"Live Base L2 gas price in wei and gwei — current transaction fee estimate for sending on the Base network. No params.","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/gas/base"]},{"id":"data-github-trending-get","name":"/data/github/trending","description":"Discover trending GitHub repositories created recently, ranked by star count — find fast-growing new open-source projects in any language.","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/github/trending"]},{"id":"data-kyb-get","name":"/data/kyb","description":"KYB / KYC company screening and sanctions check in one call: OFAC SDN sanctions screening + GLEIF Legal Entity Identifier (LEI) + SEC EDGAR filings, with a composite clear/review verdict. Know Your Business due diligence on any company name. ?name=Company","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/kyb"]},{"id":"data-lottery-resolve-get","name":"/data/lottery/resolve","description":"Provably-fair weighted lottery draw + house fee. Operator holds stakes; this never moves funds. ?tickets=addr:amount,addr:amount&fee_bps=500&round=1","tags":["x402","pay-per-call","agents"],"examples":["GET https://pyfile-agent.taile3ff35.ts.net:10000/data/lottery/resolve"]}],"x402":{"version":2,"manifest":"https://pyfile-agent.taile3ff35.ts.net:10000/.well-known/x402","schemes":[{"protocol":"x402","scheme":"exact","network":"eip155:8453","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","currency":"USDC","payTo":"0xA43774fD2e867FC45b782456d78F135a215D5561","facilitator":"https://facilitator.payai.network"},{"protocol":"x402","scheme":"exact","network":"eip155:137","asset":"0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359","currency":"USDC","payTo":"0xA43774fD2e867FC45b782456d78F135a215D5561"},{"protocol":"x402","scheme":"exact","network":"eip155:42161","asset":"0xaf88d065e77c8cC2239327C5EDb3A432268e5831","currency":"USDC","payTo":"0xA43774fD2e867FC45b782456d78F135a215D5561"},{"protocol":"x402","scheme":"exact","network":"nano:mainnet","asset":"XNO","currency":"XNO","payTo":"nano_3uojbn47b5xqcbs4yibbasamn8aeyqxgyi1z8peogwtdn6z3kagjanjpz4ss"}]}}