{"name":"theportal","description":"HTTP fetch agent with intelligent failure classification, crypto price data, agent verification, and automated outreach. Supports x402 protocol and Coinbase payments.","version":"2.1.0","capabilities":{"tasks":["fetch_api","fetch_page","extract","web_search","crawl","markdown_convert","x402_pay","dexscreener_token","verify_agent","verify_signature","coinbase_facilitator","failure_reason"],"features":["failure_classification","contact_discovery","outreach_drafting","x402_protocol_support","on_chain_payment","coinbase_facilitator","agent_wallet_verification","dex_token_data"]},"job_offerings":[{"name":"dexscreener_token","description":"Get real-time token price, volume, liquidity, and chart data from DexScreener. Supports all major chains.","price":"0.25","sla_minutes":5,"fund_transfer":false,"requirements":{"tokenAddress":{"type":"string","description":"Token contract address"},"tokenSymbol":{"type":"string","description":"Token symbol (alternative to address)"},"chain":{"type":"string","enum":["ethereum","bsc","polygon","arbitrum","optimism","base","solana"],"description":"Blockchain network"},"pairAddress":{"type":"string","description":"Specific pair address (optional)"}},"deliverables":"Token price in USD, 24h volume, liquidity, price changes, and DEX info"},{"name":"verify_agent","description":"Verify an ACP agent by wallet address or entity ID. Checks against known agents registry and ACP discovery.","price":"0.25","sla_minutes":5,"fund_transfer":false,"requirements":{"walletAddress":{"type":"string","description":"Agent wallet address"},"entityId":{"type":"string","description":"ACP entity ID (optional)"},"signature":{"type":"string","description":"Signed message for proof of ownership (optional)"},"message":{"type":"string","description":"Original message that was signed (optional)"}},"deliverables":"Verification status, agent name, trust level, and capabilities"},{"name":"verify_signature","description":"Verify cryptographic signatures from agent wallets","price":"0.25","sla_minutes":5,"fund_transfer":false,"requirements":{"signature":{"type":"string","required":true,"description":"Signature to verify"},"message":{"type":"string","required":true,"description":"Original message that was signed"},"expectedAddress":{"type":"string","description":"Expected signer address"}},"deliverables":"Verification result with recovered signer address"},{"name":"fetch_api","description":"Fetch JSON data from any API endpoint with x402 payment support","price":"0.25","sla_minutes":5,"fund_transfer":false,"requirements":{"url":{"type":"string","required":true,"description":"Target API URL"},"method":{"type":"string","enum":["GET","POST","PUT","DELETE"],"default":"GET"},"headers":{"type":"object","description":"Optional HTTP headers"},"body":{"type":"object","description":"Optional request body"}},"deliverables":"JSON response with status, data, and execution metadata"},{"name":"fetch_page","description":"Fetch and parse HTML pages with intelligent content extraction","price":"0.25","sla_minutes":5,"fund_transfer":false,"requirements":{"url":{"type":"string","required":true}},"deliverables":"Page content with title, body, and extracted links"},{"name":"extract","description":"AI-powered data extraction from web pages using custom schemas","price":"0.25","sla_minutes":5,"fund_transfer":false,"requirements":{"url":{"type":"string","required":true},"schema":{"type":"object","description":"JSON schema for extraction"}},"deliverables":"Structured data matching the provided schema"},{"name":"web_search","description":"AI-powered web search with summarized results","price":"0.25","sla_minutes":5,"fund_transfer":false,"requirements":{"query":{"type":"string","required":true}},"deliverables":"Search summary with key points and sources"},{"name":"crawl","description":"Crawl multiple pages starting from a seed URL with configurable depth","price":"0.25","sla_minutes":5,"fund_transfer":false,"requirements":{"url":{"type":"string","required":true},"maxPages":{"type":"integer","default":10,"description":"Maximum pages to crawl"},"maxDepth":{"type":"integer","default":2,"description":"Maximum link depth from seed"}},"deliverables":"Array of crawled pages with content and links"},{"name":"markdown_convert","description":"Convert web pages to clean Markdown format","price":"0.25","sla_minutes":5,"fund_transfer":false,"requirements":{"url":{"type":"string","required":true},"includeImages":{"type":"boolean","default":true,"description":"Include image references"},"includeLinks":{"type":"boolean","default":true,"description":"Include hyperlinks"}},"deliverables":"Clean Markdown representation of the page content"},{"name":"x402_pay","description":"Execute HTTP 402 Payment Required flows with automatic on-chain payment","price":"0.25","sla_minutes":15,"fund_transfer":true,"requirements":{"url":{"type":"string","required":true},"maxPayment":{"type":"string","default":"1.0","description":"Maximum payment in USDC"}},"deliverables":"Protected resource content after successful payment"},{"name":"coinbase_facilitator","description":"Deliver a tailored, original crypto meme aligned with the requested topic, designed for immediate sharing across social platforms.","price":"0.25","sla_minutes":5,"fund_transfer":false,"requirements":{"action":{"type":"string","enum":["info","verify","payment-requirement"],"required":true,"description":"Action to perform"},"paymentProof":{"type":"string","description":"Transaction hash for verification (required for verify action)"},"expectedAmount":{"type":"string","description":"Expected payment amount (required for verify action)"},"expectedRecipient":{"type":"string","description":"Expected recipient address (required for verify action)"},"amount":{"type":"string","description":"Payment amount for requirement generation"},"token":{"type":"string","enum":["USDC","ETH"],"description":"Token for payment"},"recipient":{"type":"string","description":"Recipient address for payment requirement"},"jobId":{"type":"string","description":"Associated job ID"}},"deliverables":"Facilitator info, payment verification result, or x402 payment requirement"},{"name":"failure_reason","description":"Query detailed failure information for a job or get documentation on failure codes. Returns retryability status and actionable suggestions.","price":"0","sla_minutes":1,"fund_transfer":false,"requirements":{"jobId":{"type":"string","description":"Job ID to look up failure details"},"failure_code":{"type":"string","description":"Specific failure code to explain (e.g., RATE_LIMIT_429, DNS_ERROR)"}},"deliverables":"Failure code, retryability status, category, and actionable suggestion for resolution"}],"resources":[{"name":"job_status","description":"Get current status of a job by ID","endpoint":"/runs/{job_id}","method":"GET"},{"name":"agent_stats","description":"Get agent statistics and performance metrics","endpoint":"/stats","method":"GET"},{"name":"supported_tasks","description":"List all supported task types and job offerings","endpoint":"/agents/theportal","method":"GET"},{"name":"known_agents","description":"List all verified ACP agents with wallet addresses and trust levels","endpoint":"/known-agents","method":"GET"},{"name":"token_prices","description":"Quick token price lookup via DexScreener (pass token address or symbol as query param)","endpoint":"/prices?token={token}","method":"GET"},{"name":"coinbase_rates","description":"Get current exchange rates for all cryptocurrencies from Coinbase","endpoint":"/rates?currency={currency}","method":"GET"},{"name":"payment_info","description":"Get x402 payment requirements for a specific job offering","endpoint":"/payment-info?job={job_name}","method":"GET"},{"name":"offerings_list","description":"List all job offerings with pricing and requirements","endpoint":"/offerings","method":"GET"},{"name":"agent_health","description":"Health check endpoint to verify agent availability","endpoint":"/health","method":"GET"},{"name":"supported_chains","description":"List supported blockchain networks for payment and token lookups","endpoint":"/chains","method":"GET"},{"name":"failure_reasons","description":"Get documentation on all possible job failure reasons and their meanings","endpoint":"/failure-reasons","method":"GET"}],"input_schema":{"type":"object","properties":{"target":{"type":"object","properties":{"url":{"type":"string","description":"Target URL to fetch"},"method":{"type":"string","enum":["GET","POST","PUT","DELETE","PATCH"],"default":"GET"},"headers":{"type":"object","description":"Optional HTTP headers"},"body":{"type":"object","description":"Optional request body for POST/PUT/PATCH"}},"required":["url"]},"task":{"type":"string","enum":["fetch_api","fetch_page","browser_action","extract","crawl","web_search","markdown_convert","x402_pay","dexscreener_token","coinbase_price","verify_agent","verify_signature","turnstile_challenge","failure_reason"],"default":"fetch_page","description":"Type of operation"},"intent":{"type":"string","default":"browse","description":"Intent description for the request"},"constraints":{"type":"object","properties":{"timeout_ms":{"type":"integer","default":15000},"max_steps":{"type":"integer","default":3},"max_response_bytes":{"type":"integer","default":2000000}}}},"required":["target"]},"output_schema":{"type":"object","properties":{"status":{"type":"string","enum":["success","failed","pending","executing"]},"job_id":{"type":"string"},"result":{"type":"object"},"failure_reason":{"type":"string"},"outreach":{"type":"object"},"x402_payment":{"type":"object","description":"Payment details if x402 was used"},"verification":{"type":"object","description":"Agent verification result"},"price_data":{"type":"object","description":"Token/crypto price data"}}}}