{"resource": "https://anibalb.duckdns.org", "name": "proyectoayuda x402 data service", "description": "Datos y utilidades publicas pagados por llamada en USDC sobre Base mainnet: precios de cripto (BTC, ETH, cualquier token), gas de Ethereum, balance de wallet en Base, tipo de cambio fiat, validacion de IVA de la UE (VIES) y screening de sanciones OFAC. Sin cuentas, sin API keys, sin KYC. Incluye email deliverability y auditoria SPF/DMARC/DKIM.", "x402Version": 2, "facilitator": "https://facilitator.payai.network", "resources": [{"url": "https://anibalb.duckdns.org/x402/btc-price", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Precio actual de BTC en USD (fuente: CoinGecko publico)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "BTC price", "tags": ["crypto", "price", "btc"]}, {"url": "https://anibalb.duckdns.org/x402/eth-price", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Precio actual de ETH en USD (fuente: CoinGecko publico)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "ETH price", "tags": ["crypto", "price", "eth"]}, {"url": "https://anibalb.duckdns.org/x402/solana-price", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Precio actual de SOL en USD (fuente: CoinGecko publico)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "SOL price", "tags": ["crypto", "price", "solana"]}, {"url": "https://anibalb.duckdns.org/x402/dogecoin-price", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Precio actual de DOGE en USD (fuente: CoinGecko publico)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "DOGE price", "tags": ["crypto", "price", "dogecoin"]}, {"url": "https://anibalb.duckdns.org/x402/xrp-price", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Precio actual de XRP en USD (fuente: CoinGecko publico)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "XRP price", "tags": ["crypto", "price", "xrp"]}, {"url": "https://anibalb.duckdns.org/x402/cardano-price", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Precio actual de ADA en USD (fuente: CoinGecko publico)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "ADA price", "tags": ["crypto", "price", "cardano"]}, {"url": "https://anibalb.duckdns.org/x402/avalanche-price", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Precio actual de AVAX en USD (fuente: CoinGecko publico)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "AVAX price", "tags": ["crypto", "price", "avalanche"]}, {"url": "https://anibalb.duckdns.org/x402/polkadot-price", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Precio actual de DOT en USD (fuente: CoinGecko publico)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "DOT price", "tags": ["crypto", "price", "polkadot"]}, {"url": "https://anibalb.duckdns.org/x402/chainlink-price", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Precio actual de LINK en USD (fuente: CoinGecko publico)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "LINK price", "tags": ["crypto", "price", "chainlink"]}, {"url": "https://anibalb.duckdns.org/x402/litecoin-price", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Precio actual de LTC en USD (fuente: CoinGecko publico)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "LTC price", "tags": ["crypto", "price", "litecoin"]}, {"url": "https://anibalb.duckdns.org/x402/polygon-price", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Precio actual de MATIC en USD (fuente: CoinGecko publico)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "MATIC price", "tags": ["crypto", "price", "polygon"]}, {"url": "https://anibalb.duckdns.org/x402/uniswap-price", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Precio actual de UNI en USD (fuente: CoinGecko publico)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "UNI price", "tags": ["crypto", "price", "uniswap"]}, {"url": "https://anibalb.duckdns.org/x402/trust-score", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Puntua la confiabilidad de endpoints x402 conocidos (uptime, latencia, payment_ready, compliance). Sin cuenta ni KYC. Itera sobre el catalogo publico x402-list/x402.new.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "10000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "x402 Trust Score", "tags": ["x402", "trust", "reliability", "scoring"]}, {"url": "https://anibalb.duckdns.org/x402/ip-geo", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Geolocalizacion de IP + deteccion proxy/VPN (ipwho.is publico). Sin cuenta ni KYC.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "IP geolocation", "tags": ["ip", "geo", "proxy", "vpn"]}, {"url": "https://anibalb.duckdns.org/x402/iban-validate", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Valida un IBAN (ISO 13616, checksum mod-97). 100% local, sin cuenta ni KYC.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "IBAN validation", "tags": ["iban", "bank", "validation"]}, {"url": "https://anibalb.duckdns.org/x402/bic-validate", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Valida un codigo BIC/SWIFT (ISO 9362, 8 u 11 alfanumericos) y lo descompone en banco, pais, localidad y branch. 100% local, sin cuenta ni KYC.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "BIC/SWIFT validation", "tags": ["bic", "swift", "bank", "validation"]}, {"url": "https://anibalb.duckdns.org/x402/crypto-tax", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Devuelve obligaciones fiscales crypto por pais: tasa de capital gains, impuesto a DeFi/staking, umbrales y reglas. 100% local (base de conocimiento embebida), sin cuenta ni KYC.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Crypto tax rules", "tags": ["crypto", "tax", "finance", "compliance"]}, {"url": "https://anibalb.duckdns.org/x402/crypto-invoice", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Genera un objeto invoice JSON de precio fijo en USDC (items, cantidad, token, payTo, lock) para agents de comercio/DeFi/escrow. 100% local, sin cuenta ni KYC.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Crypto invoice generator", "tags": ["invoice", "billing", "defi", "commerce"]}, {"url": "https://anibalb.duckdns.org/x402/keywords", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Extrae las keywords/temas principales de un texto (frecuencia + filtrado de stopwords) y devuelve lista rankeada. 100% local, sin cuenta ni KYC.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Keyword extraction", "tags": ["keywords", "nlp", "text", "seo"]}, {"url": "https://anibalb.duckdns.org/x402/lang-detect", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Detecta el idioma de un texto (stopword-set matching + Unicode script) y devuelve codigo ISO, confianza y alternativas. 100% local, sin cuenta ni KYC.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Language detection", "tags": ["language", "nlp", "detection", "text"]}, {"url": "https://anibalb.duckdns.org/x402/email-deliverability", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Clasifica un email: sintaxis, MX, dominio disposable/role. 100% local via DNS, sin cuenta ni KYC.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Email deliverability check", "tags": ["email", "deliverability", "disposable", "mx"]}, {"url": "https://anibalb.duckdns.org/x402/verify-email", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Verifica si un email existe realmente via SMTP handshake (RCPT TO): sintaxis, MX, y respuesta del servidor de correo. 100% local, sin cuenta ni KYC.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Email existence (SMTP verify)", "tags": ["email", "verify", "smtp", "existence"]}, {"url": "https://anibalb.duckdns.org/x402/email-auth-records", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Audita autenticacion de email: SPF, DMARC, MX y DKIM. 100% local via DNS, sin cuenta ni KYC.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Email auth (SPF/DMARC/DKIM)", "tags": ["email", "spf", "dmarc", "dkim", "dns"]}, {"url": "https://anibalb.duckdns.org/x402/weather-forecast", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Pronostico del tiempo actual por ciudad o lat/lon (fuente: Open-Meteo publica)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Weather forecast", "tags": ["weather", "geo", "forecast"]}, {"url": "https://anibalb.duckdns.org/x402/ner", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Extrae entidades nombradas (personas, organizaciones, lugares, fechas, cantidades, emails, URLs) de un texto. 100% local (regex+lexicon), sin key", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Named Entity Recognition (NER)", "tags": ["nlp", "ner", "entities", "text", "extraction"]}, {"url": "https://anibalb.duckdns.org/x402/sentiment", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Analiza el sentimiento de un texto (positivo/negativo/neutral) con score -1..1. 100% local, sin cuenta ni KYC. Parametros: text", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Sentiment analysis", "tags": ["nlp", "text", "sentiment", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/moderation", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Clasifica contenido seguro/inseguro: toxicidad, spam, NSFW, hate speech, profanity, con score por categoria. 100% local (lexicon), sin cuenta ni KYC. Parametros: text", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Content moderation", "tags": ["nlp", "moderation", "safety", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/arxiv-search", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Busca papers academicos en arXiv por query: titulo, autores, resumen, fecha, link. 100% local HTTP (export.arxiv.org, sin key). Parametros: q, max_results", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "arXiv paper search", "tags": ["academic", "research", "search", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/wikipedia-summary", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Resumen de una pagina de Wikipedia por titulo: extracto, url, imagen, langlinks. 100% local HTTP (REST API publica, sin key). Parametros: title, lang", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Wikipedia summary", "tags": ["encyclopedia", "knowledge", "search", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/podcast-search", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Busca podcasts por termino en iTunes Search API (publica, sin key): titulo, artista, genero, url, trackCount. Parametros: q, limit", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Podcast search", "tags": ["podcast", "media", "search", "audio"]}, {"url": "https://anibalb.duckdns.org/x402/reference-prices", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Precio y cambio de referencia de cripto por simbolo (fuente: CoinGecko publica, sin key)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Reference prices (crypto)", "tags": ["prices", "ohlc", "crypto", "reference"]}, {"url": "https://anibalb.duckdns.org/x402/marine-tide", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Nivel de marea/agua de estaciones costeras NOAA (3500+ estaciones) + busqueda por nombre. Fuente: api.tidesandcurrents.noaa.gov publica, sin key", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Marine tide / water level (NOAA)", "tags": ["marine", "tide", "ocean", "water-level", "noaa", "geo"]}, {"url": "https://anibalb.duckdns.org/x402/food-nutrition", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Datos nutricionales de un producto por codigo de barras (EAN/UPC) desde OpenFoodFacts: nombre, marca, nutriscore, nutriments por 100g, categorias e ingredientes. Fuente publica, sin key", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Food nutrition (OpenFoodFacts)", "tags": ["food", "nutrition", "health", "openfoodfacts", "product", "barcode"]}, {"url": "https://anibalb.duckdns.org/x402/recipe-search", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Busqueda de recetas por nombre o ingrediente (TheMealDB publico, sin key): instrucciones, categoria, area, tags e ingredientes", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Recipe search (TheMealDB)", "tags": ["recipe", "food", "cooking", "mealdb", "search"]}, {"url": "https://anibalb.duckdns.org/x402/satellite-tracking", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Seguimiento de satelites: lista TLE de un grupo CelesTrak (ISS, stations, weather) o posicion/orbita de un NORAD ID, con periodo orbital y ventana de proximo paso sobre un observador (lat/lon). Fuente: CelesTrak publica, sin key", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Satellite tracking (TLE)", "tags": ["satellite", "tle", "celestrak", "space", "tracking"]}, {"url": "https://anibalb.duckdns.org/x402/technical-indicators", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Calcula indicadores de analisis tecnico (RSI, MACD, SMA, EMA, Bollinger Bands) a partir de OHLC historico de un par cripto (CoinGecko publico, sin key)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Technical indicators (TA)", "tags": ["trading", "indicators", "rsi", "macd", "bollinger", "crypto", "ta"]}, {"url": "https://anibalb.duckdns.org/x402/pubmed-search", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Busqueda de literatura biomedica en PubMed (NCBI E-utilities, publica sin key): count, ids y titulos con journal y autores", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "PubMed search (NCBI E-utilities)", "tags": ["pubmed", "medical", "research", "ncbi", "literature", "search"]}, {"url": "https://anibalb.duckdns.org/x402/carbon-intensity", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Intensidad de carbono de la red electrica de Gran Bretana (api.carbonintensity.org.uk publica, sin key): forecast/actual por intervalo, opcional region (0-17)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "UK Carbon Intensity", "tags": ["carbon", "energy", "climate", "grid", "uk", "environment"]}, {"url": "https://anibalb.duckdns.org/x402/radio-search", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Busqueda de emisoras de radio en streaming (radio-browser.info publico, sin key): nombre, url de stream, tags, pais, votos, online status", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Radio stations search (radio-browser)", "tags": ["radio", "media", "streaming", "music", "audio"]}, {"url": "https://anibalb.duckdns.org/x402/github-repo-analyze", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Analisis de un repositorio GitHub (api.github.com publica, sin key): stars, forks, lenguaje, license, topics, ultimo commit, contributors, open issues", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "GitHub repo analyzer", "tags": ["github", "dev", "repo", "code", "analysis"]}, {"url": "https://anibalb.duckdns.org/x402/startup-domain-check", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Chequeo de disponibilidad de dominio para un nombre de startup (.com/.io/.ai) via RDAP publico (sin key): estado de registro, registrador, expiracion, DNS", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Startup domain availability check", "tags": ["domain", "startup", "rdap", "dns", "brand"]}, {"url": "https://anibalb.duckdns.org/x402/roast-horror", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Contenido fun por llamada: roast comico de un nombre/tema o historia de terror corta (100% local, plantillas, sin fetch externo)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Roast & Horror fun content", "tags": ["fun", "roast", "horror", "creative", "games"]}, {"url": "https://anibalb.duckdns.org/x402/loan-amortization", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Calculadora de amortizacion de prestamos: dado principal/tasa/plazo devuelve pago mensual, calendario de amortizacion (periodo, principal, interes, balance) e interes total. 100% local (stdlib math), sin fetch externo.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Loan amortization calculator", "tags": ["finance", "loan", "amortization", "fintech", "math", "calculator"]}, {"url": "https://anibalb.duckdns.org/x402/barcode", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Genera un codigo de barras (EAN-13, UPC-A, Code128, Code39) como SVG a partir de un valor. 100% local (checksum + SVG puro, stdlib), sin fetch externo.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Barcode generator (EAN-13/UPC-A/Code128/Code39 SVG)", "tags": ["barcode", "ean", "upc", "code128", "code39", "svg", "generator"]}, {"url": "https://anibalb.duckdns.org/x402/bankruptcy-filings", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Busqueda de filings de bancarrota/insolvencia en SEC EDGAR (full-text search publica, sin key): 8-K/10-Q/10-K con chapter 11, bankruptcy, insolvency por empresa o termino", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "SEC EDGAR bankruptcy filings search", "tags": ["sec", "edgar", "bankruptcy", "insolvency", "chapter11", "legal", "filings", "finance"]}, {"url": "https://anibalb.duckdns.org/x402/lei-lookup", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Busqueda de Legal Entity Identifier (LEI) en el golden copy de GLEIF (publico, CC0, sin key): por nombre legal o LEI, devuelve LEI, nombre legal, estatus de registro, jurisdiccion y direccion legal", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "GLEIF LEI lookup (legal entity identifier)", "tags": ["lei", "gleif", "legal", "entity", "compliance", "registry", "corporate"]}, {"url": "https://anibalb.duckdns.org/x402/trending-github", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Repositorios GitHub trending: repos creados recientemente ordenados por estrellas (GitHub search API publica, sin key): full_name, stars, lenguaje, descripcion, url", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "GitHub trending repositories", "tags": ["github", "trending", "repos", "dev", "open-source", "stars"]}, {"url": "https://anibalb.duckdns.org/x402/exa-contents", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Extraccion batch de contenido limpio de multiples URLs (patron EXA Contents): titulo, texto principal y links por URL. 100% stdlib.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Batch URL content extraction (EXA Contents)", "tags": ["scraping", "web", "extract", "content", "batch", "urls"]}, {"url": "https://anibalb.duckdns.org/x402/erc721-tokens", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Lista los tokens ERC-721 que posee un address (balanceOf + tokenOfOwnerByIndex + tokenURI) via RPC publico, sin key.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "ERC-721 tokens by owner", "tags": ["nft", "erc721", "onchain", "wallet", "portfolio", "rpc"]}, {"url": "https://anibalb.duckdns.org/x402/web-scraper", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Fetchea una URL y devuelve el contenido limpio en texto (titulo, texto principal, links). 100% stdlib.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Web scraper (URL to text)", "tags": ["scraping", "web", "extract", "content"]}, {"url": "https://anibalb.duckdns.org/x402/global-market", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Metricas globales del mercado cripto (CoinGecko /global, publico sin key): market cap total, dominancia BTC/ETH, volumen 24h, cambio de mcap y activos activos", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Global crypto market metrics (CoinGecko)", "tags": ["crypto", "market", "global", "macro", "coingecko"]}, {"url": "https://anibalb.duckdns.org/x402/trending-crypto", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Criptos trending (CoinGecko /search/trending, publico sin key): nombre, simbolo, market cap rank, score y coin_id para pricing", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Trending crypto (CoinGecko)", "tags": ["crypto", "trending", "discovery", "coingecko", "market"]}, {"url": "https://anibalb.duckdns.org/x402/pypi-package", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Metadata completa de un paquete Python desde PyPI (JSON publico sin key): autor, version, releases con upload-times, requires-python y clasificadores", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "PyPI package metadata", "tags": ["pypi", "python", "package", "dev", "sbom", "supply-chain"]}, {"url": "https://anibalb.duckdns.org/x402/vat-check", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Valida un numero de IVA de la UE (VIES). Parametros: country (ej DE), vat (ej 123456789)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "5000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "EU VAT validation", "tags": ["vat", "europe", "validation"]}, {"url": "https://anibalb.duckdns.org/x402/sanctions-check", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Busca un nombre en la lista de sanciones OFAC (SDN). Parametro: name", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "5000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "OFAC sanctions check", "tags": ["sanctions", "ofac", "compliance"]}, {"url": "https://anibalb.duckdns.org/x402/token-price", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Precio de cualquier token en USD. Parametro: token (id de CoinGecko, ej 'usd-coin', 'solana')", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Token price", "tags": ["crypto", "price", "token"]}, {"url": "https://anibalb.duckdns.org/x402/gas-price", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Precio actual de gas de Ethereum (gwei) via RPC publico", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Ethereum gas price", "tags": ["gas", "ethereum", "fees"]}, {"url": "https://anibalb.duckdns.org/x402/wallet-portfolio", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Portafolio onchain de una direccion en Base: saldo nativo ETH + balances de tokens ERC20 comunes (USDC, USDT, DAI, WETH, cbETH) con estimacion en USD via CoinGecko. Parametro: address (0x...)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "5000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Wallet portfolio (Base)", "tags": ["wallet", "portfolio", "balance", "base", "defi"]}, {"url": "https://anibalb.duckdns.org/x402/wallet-balance", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Balance de una direccion en Base mainnet. Parametros: address (0x...), token (usdc|eth, default usdc)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "5000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Wallet balance", "tags": ["wallet", "balance", "base"]}, {"url": "https://anibalb.duckdns.org/x402/erc20-balance", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Balance ERC-20 de un address en Base mainnet (via RPC publico, sin key). Parametros: address (0x...), contract (0x... del token, default USDC Base). Alta demanda onchain (Onesource Chain Erc20 Balance 1084 calls/30d, 1077 payers).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "3000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "ERC-20 balance", "tags": ["web3", "erc20", "balance", "rpc"]}, {"url": "https://anibalb.duckdns.org/x402/cve-lookup", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Inteligencia de vulnerabilidades CVE (NVD publico, sin key): descripcion, CVSS v3/v2, severidad, vector, CWE, referencias y fecha. Parametros: cve (ID, p.ej. CVE-2021-44228) o q (keyword)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "CVE lookup (NVD)", "tags": ["security", "cve", "nvd", "osint", "vulnerability"]}, {"url": "https://anibalb.duckdns.org/x402/treasury-yield-curve", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Curva de rendimiento diaria del Tesoro de EEUU (1Mo-30Yr) para la fecha mas reciente o una fecha dada. Fuente home.treasury.gov publica, sin key. Parametro opcional: date (MM/DD/YYYY)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "US Treasury yield curve", "tags": ["treasury", "bonds", "yield", "rates", "fixed-income"]}, {"url": "https://anibalb.duckdns.org/x402/cn-stock-quote", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Cotizacion en tiempo real de una accion china A-share (p.ej. sh600519): precio, cambio %, apertura, max/min, volumen, PE, market cap. Fuente Tencent qt.gtimg.cn publica, sin key. Parametro: code (formato sh600519 / sz000001)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "China A-share stock quote", "tags": ["stocks", "china", "market", "quotes", "cn"]}, {"url": "https://anibalb.duckdns.org/x402/exchange-rate", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Tipo de cambio fiat. Parametros: from (ej USD), to (ej EUR)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Fiat exchange rate", "tags": ["fiat", "exchange", "forex"]}, {"url": "https://anibalb.duckdns.org/x402/ai-complete", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Completa texto con un modelo de IA local (9B) pagando por llamada en USDC. Parametro: prompt", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "10000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "AI text completion", "tags": ["ai", "llm", "completion"]}, {"url": "https://anibalb.duckdns.org/x402/email-validate", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Valida sintaxis y MX de un email.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "3000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Email validator", "tags": ["email", "validation"]}, {"url": "https://anibalb.duckdns.org/x402/hash", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Hash de texto (MD5/SHA1/SHA256/SHA512). Parametro: text, algo", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "3000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Hash utility", "tags": ["crypto", "hash"]}, {"url": "https://anibalb.duckdns.org/x402/uuid", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Genera un UUID v4.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "3000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "UUID generator", "tags": ["uuid", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/timezone", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Hora actual en cualquier zona horaria. Parametro: tz (ej UTC, America/New_York)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "3000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Timezone clock", "tags": ["time", "timezone"]}, {"url": "https://anibalb.duckdns.org/x402/dns", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Lookup de registros DNS (A, MX, TXT, NS, CNAME). Parametros: domain, type", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "3000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "DNS lookup", "tags": ["dns", "network"]}, {"url": "https://anibalb.duckdns.org/x402/whois", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "WHOIS de un dominio via RDAP: registrar, fechas creacion/expiracion, nameservers, estado. Parametros: domain", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "3000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Domain WHOIS lookup", "tags": ["dns", "domain", "network"]}, {"url": "https://anibalb.duckdns.org/x402/hash-utils", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Utilidades de hash/encoding: sha256, md5, base64 encode/decode, hex. Parametros: text, op (sha256|md5|b64e|b64d|hexe|hexd)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Hash & encoding utils", "tags": ["dev", "hash", "encoding", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/block-explorer", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Explorador onchain: dado tx hash devuelve status/receipt, o block (numero/'latest') devuelve info de bloque. Via RPC publico (sin key). Parametros: tx, block, latest, network (eth|base)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Onchain block/tx explorer", "tags": ["web3", "onchain", "explorer", "blockchain", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/chain-rpc", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "RPC onchain (familia Onesource Chain, alta demanda): events (eth_getLogs por contrato/topic), erc20-transfers, nonce, allowance, erc1155-balance, pending, call (eth_call arbitrario), estimate-gas, network-info, code (bytecode), contract (info). Parametros: op, network (base|eth), + op-specific", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Onchain RPC reads (events/transfers/nonce/allowance/call/code)", "tags": ["web3", "onchain", "rpc", "blockchain", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/web-search", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Busqueda web/semantica por llamada (categoria #1 del catalogo x402): DuckDuckGo + fallback Wikipedia + Hacker News Algolia. Parametros: q (query), n (1-10), source (auto|ddg|wikipedia)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Web search (DDG/Wikipedia/HN)", "tags": ["search", "web", "ai", "data", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/wallet-tx-history", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Historial de transacciones de una wallet EVM: transfers ERC-20 (USDC por defecto) recientes via eth_getLogs (hash, from, to, value, block). Parametros: address (0x...), network (base|eth), token (address ERC-20, opcional), limit (max 100)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Wallet transaction history (ERC-20 transfers)", "tags": ["web3", "onchain", "wallet", "history", "blockchain", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/phone-enrich", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Enrichment de numero de telefono: carrier/operador, tipo de linea (mobile/landline/VoIP), ubicacion (pais/region/ciudad), prefijo, y flags de riesgo (prepaid, virtual, disposable). 100% local (tablas de prefijos + heuristica). Parametros: phone (ej +346****5678)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Phone number enrichment (carrier/line-type/location)", "tags": ["dev", "phone", "enrichment", "data", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/phone-validate", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Valida un numero de telefono E.164: formato, pais, longitud, prefijo. Parametros: phone (ej +34612345678)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Phone number validation (E.164)", "tags": ["dev", "phone", "validation", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/ens-resolve", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Resuelve un nombre ENS a direccion (forward) o una direccion a nombre (reverse) en Ethereum mainnet via RPC publico. Parametros: name (ej vitalik.eth) o address (0x...)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "ENS name resolution", "tags": ["ens", "web3", "identity", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/address-validate", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Valida una direccion EVM: formato hex, longitud, checksum EIP-55. Parametros: address (0x...)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "EVM address validation (EIP-55)", "tags": ["web3", "address", "validation", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/json-tools", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Utilidades JSON: validar, formatear (pretty), minificar. Parametros: json (texto), op (validate|pretty|minify)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "JSON tools (validate/format/minify)", "tags": ["dev", "json", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/http-status", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Comprueba el estado HTTP de una URL: codigo de status, headers, tiempo de respuesta, redirecciones. Parametros: url (ej https://example.com), follow (true/false)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "HTTP status / uptime monitor", "tags": ["dev", "monitoring", "uptime", "infrastructure"]}, {"url": "https://anibalb.duckdns.org/x402/security-headers", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Audita headers de seguridad HTTP + certificado TLS de una URL: HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, issuer/expiry del cert, y score 0-100. Parametros: url (ej https://example.com)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Security headers / TLS audit", "tags": ["dev", "security", "tls", "audit", "infrastructure"]}, {"url": "https://anibalb.duckdns.org/x402/uuid-tools", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Utilidades UUID: generar v4/v7, validar, decodificar timestamp de v1/v7. Parametros: op (gen|validate|decode), count, uuid", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "UUID tools (generate/validate/decode)", "tags": ["dev", "uuid", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/regex-tester", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Prueba una expresion regular contra un texto: devuelve matches, grupos y flags. Parametros: pattern, text, flags (i|m|s)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Regex tester", "tags": ["dev", "regex", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/cron-parser", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Parsea una expresion cron y calcula las proximas N ejecuciones. Parametros: expr (ej '*/5 * * * *'), count", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Cron expression parser", "tags": ["dev", "cron", "scheduler", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/password-strength", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Evalua la fortaleza de una contrasena: longitud, entropia (bits), charset, tiempo estimado de crackeo. Parametros: password", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Password strength checker", "tags": ["security", "password", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/timezone-convert", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Convierte una fecha/hora entre zonas horarias IANA. Parametros: dt (ISO), from_tz, to_tz (ej America/New_York, UTC)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Timezone converter", "tags": ["time", "timezone", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/text-stats", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Estadisticas de texto: palabras, caracteres, oraciones, tiempo de lectura, densidad de palabras clave. Parametros: text", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Text statistics", "tags": ["text", "nlp", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/web-archive", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Consulta el Wayback Machine (archive.org) por snapshots archivados de una URL: disponibilidad, snapshot mas cercano, lista de capturas. Parametros: url, timestamp (opcional, ej 2020)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Web archive lookup (Wayback Machine)", "tags": ["archive", "osint", "web", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/github-stats", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Estadisticas de un repo GitHub: stars, forks, license, lenguaje, ultimo commit, issues abiertos. Parametros: repo (ej ethereum/go-ethereum)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "GitHub repository stats", "tags": ["github", "dev", "osint", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/hn-news", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Noticias de Hacker News: top stories, item por id, user. Fuente api.hnpwa.com (publica, sin key). Parametros: op (top|item|user), id, page", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Hacker News API", "tags": ["news", "dev", "data", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/rss-to-json", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Convierte un feed RSS/Atom a JSON: titulo, link, descripcion, items (titulo, link, fecha, autor). Parametros: url (ej https://hnrss.org/frontpage), limit (max items)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "RSS/Atom to JSON converter", "tags": ["rss", "news", "data", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/url-shortener", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Acorta una URL a un codigo corto determinista y resuelve el codigo a la URL original. Parametros: op (short|resolve), url, code. Persistencia local SQLite.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "URL shortener & resolver", "tags": ["dev", "url", "utility", "shortener"]}, {"url": "https://anibalb.duckdns.org/x402/tx-simulate", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Simula una transaccion EVM (eth_call + eth_estimateGas) contra el estado actual de la cadena y devuelve resultado, gas estimado y posibles reverts. Parametros: to (0x...), data (calldata hex), from (opcional), value (opcional, wei), network (base|eth).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "EVM transaction simulation", "tags": ["web3", "tx", "simulation", "rpc", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/token-metadata", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Devuelve metadata de un token ERC-20 por direccion de contrato: name, symbol, decimals, totalSupply (via RPC publico). Parametros: address (0x...), network (base|eth).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "ERC-20 token metadata", "tags": ["web3", "token", "erc20", "metadata", "rpc"]}, {"url": "https://anibalb.duckdns.org/x402/nft-metadata", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Devuelve metadata de un NFT ERC-721/ERC-1155 por contrato: name, symbol, totalSupply, balanceOf(owner), ownerOf(tokenId) y tokenURI. Via RPC publico (sin key). Parametros: contract (0x...), owner (0x..., opcional), tokenId (uint, opcional), network (base|eth).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "NFT metadata (on-chain)", "tags": ["web3", "nft", "erc721", "erc1155", "metadata", "rpc"]}, {"url": "https://anibalb.duckdns.org/x402/nft-floor-price", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Floor price de una coleccion NFT (ERC-721/1155) via CoinGecko NFT API (sin key): floor_price en USD y native, cambio 24h, market_cap_floor, volumen 24h. Parametros: id (slug CoinGecko, ej bored-ape-yacht-club) o contract (0x...).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "NFT collection floor price (CoinGecko)", "tags": ["web3", "nft", "floor-price", "market", "rpc"]}, {"url": "https://anibalb.duckdns.org/x402/sports-scoreboard", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Devuelve el scoreboard/resultados de una liga deportiva (NFL, NBA, MLB, NHL, soccer) para una fecha. Fuente ESPN public API (sin key). Parametros: sport (football|basketball|baseball|hockey|soccer), league (nfl|nba|mlb|nhl|eng.1), date (opcional, YYYYMMDD).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Sports scoreboard (ESPN)", "tags": ["sports", "data", "scoreboard", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/image-processing", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Procesa una imagen: redimensionar (resize), convertir formato (PNG/JPEG/WebP) y comprimir (calidad). 100% local (Pillow). Parametros: url (imagen remota) o data (base64), op (resize|convert|compress), width, height, fmt, quality.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Image processing (resize/convert/compress)", "tags": ["media", "image", "processing", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/summarize", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Resume un texto largo a un resumen extractivo conciso (frecuencia de palabras). 100%% local, sin fetch externo, sin cuenta ni KYC. Parametros: text, max_sentences (1-10, default 4).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Text summarization", "tags": ["nlp", "text", "summarization", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/company-enrich", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Enriquece una empresa por nombre: busca en Wikipedia (API publica, sin key) y devuelve descripcion, industria, fundacion, sede, website y pagina. Parametros: name (nombre de la empresa).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Company enrichment (Wikipedia)", "tags": ["data", "enrichment", "b2b", "company", "search"]}, {"url": "https://anibalb.duckdns.org/x402/public-holidays", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Devuelve los dias festivos publicos de un pais y anio: fecha, nombre local, tipo (Public/Bank). Fuente date.nager.at (API publica, sin key). Parametros: country (ISO 3166-1 alpha-2, ej US), year (default 2026).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Public holidays (Nager.Date)", "tags": ["data", "calendar", "holidays", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/dictionary-thesaurus", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Diccionario y tesauro en ingles: definiciones, sinonimos, palabras relacionadas (means-like), rimas y sugerencias ortograficas. Fuente api.datamuse.com (publica, sin key). Parametros: q (palabra), op (ml|syn|def|rhymes|sp, default ml).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Dictionary & thesaurus", "tags": ["nlp", "dictionary", "thesaurus", "language", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/crypto-news", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Noticias de cripto/mercado en JSON: titulo, enlace y fecha de los ultimos articulos. Fuente feed RSS de CoinDesk (publico, sin key). Parametro count (default 10, max 30).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Crypto news", "tags": ["news", "crypto", "finance", "feed"]}, {"url": "https://anibalb.duckdns.org/x402/general-news", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Titulares de noticias generales (mundo) en JSON: titulo, enlace y fecha. Fuente feed RSS de BBC News (publico, sin key). Parametro count (default 10, max 30).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "General news headlines", "tags": ["news", "headlines", "world", "feed"]}, {"url": "https://anibalb.duckdns.org/x402/email-enrichment", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Enrichment de email: dado un email devuelve nombre probable (local-part), dominio/empresa, proveedor (gmail/outlook/custom), flags disposable/role/free. 100% local (heuristica stdlib), sin fetch externo, sin cuenta/KYC. Parametro: email.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Email enrichment (person/company)", "tags": ["data", "enrichment", "email", "person", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/flight-search", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Busqueda de vuelos en vivo: dado un aeropuerto (ICAO, ej KJFK) o bounding box (lamin/lonmin/latmax/lonmax) devuelve vuelos activos (callsign, origen, destino, altitud, velocidad, posicion). Fuente OpenSky Network API publica (sin key). Parametros: airport (ICAO), o lamin/lonmin/latmax/lonmax.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Live flight search (OpenSky)", "tags": ["travel", "flights", "aviation", "live", "data"]}, {"url": "https://anibalb.duckdns.org/x402/economic-indicators", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Indicadores economicos por pais (GDP, poblacion, desempleo, inflacion) via World Bank API publica (sin key). Parametros: country (ISO2 o region, default US), indicator (default NY.GDP.MKTP.CD), per_page (default 5).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Economic indicators (World Bank)", "tags": ["economy", "macro", "data", "world-bank"]}, {"url": "https://anibalb.duckdns.org/x402/equity-news", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Noticias de bolsa/mercado de valores en JSON: titulo, enlace y fecha de los ultimos articulos. Fuente feed RSS de MarketWatch (publico, sin key). Parametro count (default 10, max 30).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Equity / stock market news", "tags": ["news", "stocks", "equity", "finance", "market", "feed"]}, {"url": "https://anibalb.duckdns.org/x402/dnsbl-ip-reputation", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Reputacion de una IP consultando listas negras DNS (DNSBL): Spamhaus ZEN, Barracuda, SpamCop, SORBS. 100% local via DNS (sin fetch externo, sin key). Parametro ip. Devuelve por zona si la IP esta listada y el codigo de retorno.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "DNSBL IP reputation", "tags": ["security", "dnsbl", "ip", "spam", "reputation"]}, {"url": "https://anibalb.duckdns.org/x402/air-quality", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Calidad del aire por lat/lon: PM10, PM2.5 y US AQI (indice de calidad). Fuente Open-Meteo Air Quality API (publica, sin key). Parametros lat, lon (default 52.52,13.41).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Air quality", "tags": ["weather", "air", "environment", "aqi", "geo"]}, {"url": "https://anibalb.duckdns.org/x402/earthquake", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Ultimos terremotos (USGS): lista de sismos recientes con magnitud, lugar y coordenadas. Fuente USGS Earthquake Feed (publica, sin key). Parametro period (hour|day|week, default day), minmag (default 0).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Earthquake feed", "tags": ["geo", "earthquake", "usgs", "disaster", "data"]}, {"url": "https://anibalb.duckdns.org/x402/btc-fee-estimate", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Estimacion de tarifas de red Bitcoin (sat/vB): fastest, halfHour, hour, economy, minimum. Fuente mempool.space API v1 (publica, sin key).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "BTC fee estimate", "tags": ["bitcoin", "fees", "mempool", "crypto", "btc"]}, {"url": "https://anibalb.duckdns.org/x402/crypto-ohlc", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Precio OHLC historico de una cripto (velas open/high/low/close) en USD. Fuente CoinGecko API v3 (publica, sin key). Parametros coin (default bitcoin) y days (1|7|14|30|90|180|365).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Crypto OHLC", "tags": ["crypto", "ohlc", "coingecko", "prices", "history"]}, {"url": "https://anibalb.duckdns.org/x402/geocoding", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Geocodifica una direccion/lugar a lat/lon (y reverse con lat&lon). Fuente Nominatim/OpenStreetMap (publica, sin key). Parametros: q=texto o lat=..&lon=.. con reverse=true.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Geocoding (OSM Nominatim)", "tags": ["geo", "geocoding", "osm", "maps", "location"]}, {"url": "https://anibalb.duckdns.org/x402/stock-quotes", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Cotizacion de una accion: precio, open/high/low, volumen. Parametro symbol (default AAPL). Fuentes TwelveData (demo) y AlphaVantage como fallback (publicas).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Stock quotes", "tags": ["stocks", "finance", "quote", "market", "equity"]}, {"url": "https://anibalb.duckdns.org/x402/stock-screen", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Screener de acciones US: preset (day_gainers, day_losers, most_actives, dollar_volume, small_cap_gainers, large_cap_gainers, nasdaq100) o symbols=AAPL,MSFT, con filtros min_price, max_price, min_market_cap, min_volume y sector. Devuelve un ranking con precio, cambio %, cambio absoluto, volumen, volumen nocional, market cap, sector, industria y una tesis corta por reglas (momentum, tamano, catalizador probable). Fuente Nasdaq publica (api.nasdaq.com) con fallback Yahoo chart para simbolos sueltos; sin key ni cuenta. 100% stdlib (urllib+json).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "5000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Stock screener / daily stock picks with thesis", "tags": ["stocks", "screener", "equity", "market", "finance", "signals", "momentum"]}, {"url": "https://anibalb.duckdns.org/x402/analyst-ratings", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Ratings de analistas de una accion (Buy/Hold/Sell, precio objetivo) + historial de acciones (upgrades/downgrades). 100% stdlib (urllib+re), fuente stockanalysis.com publica, sin key. Parametros: symbol (default AAPL).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Analyst ratings / short interest", "tags": ["stocks", "finance", "analyst", "ratings", "equity"]}, {"url": "https://anibalb.duckdns.org/x402/html-table-extract", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Extrae las tablas <table> de un HTML (o URL) como JSON rows (header-keyed) o CSV. 100% local stdlib (html.parser), sin pip. Parametros: html (texto HTML) o url (URL a fetchear).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "HTML table extractor", "tags": ["dev", "parsing", "html", "table", "data"]}, {"url": "https://anibalb.duckdns.org/x402/format-converters", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Convierte entre formatos de datos y utilidades de texto: yaml2json, toml2json, csv2json, markdown2html, html-entities, urlcode, slug, diff, color-convert. 100% local stdlib, sin pip. Parametros: op (operacion), input (texto).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Format converters / text utils", "tags": ["dev", "convert", "format", "text", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/token-verdict", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Veredicto de un token ERC-20 para agentes que van a operarlo: metricas onchain REALES del contrato (name/symbol/decimals/totalSupply), mercado del par con mas liquidez (precio USD, liquidez, volumen 24h, FDV, cambios 1h/6h/24h, compras/ventas, DEX y URL del par), escaneo ESTATICO de seguridad del bytecode (mint, blacklist, tax/fee ajustable, maxTx, pause, ownership renunciado) con flags por severidad, score 0-100 y grade HIGH/MID/LOW, y un TAKE en lenguaje claro escrito por el LLM local (fallback determinista si esta apagado). 100% local: RPC publico + DexScreener + LLM local; sin key ni cuenta. Parametros: address (0x... 42 chars), network=base|ethereum, ai=0|1. Categoria: AI verdict sobre datos onchain (el patron con la base de pagadores mas ancha del indice x402).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "20000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Token verdict (onchain analysis)", "tags": ["web3", "token", "analysis", "verdict", "risk", "rpc"]}, {"url": "https://anibalb.duckdns.org/x402/dex-liquidity", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Top pools DEX de un token en Base (Uniswap V3): direccion del pool, fee tier, precio y liquidez estimada en USD. 100% local via RPC publico (sin key), sin cuenta/KYC. Parametros: address (0x...).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "DEX liquidity / pools", "tags": ["defi", "dex", "liquidity", "pools", "uniswap", "rpc"]}, {"url": "https://anibalb.duckdns.org/x402/code-review", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Revisa codigo fuente o git-diff: bugs, severidad, numero de linea, sugerencias de fix, foco en seguridad (CWE Top-25). 100% local via LLM del servicio, sin cuenta/KYC. Parametros: code (texto del codigo), lang (opcional).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "10000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "AI code review / security scan", "tags": ["code", "review", "security", "ai", "dev"]}, {"url": "https://anibalb.duckdns.org/x402/ai-rewrite", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Reescribe un pasaje de texto en un tono pedido (formal/plain/friendly/terse) conservando el significado. 100% local via LLM del servicio, sin cuenta/KYC. Parametros: text (texto a reescribir), tone (formal|plain|friendly|terse, default plain).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "5000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "AI text rewrite / paraphrase", "tags": ["ai", "text", "rewrite", "paraphrase", "nlp"]}, {"url": "https://anibalb.duckdns.org/x402/whale-tracking", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Actividad de whales/smart-money en un token ERC-20 en Base: ultimas transferencias grandes (>= umbral USD), wallets destacadas por volumen, compras/ventas recientes. 100% local via RPC publico (eth_getLogs, sin key), sin cuenta/KYC. Parametros: address (0x...), min_usd (umbral, default 1000), blocks (ventana en bloques, default 5000).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "10000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Whale / smart-money tracking", "tags": ["web3", "whale", "smartmoney", "onchain", "intel", "rpc"]}, {"url": "https://anibalb.duckdns.org/x402/random-joke", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Devuelve un chiste aleatorio (random joke). 100% local (base de datos embebida), sin fetch externo, sin cuenta/KYC. Parametros: category (opcional: general|tech|dad).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Random joke", "tags": ["fun", "joke", "random", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/random-fact", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Devuelve un dato curioso aleatorio (random fact). 100% local (base de datos embebida), sin fetch externo, sin cuenta/KYC.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Random fact", "tags": ["fun", "fact", "random", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/games-fun", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Entretenimiento aleatorio por llamada: coinflip (cara/cruz), dice (1-6), fortune (consejo de fortuna), riddle (acertijo con respuesta). 100% local (stdlib random + bases embebidas), sin fetch externo, sin cuenta/KYC. Parametro: game (coinflip|dice|fortune|riddle).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Games fun", "tags": ["fun", "game", "random", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/defi-yield-tvl", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Datos DeFi agregados via DefiLlama (publico, sin key): top pools de yield (APY, TVL, chain, protocol) o TVL por protocolo/chain. Parametros: mode (yield|tvl), chain (opcional), limit (opcional).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "DeFi yield TVL", "tags": ["defi", "yield", "tvl", "data"]}, {"url": "https://anibalb.duckdns.org/x402/precious-metals", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Precios spot de metales preciosos (XAU/Oro, XAG/Plata, XPT/Platino, XPD/Paladio) en USD, actualizado en tiempo real. Fuente api.gold-api.com publica sin key. Parametro opcional: metal (XAU|XAG|XPT|XPD), default XAU.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Precious metals spot prices", "tags": ["metals", "gold", "silver", "commodity", "price"]}, {"url": "https://anibalb.duckdns.org/x402/ai-content-detection", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Estima la probabilidad (0-100) de que un texto haya sido generado por IA. Heuristica local 100% (burstiness de longitud de oraciones, diversidad lexica, conectores formales, repeticion), sin fetch externo, sin cuenta/KYC. Parametro: text.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "AI content detection (heuristic)", "tags": ["ai", "nlp", "detection", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/unit-convert", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Convierte entre unidades de 10 categorias (longitud, masa, tiempo, temperatura, area, volumen, velocidad, datos, energia, presion). Parametros: value, from, to. 100% local, sin fetch externo, sin cuenta/KYC.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Unit converter", "tags": ["units", "convert", "utility", "dev"]}, {"url": "https://anibalb.duckdns.org/x402/math-solve", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Evalua una expresion matematica de forma SEGURA via parser AST (sin eval): aritmetica + sqrt/sin/cos/tan/log/exp/abs/pow, constantes pi/e. Parametro: expr.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Math solver (safe AST)", "tags": ["math", "calculator", "utility", "dev"]}, {"url": "https://anibalb.duckdns.org/x402/technology-detector", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Detecta la tecnologia de un sitio web (framework, servidor, CMS, CDN, analytics, lenguaje) analizando headers, HTML meta y fingerprints. 100%% stdlib (urllib+re+html.parser), sin pip, sin cuenta/KYC. Parametro: url.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Technology detector (Web tech stack)", "tags": ["osint", "tech", "stack", "detector", "wappalyzer", "builtwith", "web"]}, {"url": "https://anibalb.duckdns.org/x402/grammar-check", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Corrige gramatica/ortografia de un texto: spell-check (wordlist embebida) + heuristica de mayusculas, puntuacion y typos comunes. Devuelve texto corregido + lista de cambios. 100% local, sin fetch externo, sin cuenta/KYC. Parametro: text.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Grammar & spell checker", "tags": ["grammar", "spell", "nlp", "text", "utility", "proofread"]}, {"url": "https://anibalb.duckdns.org/x402/sql-guard", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Revisa una sentencia SQL (PostgreSQL/MySQL) antes de ejecutarla: veredicto pass/warn/block con riesgos (mutacion sin WHERE, tautologias, DROP/TRUNCATE, statement stacking, COPY PROGRAM, funciones peligrosas). 100% local, sin fetch externo, sin cuenta/KYC. Parametro: sql.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "SQL guard", "tags": ["sql", "security", "guard", "dev", "agent"]}, {"url": "https://anibalb.duckdns.org/x402/btc-vrp", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Calcula el BTC Volatility Risk Premium (DVOL de Deribit menos Parkinson realized vol 72h) con clasificacion de regimen LOW/MID/HIGH. Fuente Deribit publica, sin key.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "BTC Volatility Risk Premium", "tags": ["crypto", "volatility", "derivatives", "btc", "risk"]}, {"url": "https://anibalb.duckdns.org/x402/options-chain", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Cadena de opciones cripto (Deribit): calls/puts por strike con mark_iv, open_interest, volumen, bid/ask, mark price. Parametros: currency (BTC/ETH), opcional instrument. Fuente Deribit publica, sin key.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Crypto options chain (Deribit)", "tags": ["crypto", "options", "derivatives", "market", "btc", "eth"]}, {"url": "https://anibalb.duckdns.org/x402/link-preview", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Dada una URL devuelve metadata OpenGraph/Twitter (titulo, descripcion, imagen OG, canonical) para embeds, chat-bots y link-preview. 100% stdlib.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Link preview (OG metadata)", "tags": ["web", "metadata", "og", "social", "embed"]}, {"url": "https://anibalb.duckdns.org/x402/rerank", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "RAG reranking: reordena documentos contra una query (wire Cohere-compatible: {query, documents[], top_n} -> results con relevance_score). 100% local (BM25/lexical, stdlib), sin fetch externo. Parametros: query, documents (JSON array), top_n (opcional)", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "RAG rerank (BM25/lexical)", "tags": ["ai", "rag", "rerank", "retrieval", "llm", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/book-search", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Busqueda de libros via Open Library (openlibrary.org/search.json, publico sin key): por titulo/autor/ISBN devuelve libros con titulo, autor, anio, portada y codigos. 100% stdlib (urllib+json), sin cuenta/KYC, USDC Base. Parametros: q (query), author, limit.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Book search (Open Library)", "tags": ["books", "literature", "search", "isbn", "data"]}, {"url": "https://anibalb.duckdns.org/x402/vin-decode", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Decodifica un VIN (Vehicle Identification Number, 17 chars) usando la API publica de NHTSA (vpic.nhtsa.dot.gov, sin key): marca, modelo, anio, tipo de vehiculo, motor, plant. 100% stdlib (urllib+json), sin cuenta/KYC, USDC Base. Parametro: vin.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "VIN decoder (NHTSA)", "tags": ["vin", "vehicle", "auto", "decode", "data"]}, {"url": "https://anibalb.duckdns.org/x402/resume-parser", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Parsea un CV/resume (texto) a JSON estructurado: nombre, contacto (email/telefono), skills, experiencia (empresa, rol, fechas), educacion, idiomas. 100 local (regex+heuristica stdlib), sin cuenta/KYC, USDC Base. Parametro: text.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "3000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Resume parser", "tags": ["hr", "resume", "cv", "parsing", "ats", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/ct-subdomain-enum", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Enumeracion pasiva de subdominios/hosts de un dominio via logs de certificados CT (crt.sh, publico sin key): common_name, SANs, issuer, validez, serial. Parametro: domain.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "CT log subdomain enumeration", "tags": ["osint", "subdomain", "ct", "recon", "security", "dns"]}, {"url": "https://anibalb.duckdns.org/x402/wayback-history", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Historial de snapshots archivados de una URL (web.archive.org CDX API publica, sin key): timestamps, statuscode, digest, length. Parametro: url.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Wayback Machine history", "tags": ["archive", "wayback", "history", "change-detection", "osint"]}, {"url": "https://anibalb.duckdns.org/x402/pwned-password", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Comprueba cuantas veces aparece una contrasena en filtraciones conocidas (HaveIBeenPwned /range/ publica, k-anonymity: solo se envia prefijo SHA-1, sin exponer la contrasena). Parametro: password o hash.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Pwned password check", "tags": ["security", "password", "breach", "hibp", "credentials"]}, {"url": "https://anibalb.duckdns.org/x402/contract-analysis", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Analiza un contrato legal (texto) y extrae clausulas clave: partes, fechas, montos, obligaciones, terminacion, riesgos, jurisdiccion. 100 local (regex+lexicon legal stdlib), sin cuenta/KYC, USDC Base. Parametro: text.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "3000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Contract analysis", "tags": ["legal", "contract", "clauses", "law", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/market-risk", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Digest de estres de mercado cripto: score 0-100 compuesto de (a) salud de despeg de stablecoins USD (DefiLlama: cuantas por debajo de la paridad y desviacion media) y (b) volumen DEX global ponderado. Veredicto low/moderate/elevated/high. Sin key.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Crypto market risk (stress digest)", "tags": ["defi", "market-risk", "stablecoin", "risk", "proxy"]}, {"url": "https://anibalb.duckdns.org/x402/liquidations", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Liquidaciones recientes de futuros cripto (OKX public API, sin key): precio de quiebra (bkPx), tamano (sz), lado (posSide/side), timestamp. Parametros: instType (SWAP/FUTURES/MARGIN, def SWAP), instFamily (def BTC-USDT), state (failed/filled, def failed), limit. Categoria derivados/market-microstructure.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Crypto liquidations (OKX)", "tags": ["crypto", "futures", "liquidations", "derivatives", "market-data", "proxy"]}, {"url": "https://anibalb.duckdns.org/x402/sun-times", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Salida/puesta de sol, mediodia solar, duracion del dia y crepusculos (civil/nautico/astronomico) por lat/lon. Fuente api.sunrise-sunset.org publica, sin key. Parametros: lat, lng, date (opcional YYYY-MM-DD).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Sun times (sunrise-sunset.org)", "tags": ["sun", "astronomy", "geo", "time", "weather"]}, {"url": "https://anibalb.duckdns.org/x402/crypto-dossier", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Skill: Crypto dossier - informe compuesto de un token ERC-20 (metadata, precio, veredicto de riesgo, actividad whale) en una sola llamada. 100% local via RPC publico + CoinGecko, sin key.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "10000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Crypto Dossier (skill)", "tags": ["crypto", "dossier", "skill", "analysis", "onchain", "intel"]}, {"url": "https://anibalb.duckdns.org/x402/domain-intel", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Skill: Domain intel - informe compuesto de un dominio (DNS + WHOIS/RDAP + security headers + enumeracion de subdominios CT) en una sola llamada. 100% local stdlib + fuentes publicas sin key.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "10000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Domain Intel (skill)", "tags": ["domain", "dns", "osint", "security", "skill", "intel", "recon"]}, {"url": "https://anibalb.duckdns.org/x402/html-table-extract", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Extrae tablas <table> de un HTML (o URL) como JSON rows (header-keyed) o CSV. 100% local stdlib, sin pip.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "HTML Table Extract", "tags": ["html", "table", "parse", "csv", "json", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/us-zipcode", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Dado un ZIP de EEUU devuelve ciudad, estado, lat/lon (api.zippopotam.us publica, sin key). Parametros: zip (p.ej. 10001). Categoria geo/postal US.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "US ZIP code lookup", "tags": ["geo", "postal", "us", "zip", "location", "data"]}, {"url": "https://anibalb.duckdns.org/x402/uk-postcode", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Dado un postcode del Reino Unido devuelve lat/lon, region, distrito, ward y NHS area (api.postcodes.io publica, sin key). Parametros: postcode (p.ej. SW1A1AA). Categoria geo/postal UK.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "UK postcode lookup", "tags": ["geo", "postal", "uk", "postcode", "location", "data"]}, {"url": "https://anibalb.duckdns.org/x402/federal-register", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Busca documentos del Federal Register de EEUU (reglas, proposed rules, notices) por termino: titulo, tipo, abstract, agencia, fechas, citation. Fuente federalregister.gov publica sin key. Parametros: q (termino), n (max resultados). Categoria datos regulatorios/legales US.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "US Federal Register search", "tags": ["legal", "regulatory", "us", "federal", "government", "data"]}, {"url": "https://anibalb.duckdns.org/x402/irs-990", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Busca datos financieros de organizaciones sin fines de lucro de EEUU (Form 990): nombre, EIN, ciudad, estado, ntee_code, subseccd. Fuente ProPublica Nonprofit Explorer publica sin key. Parametros: q (nombre/termino), n (max resultados). Categoria datos de nonprofits/charity.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "US nonprofit (Form 990) search", "tags": ["nonprofit", "charity", "990", "irs", "us", "data"]}, {"url": "https://anibalb.duckdns.org/x402/serp", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Resultados organicos de buscador (SERP) por query: titulo, url, snippet y posicion. Fuente DuckDuckGo HTML (best-effort) + fallback Wikipedia/HN. Parametros: q (query), n (1-10). Categoria search-web top-demand del catalogo x402.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "SERP organic search results", "tags": ["search", "serp", "web", "data", "utility"]}, {"url": "https://anibalb.duckdns.org/x402/btc-hashrate", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Intel de red Bitcoin: hashrate actual (GH/s), dificultad y ultimo bloque (height, hash, time, n_tx, size, weight). Fuente blockchain.info publica, sin key. Categoria bitcoin-network-intel onchain.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "BTC hashrate and network stats", "tags": ["bitcoin", "network", "hashrate", "difficulty", "mining", "btc"]}, {"url": "https://anibalb.duckdns.org/x402/electricity-price", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Precio spot de electricidad por zona (BZN): unix_seconds + price (EUR/MWh) para el dia pedido. Fuente energy-charts.info (Bundesnetzagentur/SMARD, CC BY 4.0), publica sin key. Parametros area (def DE-LU; DE, AT, FR, DK1, SE1, NO1...) y date (YYYY-MM-DD, def hoy). Categoria energia/power-market.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Electricity spot price", "tags": ["energy", "electricity", "power", "prices", "europe"]}, {"url": "https://anibalb.duckdns.org/x402/vin-decode", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Decodifica un VIN (Vehicle Identification Number) via el servicio oficial sin-key vPIC de NHTSA: marca, modelo, anio, tipo, motor, specs. Parametro vin (17 chars). Categoria automotive/vehicle-data.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "NHTSA VIN decode", "tags": ["vin", "vehicle", "nhtsa", "automotive", "decode"]}, {"url": "https://anibalb.duckdns.org/x402/hts-tariff-lookup", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Busca la linea de clasificacion arancelaria HTS (USITC) por codigo o descripcion: htsno, descripcion, arancel general/special/other, unidades. Fuente hts.usitc.gov publica, sin key. Parametro q. Categoria comercio/aranceles.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "US HTS tariff classification lookup", "tags": ["hts", "tariff", "usitc", "trade", "customs", "import"]}, {"url": "https://anibalb.duckdns.org/x402/news-search", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Busca noticias recientes en tiempo real por query (titulo, url, dominio, idioma, pais, fecha) via GDELT DOC API publica, sin key. Parametros q (query), n (1-25, def 10). Categoria news-content top-demand del catalogo x402.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Real-time news search", "tags": ["news", "search", "media", "gdelt", "headlines", "content"]}, {"url": "https://anibalb.duckdns.org/x402/steam-appdetails", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Datos del catalogo Steam por appid: nombre, genero, precio, descuento, metacritic, DLCs, is_free. Fuente store.steampowered.com publica, sin key. Parametro appid (def 570). Categoria gaming-catalog.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Steam app details", "tags": ["steam", "gaming", "catalog", "games", "store", "deals"]}, {"url": "https://anibalb.duckdns.org/x402/us-geo-fcc", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Dado lat/lon resuelve area geografica US: census block FIPS, county y state. Fuente geo.fcc.gov publica, sin key. Parametros latitude, longitude. Categoria geo-US administrativa.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "US census block geolocation", "tags": ["geo", "census", "fips", "us", "geolocation", "county", "state"]}, {"url": "https://anibalb.duckdns.org/x402/geo-elevation", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Dado lat/lon devuelve la elevacion del terreno en metros (fuente Open-Elevation publica, sin key). Parametros latitude, longitude. Categoria geo-elevation/topografia.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Terrain elevation lookup", "tags": ["geo", "elevation", "terrain", "topography", "altitude"]}, {"url": "https://anibalb.duckdns.org/x402/geo-geometry", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Operaciones GIS sobre geometrias GeoJSON (100%% local, stdlib): area (shoelace), bbox, centroid, validate, perimeter. Parametros geometry (GeoJSON) y opcional op (area|bbox|centroid|validate|perimeter). Categoria geo-geometry/GIS.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "GeoJSON geometry operations", "tags": ["geo", "gis", "geometry", "geojson", "area", "centroid", "bbox", "validate"]}, {"url": "https://anibalb.duckdns.org/x402/clinical-trials", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Busca ensayos clinicos en ClinicalTrials.gov (API v2 publica, sin key) por termino: NCT ID, titulo, condicion, fase, estado, patrocinador, pais. Parametros q (query), n (1-10, def 5). Categoria biomedical/clinical-research data.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Clinical trials search", "tags": ["health", "clinical", "biomedical", "research", "medical"]}, {"url": "https://anibalb.duckdns.org/x402/academic-search", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Busca literatura academica/DOIs en Crossref (API REST publica, sin key): DOI, titulo, autores, journal, anio, tipo y citas. Parametros q (query), n (1-10, def 5). Categoria scholarly metadata global (arxiv=preprints CS, pubmed=biomed; crossref cubre todas las disciplinas).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Academic literature search (Crossref)", "tags": ["academic", "scholar", "doi", "papers", "research", "literature"]}, {"url": "https://anibalb.duckdns.org/x402/tv-shows", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Busca series de TV por titulo o datos de una serie por id (TVMaze API publica, sin key): titulo, idioma, generos, estreno, rating, estado, resumen, imagen y cadena. Parametros q (titulo), n (1-10, def 5) o id. Categoria TV/movie metadata.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "TV shows search (TVMaze)", "tags": ["tv", "movies", "entertainment", "metadata", "media", "search"]}, {"url": "https://anibalb.duckdns.org/x402/gas-oracle", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Gas oracle multi-cadena (Base/Ethereum): gas price, base fee EIP-1559, priority fee y coste estimado de tx tipicas (transfer nativo, ERC-20, swap DEX) en gwei y token nativo. Parametro chain (base|ethereum). 100% local via RPC publico, sin key. Categoria gas/fees multi-cadena.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Multi-chain gas oracle (Base/Ethereum, EIP-1559)", "tags": ["gas", "fees", "ethereum", "base", "eip1559", "gwei", "defi", "onchain"]}, {"url": "https://anibalb.duckdns.org/x402/usgs-water", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Datos hidrologicos de EEUU (USGS NWIS, API publica sin key): con site -> valores instantaneos (caudal ft3/s, nivel de rio, temperatura) del ultimo dia; con state -> lista de estaciones de monitoreo. Parametros site, state, parameter (discharge|gage_height|temp|all), period. Categoria hidrologia/recursos hidricos.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "USGS water data (NWIS instantaneous values)", "tags": ["water", "usgs", "hydrology", "river", "discharge", "environment", "science"]}, {"url": "https://anibalb.duckdns.org/x402/mcp", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Servidor MCP (Model Context Protocol) sobre x402: initialize / tools/list / tools/call. Expone utilidades de datos del servicio a clientes MCP y agentes LLM, con pago por llamada en USDC Base. Sin cuenta ni API key.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "MCP server (x402 data tools)", "tags": ["mcp", "agents", "tools", "llm", "x402", "model-context-protocol"]}, {"url": "https://anibalb.duckdns.org/x402/mcp", "type": "http", "method": "POST", "x402Version": 2, "networks": ["eip155:8453"], "description": "Servidor MCP (Model Context Protocol) sobre x402: initialize / tools/list / tools/call. Expone utilidades de datos del servicio a clientes MCP y agentes LLM, con pago por llamada en USDC Base. Sin cuenta ni API key.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "MCP server (x402 data tools)", "tags": ["mcp", "agents", "tools", "llm", "x402", "model-context-protocol"]}, {"url": "https://anibalb.duckdns.org/x402/csv-preflight", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "CSV preflight: delimiter detection, header sanity, ragged rows, duplicates, per-column type inference with null rates and quality flags (100% local, stdlib).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "CSV preflight", "tags": ["data", "csv", "quality", "validation"]}, {"url": "https://anibalb.duckdns.org/x402/payment-preflight", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Preflight de un endpoint x402 ajeno: hace la peticion SIN pagar, captura el 402 y verifica si un cliente real PODRIA pagarlo - status 402, challenge v2 en la cabecera payment-required y forma v1 accepts[] en el cuerpo, payTo con checksum EIP-55 valido, asset/network/amount coherentes, soporte MPP. Devuelve verdict payable/broken, score 0-100, la lista de checks e issues con el arreglo. Parametros: url, timeout.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "5000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "x402 payment-path preflight / diagnostic", "tags": ["x402", "diagnostics", "payments", "preflight", "reliability", "agent-infra"]}, {"url": "https://anibalb.duckdns.org/x402/funding-rates-multi", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Feed multi-venue de funding rates de perpetuos: Binance, Bybit, OKX y Bitget para un mismo activo, con tasa normalizada a 8h, anualizada, mark price, index price, proximo funding y el SPREAD entre venues (min/max/media) + deteccion de oportunidad de arbitraje cash-and-carry cuando el signo difiere entre venues. Parametros symbol (BTC, ETH...) y venues (csv opcional). Fuentes publicas sin key.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "3000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Multi-venue perpetual funding rates feed (Binance/Bybit/OKX/Bitget)", "tags": ["crypto", "funding", "derivatives", "perpetuals", "futures", "arbitrage", "market-data", "multi-venue"]}, {"url": "https://anibalb.duckdns.org/x402/price-levels", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Niveles de soporte y resistencia de un par cripto a partir de OHLC real (CoinGecko publico, sin key): swings highs/lows agrupados en niveles S/R con fuerza (numero de toques), pivotes clasicos (P, R1-R3, S1-S3), ATR(14) y un setup operativo sugerido (entrada, stop loss, take profit, ratio R:R) para long y short. 100% local (calculo, stdlib), sin cuenta ni KYC.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Support/resistance levels + stop loss & take profit setups", "tags": ["trading", "levels", "support", "resistance", "stop-loss", "take-profit", "atr", "crypto", "ta"]}, {"url": "https://anibalb.duckdns.org/x402/dns-lookup", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Registros DNS de un dominio (A, AAAA, MX, TXT, NS, CNAME, SOA, CAA): respuestas reales por tipo, servidores de correo con prioridad, y flags de autenticacion de email (SPF en TXT raiz y DMARC en _dmarc). 100% local via DNS, sin cuenta ni KYC.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "DNS records lookup (A/AAAA/MX/TXT/NS/CNAME/SOA) + SPF/DMARC", "tags": ["dns", "domain", "lookup", "infrastructure", "email", "spf", "dmarc", "mx", "records"]}, {"url": "https://anibalb.duckdns.org/x402/us-entity", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Registro de empresas de estados de EEUU (EEUU state business registry): busca entidades por nombre en los registros abiertos oficiales de Colorado, New York y Oregon (Socrata open data, sin key). Devuelve nombre, entity id, tipo de entidad, estado/estatus, fecha de constitucion, jurisdiccion y direccion principal. Parametros: q (nombre, min 2 caracteres), state (co|ny|or, default co), limit. Categoria NUEVA: registro mercantil estatal de EEUU (complementa LEI/GLEIF, VIES UE y SEC EDGAR federal).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "3000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "US state business entity registry lookup (CO/NY/OR)", "tags": ["company", "registry", "business", "entity", "us", "colorado", "new-york", "oregon", "kyb", "vendor-verification", "due-diligence"]}, {"url": "https://anibalb.duckdns.org/x402/uk-company", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Registro mercantil del Reino Unido (UK Companies House): busca empresas por nombre o trae el perfil completo por numero de compania del registro publico oficial de Companies House (find-and-update.company-information.service.gov.uk, sin key ni cuenta). Devuelve nombre, numero de compania, estatus (Active/Dissolved/Liquidation), fecha de constitucion, tipo de compania, direccion registrada, codigos SIC con su descripcion, nombres anteriores, y fechas de proximas/ultimas cuentas y confirmation statement. Parametros: q (nombre, min 2 caracteres) o number (numero de compania, ej 00445790), limit. Categoria NUEVA: registro mercantil del Reino Unido (complementa US state registry, LEI/GLEIF, VIES UE y SEC EDGAR).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "3000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "UK Companies House registry lookup (search by name or company number)", "tags": ["company", "registry", "business", "entity", "uk", "companies-house", "kyb", "vendor-verification", "due-diligence", "sic"]}, {"url": "https://anibalb.duckdns.org/x402/approval-guard", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Approval Guard (seguridad de tokens on-chain en Base): dado el address de una wallet, comprueba las allowances VIVAS (eth_call allowance) que esa wallet ha concedido a los spenders mas usados de Base (Permit2, Uniswap Universal Router, Aerodrome Router, 0x Settler, 1inch V6, Odos, LI.FI, Socket, Across, CoW, ParaSwap, Morpho) sobre 15 tokens top (USDC, WETH, DAI, cbBTC, AERO, DEGEN, EURC, USDT y mas), marca las ILIMITADAS y las concedidas a spenders no catalogados, y devuelve candidatos de revocacion con el calldata approve(spender,0) listo para firmar. Con token=<contrato> ademas descubre spenders no catalogados leyendo logs de Approval recientes (hasta 50.000 bloques). 100% local via RPC publico de Base, sin key ni cuenta. Categoria NUEVA: seguridad de allowances / revoke advisor.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "3000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "ERC-20 approval guard + revoke advisor (Base)", "tags": ["security", "approvals", "allowance", "revoke", "erc20", "base", "onchain", "wallet-safety", "defi", "token-approval"]}, {"url": "https://anibalb.duckdns.org/x402/market-trend", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Escaneo de tendencia del mercado cripto: veredicto BULLISH/BEARISH/NEUTRAL por moneda (cruce de medias SMA24/SMA168 sobre la serie horaria de 7 dias, RSI(14) y momentum 24h/7d/30d) con score 0-100, mas la amplitud del mercado (breadth: cuantas alcistas vs bajistas y sesgo risk-on/risk-off) y el veredicto de BTC. Parametros: symbols (csv de ids o simbolos, opcional; por defecto escanea el top-100 por capitalizacion), limit, vs_currency. 100% local sobre datos publicos de CoinGecko, sin key ni cuenta. Categoria NUEVA: signal/trend scan de mercado (technical-indicators calcula osciladores de un par; esto puntua y ordena el mercado entero).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "3000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Crypto market trend scan (bullish/bearish ranking + breadth)", "tags": ["crypto", "trend", "signal", "bullish", "bearish", "market-scan", "momentum", "rsi", "sma", "ta", "market"]}, {"url": "https://anibalb.duckdns.org/x402/token-safety", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Escaneo de seguridad estatico de un token ERC-20 en Base antes de comprarlo: comprueba que la direccion tiene bytecode, LEE el bytecode y detecta funciones de riesgo (mint(address,uint256)/mint(uint256), blacklist/bloqueo, tax/fee ajustable, maxTx, pause/unpause, transfer/approve presentes), resuelve owner() y marca si la propiedad esta renunciada, penaliza bytecode minusculo y la ausencia de metadata ERC-20, y hace un sondeo de transfer informacional. Devuelve score 0-100, veredicto SAFE/CAUTION/DANGER y lista de flags con severidad. Parametros: address (0x...), network=base|ethereum. 100% local via RPC publico, sin key ni cuenta. Categoria NUEVA: safety/risk scan de token (token-verdict da un veredicto por metadata/precio; esto audita el bytecode y el ownership en busca de trampas y palancas del owner).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "3000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "ERC-20 token safety / bytecode risk scan", "tags": ["token", "safety", "honeypot", "rugpull", "security", "erc20", "base", "onchain", "scam", "audit", "bytecode", "owner"]}, {"url": "https://anibalb.duckdns.org/x402/brand-assets", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Extrae los activos de marca de una web por URL: logos (og:image, favicon, apple-touch-icon, imgs con logo, rutas estandar), colores de marca (theme-color y los hex mas frecuentes del HTML) y tipografias (font-family embebidas y Google Fonts). 100% stdlib, sin key ni cuenta. Categoria NUEVA: extraccion de brand assets (logo, colores, tipografias) por llamada.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Brand assets extractor (logo, colors, fonts) from a URL", "tags": ["brand", "logo", "colors", "fonts", "design", "web", "scraping", "marketing", "identity"]}, {"url": "https://anibalb.duckdns.org/x402/sanctions-address", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Screening de una direccion de criptomoneda contra la lista SDN de OFAC (sanciones de EEUU): dice si la direccion esta sancionada, bajo que moneda figura (ETH/BTC/TRX/XMR/USDT...), la entidad sancionada y el numero de entrada SDN. Fuente treasury.gov, copia local cacheada; 100% local, sin key ni cuenta.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "OFAC SDN crypto address screening", "tags": ["sanctions", "ofac", "compliance", "address", "aml", "screening", "base"]}, {"url": "https://anibalb.duckdns.org/x402/seller-reputation", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Reputacion ON-CHAIN de un vendedor x402: sondea el endpoint sin pagar (estado 402, challenge v1/v2, payTo, precio, latencia, fiabilidad sobre N sondas) y cuenta EN LA CADENA cuantos pagadores UNICOS y cuantos pagos USDC ha recibido ese payTo en Base en los ultimos ~45.000 bloques (eth_getLogs del contrato USDC). Veredicto reputable/emerging/unproven. Parametros: url, probes. 100% local via RPC publico, sin key ni cuenta.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "5000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "x402 seller reputation (on-chain payers)", "tags": ["x402", "reputation", "seller", "trust", "payments", "onchain", "base", "usdc"]}, {"url": "https://anibalb.duckdns.org/x402/sp500-thesis", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Screener de los constituyentes del S&P 500 con TESIS corta por reglas: carga la lista de empresas del indice (Wikipedia, cache 24h), cruza cada ticker con el screener publico de Nasdaq y devuelve los constituyentes rankeados (market cap, momentum, volumen nocional o perdedores) con una tesis de una linea por reglas, mas un bloque BREADTH del indice (alcistas vs bajistas, cambio medio). Params: limit, sector, sort=market_cap|change|losers|volume. 100% stdlib, sin key ni cuenta.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "5000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "S&P 500 constituent screen with thesis", "tags": ["stocks", "sp500", "index", "thesis", "screen", "screener", "equities", "market", "research", "nasdaq", "breadth"]}, {"url": "https://anibalb.duckdns.org/x402/wallet-risk", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Veredicto de riesgo de una wallet en Base antes de pagarle o fiarse de ella: sanciones OFAC por direccion (entidad + entrada SDN), EOA vs contrato, saldos ETH/USDC/WETH, actividad (nonce), allowances VIVAS e ILIMITADAS a los spenders conocidos de Base, score 0-100 + veredicto SANCTIONED/HIGH_RISK/CAUTION/OK/NO_DATA, take de IA opcional (llm=1).", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "3000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "Wallet risk verdict (sanctions + activity + token approvals)", "tags": ["security", "wallet", "risk", "sanctions", "ofac", "approvals", "allowance", "aml", "base", "onchain", "due-diligence", "scammer"]}, {"url": "https://anibalb.duckdns.org/x402/weather-alerts", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Alertas meteorologicas ACTIVAS de EEUU (NWS api.weather.gov, publica sin key) por estado (area=CA) o por punto (point=lat,lon), con filtros opcionales severity/event: evento, severidad, urgencia, certeza, area afectada, titular, inicio/fin, emisor e id; contadores de severidad y total activo. 100% stdlib, sin cuenta ni KYC.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "2000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "US weather alerts (NWS active watches/warnings/advisories)", "tags": ["weather", "alerts", "nws", "warning", "advisory", "severe", "safety", "ops", "usa", "environment"]}, {"url": "https://anibalb.duckdns.org/x402/agent-earning-venues", "type": "http", "method": "GET", "x402Version": 2, "networks": ["eip155:8453"], "description": "Catalogo curado y fechado de venues donde un agente autonomo puede cobrar: rail de pago, que exige la entrada y estado medido (paying/live-no-demand/testnet/blocked). Filtros q, rail, category, status, limit.", "accepts": [{"scheme": "exact", "network": "eip155:8453", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "amount": "1000", "payTo": "0x3AEae5F742E34f94dB19b6C494072957633fA7Ca", "maxTimeoutSeconds": 300, "extra": {"name": "USD Coin", "version": "2"}}], "serviceName": "BTC price", "tags": ["crypto", "price", "btc"]}], "endpoints": null}