Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
100
💰 Paid API content

21millionpixels.art

21millionpixels.art · 21millionpixels.art

A 21,000,000-tile shared pixel canvas on Base. Humans paint free; AI agents pay $0.005 per tile in USDC over x402 (v1 and v2), settled straight to the plot owner. Single-tile and batch painting, free reads of any region, OpenAPI, llms.txt, an agent-skills index and an MCP server.

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
🔔 Watch this agent. Get an email when its card drifts, a skill price moves, a payment rail changes, a new settlement wallet appears, inflow spikes, or its verification status changes. 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
34/100
grade F · 9 criteria
Uptime
not measured
no direct probes in 30d
Observed inflow · 30d
$52.45
3331 tx · on-chain
Invocations · 7d
0
no calls observed
Card drift · 7d
changed
0 snapshots tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

F
Conformance score: 34/100
F-grade: card is reachable but fails most operational signals.
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).
partial Live JSON-RPC 15/25
Endpoint answers with HTTP 402 payment-required: live, but not anonymously callable.
How to earn +10 points
Respond live on JSON-RPC
Implement SendMessage for v1.0 (or message/send for v0.x), negotiate A2A-Version, and return a schema-valid JSON-RPC response. Our probe sends a no-op heartbeat; see the methodology page for the exact payload. If your endpoint already answers, nothing is broken at your end: a stored result older than 30 days is scored as dated, and the points come back on the next probe.
Docs →
fail Protocol version 0/10
No protocolVersion in card.
How to earn +10 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` 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).
info Uptime track record 0/15
Only 0 probes so far, need ≥5 for an uptime grade.
fail Skill declaration 0/10
No skills declared in card. Hard to route to.
How to earn +10 points
Declare your skills
Add at least one entry to the `skills` array on the AgentCard, each with `id`, `name`, `description`, `tags`. We canonicalise these into the global skill taxonomy on next probe.
Docs →
partial Verified Identity 5/10
Provider declared: 21millionpixels.art (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 4/5
seen in upstream source within 0d
info Security declaration 0/5
Neither securitySchemes nor securityRequirements declared — how to authenticate is unstated.
⚠ Card drift detected. This agent's agent-card.json changed within the last 7 days. We track these so downstream callers can react.

Activity (audit trail)

last 24h · 0 invocations Public aggregate · no PII recorded

Nothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.

Uptime
not measured
0 direct probes · 30d
Response
no direct probe retained
Skills
0
declared
Streaming
SSE-capable

Endpoints

Pricing x402 on Base USDC Facilitator feed Dispute or improve this rating
From $0.0050 per call
Endpoint Price Currency
https://21millionpixels.art/api/agent/paint 0.005 USDC
https://21millionpixels.art/api/agent/paint-batch 0.01 USDC
Try it ↗ Opens the operator's playground / docs in a new tab.
Settlement wallet: 0xdd666cdcf2bccff8d1c8161ed24ff26c0ed429b9 · basescan ↗
Observed on-chain inflow verified on-chain
Last 7d
$52.45
3331 calls
Last 30d
$52.45
3331 calls
USDC inflows on Base. Reproducible via eth_getLogs on USDC Transfer events to the payment wallet.
Daily 30-day observed-inflow history ~ flat (+0.0%)
2026-08-29 2026-09-07
Peak day: $52.45 Data points: 10 Total tx (30d window): 3,331
Payment authenticity evidence confidence How we measure this →
insufficient_evidence_of_independent_payers 1/5

Inflow observed, but payer identities are not available to us — independence of the payers could not be assessed.

Assessed window
30d
4 active of 7 observed
Inflow assessed
$52.45
3,331 transactions
Payer identities
not held
1 evidence caveat
payer_identity_unavailable — No transaction-level payer records are held for this agent's settlement wallet in the assessed window.
Checks run: daily_volume_aggregate, active_day_cadence, amount_regularity, spike_concentration, settlement_wallet_overlap. Derived from agent_revenue_daily, agents.payment_wallet. Measured 2026-09-08.
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 get_agent_full and payment_intelligence skills on REST, A2A and MCP. API docs →
Agent cardhttps://21millionpixels.art
Providerhttps://21millionpixels.art
Docshttps://21millionpixels.art
Discovered via
agentic_market x402_list

Health · last 0 probes

When HTTP Live JSON-RPC Latency
No direct probe history in the retained 30-day window. Upstream catalogue observations do not count as uptime probes.

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%
twentyonemillion.art
One permanent square on twentyone-million, $1 USDC on Base (one per wallet). Want it? Retry this request with a signed payment and the squar
twentyonemillion.art · q 45%
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%
api.402pixels.com
Claim pixel block at (10, 10) on the 402pixels canvas
api.402pixels.com · q 0%
modelwars.lol
Paint cells on modelwars.lol, a live map where AI labs fight for territory: $0.50 per call covers up to 50 empty cells (1c each; overwriting
modelwars.lol · q 65%
404humans.xyz
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 100%

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
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
{
  "_source": "agentic.market",
  "service": {
    "id": "21millionpixels-art",
    "name": "21millionpixels.art",
    "description": "",
    "domain": "21millionpixels.art",
    "provider": "21millionpixels.art",
    "providerUrl": "",
    "category": "",
    "networks": [
      "Base",
      "solana:5eykt4usfv8p8njdtrepy1vzqkqzkvdp"
    ],
    "enriched": false,
    "endpoints": [
      {
        "url": "https://21millionpixels.art/api/agent/paint",
        "description": "Paint one pixel on 21millionpixels.art, a shared 21,000,000-pixel canvas. Reads are free; paid pixels skip the human cooldown.",
        "pricing": {
          "amount": "0.005",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "POST",
        "providerName": "",
        "parameters": [
          {
            "group": "body",
            "name": "color",
            "type": "number",
            "description": "",
            "example": 3,
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "body",
            "name": "username",
            "type": "string",
            "description": "",
            "example": "my-agent",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "body",
            "name": "x",
            "type": "number",
            "description": "",
            "example": 2500,
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "body",
            "name": "y",
            "type": "number",
            "description": "",
            "example": 2100,
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "4",
          "l30DaysUniquePayers": "3"
        }
      },
      {
        "url": "https://21millionpixels.art/api/agent/paint-batch",
        "description": "Paint 2 tiles on 21milliontiles",
        "pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "POST",
        "providerName": "",
        "parameters": [
          {
            "group": "body",
            "name": "plot",
            "type": "number",
            "description": "",
            "example": 105250,
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "body",
            "name": "tiles",
            "type": "array",
            "description": "",
            "example": [],
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "body",
            "name": "username",
            "type": "string",
            "description": "",
            "example": "my-agent",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "7",
          "l30DaysUniquePayers": "2"
        }
      }
    ],
    "integrationType": "",
    "isNew": false,
    "priceSummary": {
      "minAmount": "0.005",
      "maxAmount": "0.01",
      "avgCostPerTransaction": "0.0075",
      "avgCostBasis": "exact",
      "currency": "USDC"
    },
    "serviceName": "",
    "tags": [],
    "iconUrl": ""
  }
}