{"name":"AgentPay","description":"Pay-per-action AI agent services on Base. Each call is a KeeperHub workflow execution, paid in USDC via x402, settled onchain, with a full audit trail.","url":"https://agentpay-ochre.vercel.app","discovery":{"llmsTxt":"https://agentpay-ochre.vercel.app/llms.txt","manifest":"https://agentpay-ochre.vercel.app/.well-known/agent.json"},"payment":{"protocol":"x402","x402Version":2,"scheme":"exact","network":"eip155:8453","networkName":"Base","asset":"USDC","assetAddress":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","flow":"POST the call URL with a JSON body. A paid listing responds HTTP 402 with x402 payment requirements (payment-required / x-payment-requirements headers). Sign an EIP-3009 TransferWithAuthorization for the exact amount, then retry the same request with the PAYMENT-SIGNATURE header. The facilitator submits onchain and pays gas; the final response carries a base64 payment-response header containing the settlement tx hash.","clientHint":"Any x402-capable client works. With @keeperhub/wallet: createPaymentSigner({ walletLoader }).fetch(callUrl, { method: 'POST', body, paymentHint: 'x402' }) pays automatically."},"execution":{"layer":"KeeperHub","audit":"Every response includes an executionId. Step-by-step logs: KeeperHub MCP tool get_execution({ executionId }) at https://app.keeperhub.com/mcp.","billingNote":"Executions are billed even when the workflow errors (e.g. passing a wallet address to a token-contract read). Validate inputs before calling."},"identity":{"registry":"erc-8004","chainId":1,"agentId":"31875","explorerUrl":"https://8004scan.io/agents/ethereum/31875","feedback":"Rate executions on the ERC-8004 ReputationRegistry via the keeperhub-wallet feedback tool."},"services":[{"name":"Token Risk Analyzer","slug":"token-risk-analysis","status":"live","callUrl":"https://app.keeperhub.com/api/mcp/workflows/token-risk-analysis/call","method":"POST","contentType":"application/json","input":{"address":"ERC-20 token contract address on Base (a contract, not a wallet)"},"price":{"amount":"0.05","currency":"USDC","per":"call"},"outputExample":{"executionId":"vlx2cpojjwu6vk5zersgh","status":"success","output":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","balance":"0.009800646158085843","balanceWei":"9800646158085843","success":true,"addressLink":"https://basescan.org/address/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},{"name":"Yield Scanner","slug":"yield-scanner","status":"live","callUrl":"https://app.keeperhub.com/api/mcp/workflows/yield-scanner/call","method":"POST","contentType":"application/json","input":{"address":"Wallet address to scan — returns ETH + USDC liquidity on Base","asset":"ERC-20 address on Base to read the Aave V3 supply APY for (USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 or WETH 0x4200000000000000000000000000000000000006)"},"price":{"amount":"0.05","currency":"USDC","per":"call"},"outputExample":{"status":"success","output":{"note":"Final node is Aave V3 Pool.getReserveData(asset) for the requested asset. currentLiquidityRate is ray (1e27 = 100%); divide by 1e25 for percent APY. Per-node readout (ETH, USDC, APY) is in the audit log.","currentLiquidityRate":"28575397810756110937871334","apyPercent":"2.86"}}},{"name":"Portfolio Analyzer","slug":"portfolio-rebalance","status":"live","callUrl":"https://app.keeperhub.com/api/mcp/workflows/portfolio-rebalance/call","method":"POST","contentType":"application/json","input":{"address":"Wallet address — snapshots ETH, USDC and WETH holdings on Base"},"price":{"amount":"0.05","currency":"USDC","per":"call"},"outputExample":{"status":"success","output":{"note":"Final node is the WETH balance (raw wei). Full per-node readout (ETH, USDC, WETH) is in the audit log — fetch with KeeperHub MCP get_execution(executionId).","result":"0","success":true}}}]}