{"id":11972,"name":"21 Million Pixels","description":"A shared 5000x4200 pixel canvas that anyone can paint on. People paint free, one pixel every 15 seconds. AI agents skip the wait by paying $0.005 a pixel in USDC on Base over x402 -- no account, no API key, no gas. This agent answers questions about the canvas -- what it is, where there is blank space, what is at a coordinate -- and sells pixels: ask it to paint and it quotes you, you sign, and it paints. Paid pixels go on at 60 a minute rather than all at once, so whoever painted underneath can see it happening.","card_url":"https://21millionpixels.art/.well-known/agent-card.json","endpoint":"https://21millionpixels.art/a2a","protocol_version":"0.3","first_seen":"2026-10-10T13:34:54.768804+00:00","last_verified":"2026-10-10T13:34:54.768804+00:00","card":{"url":"https://21millionpixels.art/a2a","name":"21 Million Pixels","skills":[{"id":"describe_canvas","name":"Describe the canvas","tags":["canvas","x402","pricing","getting-started"],"examples":["What is this canvas and how do I paint on it?"],"description":"What this canvas is and how to paint on it: its size, the palette, what a plot is, what a pixel costs an agent, how quickly paint is applied, and the endpoints to paint at.","outputModes":["application/json","text/plain"]},{"id":"find_space","name":"Find blank space","tags":["canvas","placement","search"],"examples":["Where can I put a 32x32 logo?","Find space for 64x16 near 1200, 900."],"description":"Find places where a rectangle of a given size fits on unpainted canvas, so a design can go there without covering somebody else's work. Send width and height in a data part, and optionally near_x and near_y to search elsewhere than the middle.","outputModes":["application/json","text/plain"]},{"id":"look_at_spot","name":"Look at a spot","tags":["canvas","inspect"],"examples":["What is at 2500, 2100?","Is the plot at 400, 400 locked?"],"description":"What is at a coordinate: whether it is painted, which plot it belongs to, and whether that plot is locked by its owner. A locked plot refuses paid paint before any money moves, so it is worth asking before paying.","outputModes":["application/json","text/plain"]},{"id":"paint_pixels","name":"Paint pixels","tags":["canvas","paint","x402","payment"],"examples":["Paint a 4x4 block of colour 3 at 2500, 2100.","Buy the pixel at 2500, 2100 in colour 5."],"description":"Buy pixels and have them painted. One payment covers one 10x10 plot, so up to 100 pixels at $0.005 each in USDC on Base. Say which pixels either as a list of tiles ({x, y, color}) or as x, y, width, height and a palette colour. The answer is a task in input-required whose x402.payment.required holds what to sign; send the signature back in x402.payment.payload on a message naming that task, and the pixels are queued and painted at 60 a minute. Follow it with tasks/get. Colours 1-32 are open to everyone; above that needs a wallet that owns a plot. Paint is permanent and anyone can paint over it afterwards.","outputModes":["application/json","text/plain"]}],"iconUrl":"https://21millionpixels.art/favicon-32.png","version":"0.1.0","provider":{"url":"https://21millionpixels.art","organization":"21 Million Pixels"},"description":"A shared 5000x4200 pixel canvas that anyone can paint on. People paint free, one pixel every 15 seconds. AI agents skip the wait by paying $0.005 a pixel in USDC on Base over x402 -- no account, no API key, no gas. This agent answers questions about the canvas -- what it is, where there is blank space, what is at a coordinate -- and sells pixels: ask it to paint and it quotes you, you sign, and it paints. Paid pixels go on at 60 a minute rather than all at once, so whoever painted underneath can see it happening.","capabilities":{"streaming":false,"extensions":[{"uri":"https://github.com/google-a2a/a2a-x402/v0.1","required":false,"description":"Paying for pixels: a task comes back in input-required carrying the x402 payment requirement, and the signature is sent back on a message naming that task. Needed only for the paint_pixels skill; the other three are free and need no extension."}],"pushNotifications":false,"stateTransitionHistory":false},"protocolVersion":"0.3.0","documentationUrl":"https://21millionpixels.art/llms.txt","defaultInputModes":["application/json","text/plain"],"defaultOutputModes":["application/json","text/plain"],"preferredTransport":"JSONRPC","supportedInterfaces":[{"url":"https://21millionpixels.art/a2a","protocolBinding":"JSONRPC","protocolVersion":"0.3"}]},"signature_status":"unsigned","signature_detail":"No card signature supplied","signature_key_url":null,"signature_checked_at":"2026-10-10T13:34:54.768804+00:00","domain_claimed_at":null,"domain_proof_checked_at":null,"source_name":"Agent Tools Catalog","source_url":"https://agent-tools.cloud","last_check":{"checked_at":"2026-10-10T13:34:54.768804+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"also_published_at":[],"history_urls":["https://21millionpixels.art/.well-known/agent-card.json"],"skills":[{"skill_id":"describe_canvas","name":"Describe the canvas","description":"What this canvas is and how to paint on it: its size, the palette, what a plot is, what a pixel costs an agent, how quickly paint is applied, and the endpoints to paint at.","tags":["canvas","x402","pricing","getting-started"],"quality_warning":false},{"skill_id":"find_space","name":"Find blank space","description":"Find places where a rectangle of a given size fits on unpainted canvas, so a design can go there without covering somebody else's work. Send width and height in a data part, and optionally near_x and near_y to search elsewhere than the middle.","tags":["canvas","placement","search"],"quality_warning":false},{"skill_id":"look_at_spot","name":"Look at a spot","description":"What is at a coordinate: whether it is painted, which plot it belongs to, and whether that plot is locked by its owner. A locked plot refuses paid paint before any money moves, so it is worth asking before paying.","tags":["canvas","inspect"],"quality_warning":false},{"skill_id":"paint_pixels","name":"Paint pixels","description":"Buy pixels and have them painted. One payment covers one 10x10 plot, so up to 100 pixels at $0.005 each in USDC on Base. Say which pixels either as a list of tiles ({x, y, color}) or as x, y, width, height and a palette colour. The answer is a task in input-required whose x402.payment.required holds what to sign; send the signature back in x402.payment.payload on a message naming that task, and the pixels are queued and painted at 60 a minute. Follow it with tasks/get. Colours 1-32 are open to everyone; above that needs a wallet that owns a plot. Paint is permanent and anyone can paint over it afterwards.","tags":["canvas","paint","x402","payment"],"quality_warning":false}],"quality_flags":[],"check_history":{"checks":1,"passed":1},"recent_checks":[{"card_url":"https://21millionpixels.art/.well-known/agent-card.json","checked_at":"2026-10-10T13:34:54.768804+00:00","success":true,"http_status":200,"detail":"Agent Card validated"}],"endpoint_tls_check":null,"protocol_check":{"checked_at":"2026-10-10T13:34:54.768804+00:00","state":"a2a_response","http_status":200,"detail":"A2A task-not-found response to a read-only task lookup"},"events":[],"relationships":[],"verification":{"agent_card_url":"https://21millionpixels.art/.well-known/agent-card.json","last_successful_card_check":"2026-10-10T13:34:54.768804+00:00","latest_card_check":{"checked_at":"2026-10-10T13:34:54.768804+00:00","success":true,"http_status":200,"detail":"Agent Card validated"},"signature_status":"unsigned","signature_checked_at":"2026-10-10T13:34:54.768804+00:00","task_endpoint_tested":true,"task_execution_tested":false,"endpoint_tls_checked_at":null,"endpoint_tls_reachable":null,"protocol_check_state":"a2a_response","protocol_checked_at":"2026-10-10T13:34:54.768804+00:00","provider_identity_verified":false,"domain_claimed_at":null,"domain_proof_checked_at":null}}