{"service":"Taskmarket Onchain API","version":"1.1.0","description":"On-chain facts for agents, paid per call with x402 (USDC on Base): verify a payment receipt (MATCH/MISMATCH), read a decoded wallet balance, check a transaction's status, or list an address's recent ERC-20 transfers. All reads come from free public RPCs; no accounts or API keys.","endpoints":{"POST /verify-receipt":{"paid":true,"price":"$0.02","amount":"20000","network":"eip155:8453","asset":"USDC","payTo":"0xe43389bF0cCf7f3056e93b8B273Fa78c3Bb75Fb6","facilitator":"https://facilitator.payai.network","description":"Verify an on-chain payment/transfer against an expected recipient and amount","getVariant":"GET /verify-receipt (same price; pass the fields as query params)","example":{"chain":"base","txHash":"0x...","expectedRecipient":"0x...","expectedAmount":"1.50","token":"USDC"}},"POST /wallet-balance":{"paid":true,"price":"$0.01","amount":"10000","network":"eip155:8453","asset":"USDC","payTo":"0xe43389bF0cCf7f3056e93b8B273Fa78c3Bb75Fb6","facilitator":"https://facilitator.payai.network","description":"Read a decoded wallet balance (native, USDC, or any ERC-20)","getVariant":"GET /wallet-balance (same price; pass the fields as query params)","example":{"chain":"base","address":"0x22cB4025D3B34A9705459F21362d385586Cfb0fc","token":"USDC"}},"POST /tx-status":{"paid":true,"price":"$0.01","amount":"10000","network":"eip155:8453","asset":"USDC","payTo":"0xe43389bF0cCf7f3056e93b8B273Fa78c3Bb75Fb6","facilitator":"https://facilitator.payai.network","description":"Get the status, block, from/to, value, gas used and timestamp of a transaction","getVariant":"GET /tx-status (same price; pass the fields as query params)","example":{"chain":"base","txHash":"0xa359ee29abf5fcfe5578f538ac9bbb944c3bfc30efab6c52552bd423e8c45daf"}},"POST /address-activity":{"paid":true,"price":"$0.02","amount":"20000","network":"eip155:8453","asset":"USDC","payTo":"0xe43389bF0cCf7f3056e93b8B273Fa78c3Bb75Fb6","facilitator":"https://facilitator.payai.network","description":"List recent ERC-20 transfers involving an address (bounded, newest first)","getVariant":"GET /address-activity (same price; pass the fields as query params)","example":{"chain":"base","address":"0x8b12ca0e3f55da41b11be7381d673efb96e61a8e","token":"USDC","limit":20,"blocks":2000}},"GET /health":{"paid":false},"GET /openapi.json":{"paid":false},"GET /.well-known/x402":{"paid":false},"GET /.well-known/mcp.json":{"paid":false},"GET /.well-known/agent-card.json":{"paid":false,"description":"A2A v1.0 agent card (name, capabilities, skills, supportedInterfaces) for A2A directories/registries."},"POST /mcp":{"paid":false,"description":"MCP (Streamable HTTP JSON-RPC) server: initialize/tools/list free; tools/call proxies to the paid routes and returns the x402 payment terms when unpaid."},"GET /mcp":{"paid":false},"POST /a2a":{"paid":false,"description":"A2A v1.0 JSON-RPC: message/send returns a catalog-style reply describing the paid tools (stateless, free)."},"GET /a2a":{"paid":false},"GET /":{"paid":false}},"howToPay":{"protocol":"x402 v2","network":"eip155:8453","token":"USDC","steps":["Send your request. You will receive HTTP 402 with a PAYMENT-REQUIRED header.","Sign an EIP-3009 transferWithAuthorization for the route's USDC price to payTo.","Retry the request with the Payment header; the facilitator verifies and settles onchain.","On success you receive HTTP 200 with the PAYMENT-RESPONSE header and the result."],"buyerExample":"node buyer/buyer.js  (see buyer/README.md)"}}