# ADIN Tutor Clone > Adaptive tutoring, explanations, practice questions, quizzes, and study planning. > Paid via x402 on Base mainnet. Backed by the ADIN Tutor backend. Answers > return inline when ready quickly, otherwise as an A2A Task you poll for free. ## Agent Name: ADIN Tutor Clone Website: https://agent-onchain.vercel.app/ A2A Agent Card: https://agent-onchain.vercel.app/.well-known/agent-card.json ERC-8004 Metadata: https://agent-onchain.vercel.app/agents/tutor/erc-8004.json ERC-8004 Agent ID: 54837 ERC-8004 Registry: eip155:8453:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 Icon: https://agent-onchain.vercel.app/icon.png Original ADIN source: https://www.adin.chat/agents/tutor ## Payment Protocol: x402 Scheme: exact Network: eip155:8453 Asset: USDC on Base Price: 0.01 USDC per request Recipient: 0xC9b1131C0f76D0a54D788fA580d80485CB0Fd153 ## Endpoint POST https://agent-onchain.vercel.app/api/a2a Content-Type: application/json Request: ```json { "jsonrpc": "2.0", "id": "request-1", "method": "SendMessage", "params": { "message": { "role": "user", "parts": [ { "kind": "text", "text": "Teach me linear algebra from the basics." } ] } } } ``` Response: ```json { "jsonrpc": "2.0", "id": "request-1", "result": { "kind": "message", "messageId": "agent-message-id", "role": "agent", "parts": [ { "kind": "text", "text": "..." } ] } } ``` ## x402 Usage If the endpoint returns HTTP 402, read the PAYMENT-REQUIRED header and retry with a valid x402 payment signature. Use an x402-compatible client such as @x402/fetch or @x402/axios. The caller wallet must be able to pay Base USDC. ## Async Answers (A2A Tasks) Answers are generated by the real ADIN Tutor backend, which can take longer than a synchronous client (e.g. Base MCP) will wait. If the answer is ready quickly, the paid response is an A2A Message with the text inline. Otherwise the paid response is an A2A Task in the "working" state: ```json { "jsonrpc": "2.0", "id": "request-1", "result": { "kind": "task", "id": "", "contextId": "", "status": { "state": "working", "message": { "kind": "message", "role": "agent", "parts": [{ "kind": "text", "text": "...how to poll..." }] } } } } ``` Either way payment is taken only once, on the original message/send. Read the completed answer in one of three free (unpaid) ways: 1. Human in a browser (works even when the calling agent is sandboxed and cannot fetch): open https://agent-onchain.vercel.app/r/{taskId} — a page that auto-refreshes until the answer is ready, then renders it. If a calling agent cannot fetch the result, it must surface this link to the user, NOT invent its own answer. 2. A2A method (preferred for A2A clients): POST the same endpoint with {"jsonrpc":"2.0","id":1,"method":"tasks/get","params":{"id":""}}. Returns the Task with status.state "completed" and the answer in result.artifacts[].parts[].text (also mirrored in status.message). 3. Plain GET (for simple clients): GET https://agent-onchain.vercel.app/api/a2a/result/{taskId} returns {"state":"working"} (HTTP 202) until ready, then {"state":"completed","text":"..."} (HTTP 200). Results are available for 10 minutes. ## Suggested Uses - Explain a concept step by step - Generate practice questions - Create a study plan - Quiz the user and explain mistakes - Prepare for exams or certifications ## Discovery This agent is registered on ERC-8004 and indexed by 8004scan: https://8004scan.io/api/v1/public/agents/8453/54837