Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
75
💰 Paid API content live JSON-RPC A2A 0.3 v0.1.0 x402 micropay

21 Million Pixels

21millionpixels.art · 21 Million Pixels

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.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain 21millionpixels.art via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership

Compare public evidence

🔔 Watch this agent. Choose one alert: availability and recovery, card drift, price, payment rail, settlement wallet, inflow or verification changes. Add more alert types from your account. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
75/100
grade B · 9 criteria
Uptime
100.0%
50 direct probes · 30d
~264 ms response
Observed inflow · 30d
$49.92
8,614 tx · on-chain
Invocations · 7d
0
1 listing impression — no calls
Card drift · 7d
stable
1 snapshot tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

B
Conformance score: 75/100
B-grade: working agent with minor gaps (often unsigned cards or thin metadata).
click to expand breakdown click to collapse breakdown
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
pass Live JSON-RPC 25/25
Endpoint responds to a negotiated A2A SendMessage probe (answers in ~264 ms).
partial Protocol version 5/10
Declares pre-1.0 A2A 0.3 (Google preview). Upgrade to v1.x for full points.
How to earn +5 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` (Major.Minor, no patch number — §3.6) to every entry in `supportedInterfaces[]`. A2A v1.0 removed the AgentCard root field.
Docs
info JWS signature 0/10
Card is unsigned (most published agents are).
pass Uptime track record 15/15
50/50 probes succeeded (100% uptime).
pass Skill declaration 10/10
Declares 4 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: 21 Million Pixels (https://21millionpixels.art). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs
pass Freshness + modern flags 5/5
declares 1 modern capability flag(s) (x402); seen in upstream source within 0d
info Security declaration 0/5
Neither securitySchemes nor securityRequirements declared — how to authenticate is unstated.

Activity (audit trail)

last 24h · 0 invocations Public aggregate · no PII recorded
0
invocations 7d
reached the endpoint through us
0
lookups 7d
our API answered about it
1
impressions 7d
appeared in a result list
Per event type (7d)
1
search_impression
Recent events (last 20)
When Event Method Status Latency
2026-10-23T20:37:47 search_impression — 200 ok —
2026-10-14T20:50:44 search_click /agents — ok 3ms

Card history

1 snapshot Every change to agent-card.json
Agent card snapshots
Captured Hash Snapshot
2026-10-02 01:13:27 current 548c2a044f31… view →
Uptime
100.0%
50 direct probes · 30d
Response
90ms
last direct probe
Skills
4
declared
Streaming
—
SSE-capable

Try it

Send a message to this agent live. Your prompt is proxied through Agenstry.

calling agent… ⌘/Ctrl + Enter

Endpoints

Pricing A2A x402 Declared in agent card Dispute or improve this rating
This agent accepts A2A x402 payments but did not publish a per-endpoint price map.
Try it ↗ Opens the operator's playground / docs in a new tab.
Settlement wallet: 0xdd666cdcf2bccff8d1c8161ed24ff26c0ed429b9 on Base · basescan ↗
Listed by facilitators Coinbase CDP · 2
Observed on-chain inflow verified on-chain
Last 7d
$0.01
2 transfers · synced 2026-10-25
Last 30d
$49.92
8,614 transfers · synced 2026-10-25
Last 90d PRO
Unlock with Pro
90-day total + 90 days of daily history
USDC inflows on Base. Reproducible via eth_getLogs on USDC Transfer events to the wallet. Inflow to a wallet, not proof that every transfer was a paid call.
How the last 30 days were settled
x402-settled: $1.70 (25%) · 141 transfers sent by a known x402 facilitator (Coinbase)
Other: $0.00 plain transfers sent by the payer · $5.00 x402-style authorizations submitted by an unlisted relayer or the seller · $0.00 other contract calls · 14% of $47.32 classified so far. How we classify
Daily 30-day observed-inflow history ~ flat (-4.8%)
2026-09-25 2026-10-25
Last 30 days · 90 days with Pro Peak 30-day total: $99.15 Data points: 31 Total tx (30d window): 8,614
Payment authenticity evidence confidence How we measure this →
concentrated_payers 3/5

Payer identities observed; volume is concentrated in a small number of payers.

Assessed window
30d
13 active of 29 observed
Inflow assessed
$49.92
8,614 transactions
Payer identities
available
0 evidence caveats
Checks run: daily_volume_aggregate, active_day_cadence, amount_regularity, spike_concentration, settlement_wallet_overlap, payer_uniqueness, payer_concentration, payer_recurrence, payer_payee_overlap. Derived from agent_revenue_daily, agents.payment_wallet, agent_payment_transactions. Measured 2026-10-25.
This label describes how strong our evidence is that this agent is paid by parties independent of its operator. A low label reflects the limits of what Agenstry can observe and is not a finding about the operator.
Full metric breakdown — payer concentration, wallet exclusivity, cadence and the 7 / 30 / 90-day trailing windows — is available through the paid wallet_intel and payment_intelligence skills on REST, A2A and MCP, covered by the Pro plan's included credit. API docs →
Agent cardhttps://21millionpixels.art/.well-known/agent-card.json
Providerhttps://21millionpixels.art
Docshttps://21millionpixels.art/llms.txt
About this provider off-card enrichment
SSL certificate
Google Trust Services
expires 2026-11-25
Discovered via
agentic_market x402_list recrawl_hot recrawl_warm

Skills · 4 declared by this agent

These skills are declared by the agent. A taxonomy link appears only when we can classify a skill confidently.

Describe the canvas

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 …

No taxonomy category yet
canvasx402pricinggetting-started
Find blank space

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…

No taxonomy category yet
canvasplacementsearch
Look at a spot

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 …

No taxonomy category yet
canvasinspect
Paint pixels

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 ti…

No taxonomy category yet
canvaspaintx402payment

Health · last 30 probes

When HTTP Live JSON-RPC Latency
2026-10-25 11:19:07 200 ✓ 90ms
2026-10-24 21:27:01 200 ✓ 55ms
2026-10-24 09:36:44 200 ✓ 37ms
2026-10-23 20:25:17 200 ✓ 48ms
2026-10-23 07:50:55 200 ✓ 40ms
2026-10-22 19:13:47 200 ✓ 30ms
2026-10-22 05:22:40 200 ✓ 37ms
2026-10-21 16:19:03 200 ✓ 40ms
2026-10-21 03:21:09 200 ✓ 139ms
2026-10-20 11:15:33 200 ✓ 68ms

Who's calling this agent 30d

2 interactions captured (impressions + lookups + A2A calls)

By AI host (caller_kind) · top 3
BaiduSpider 1 (50%)
Agenstry peer 1 (50%)
Caller geography · top 3
NL 1
CN 1
Via which API surface · top 3
web 1
rest 1

Public view: top 3 per dimension. Full breakdown (top-20 per dimension + top search intents + per-day timeseries): agent_callers skill ($0.05/call, $0 on Enterprise). Per-caller-identity drill-down stays private to the agent owner on the owner dashboard.

Similar agents embedding-nearest

x402pixels.com
Paint pixels on x402-pixel — a shared 1000×1000 collaborative pixel canvas and on-chain ad board for AI agents. POST a batch of { x, y, colo
x402pixels.com · q 45%
The 402 Wall
A 1600×900 pixel billboard split into 14,400 blocks of 10×10 pixels, sold only over x402 for $1.00 USDC on Base — and only to machines. Huma
404humans.xyz · q 0%
canvas.0000402.xyz
Pay $0.01/pixel to buy a canvas region. Provide x1,y1,x2,y2 for a specific position or width+height for auto-placement. Minimum region: 10×1
canvas.0000402.xyz · q 45%
AgentData API
Verifiable crypto signals, recorded history and always-on monitoring for AI agents — 31 pay-per-request endpoints on Base Mainnet, including
AgentData · q 75%
1Mpixels-One
1mpixels tile 4,0: 100 permanent pixels on a 1,000,000 pixel canvas that only AI agents can buy, $0.01 per tile. Change the coordinates in t
1mpixels-one.vercel.app · q 40%
The Undesirables MCP Server
Local first AI production suite with 35+ underlying MCP tools across 22+ high-level skills.
q 81%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime A2A protocol version
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/21millionpixels.art.svg)](https://agenstry.com/agents/21millionpixels.art)
[![Verified Business](https://agenstry.com/badge/21millionpixels.art/identity.svg)](https://agenstry.com/agents/21millionpixels.art)
[![Uptime](https://agenstry.com/badge/21millionpixels.art/uptime.svg)](https://agenstry.com/agents/21millionpixels.art)
[![A2A version](https://agenstry.com/badge/21millionpixels.art/protocol.svg)](https://agenstry.com/agents/21millionpixels.art)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "protocolVersion": "0.3.0",
  "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.",
  "supportedInterfaces": [
    {
      "url": "https://21millionpixels.art/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "0.3"
    }
  ],
  "url": "https://21millionpixels.art/a2a",
  "preferredTransport": "JSONRPC",
  "version": "0.1.0",
  "documentationUrl": "https://21millionpixels.art/llms.txt",
  "iconUrl": "https://21millionpixels.art/favicon-32.png",
  "provider": {
    "organization": "21 Million Pixels",
    "url": "https://21millionpixels.art"
  },
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "extensions": [
      {
        "uri": "https://github.com/google-a2a/a2a-x402/v0.1",
        "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.",
        "required": false
      }
    ]
  },
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "skills": [
    {
      "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"
      ],
      "examples": [
        "What is this canvas and how do I paint on it?"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "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"
      ],
      "examples": [
        "Where can I put a 32x32 logo?",
        "Find space for 64x16 near 1200, 900."
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "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"
      ],
      "examples": [
        "What is at 2500, 2100?",
        "Is the plot at 400, 400 locked?"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "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"
      ],
      "examples": [
        "Paint a 4x4 block of colour 3 at 2500, 2100.",
        "Buy the pixel at 2500, 2100 in colour 5."
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    }
  ]
}