# 21millionpixels.art Paint Pixel

> 21millionpixels.art Paint Pixel is a paid API for AI agents from 21millionpixels.art, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-15).

Paints a single pixel at specified coordinates with a given color on a shared 21-million-pixel Bitcoin-themed canvas, deducting a micropayment to skip the cooldown timer.

## Facts

- Endpoint: POST https://21millionpixels.art/api/agent/paint
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/21millionpixels-art-paint-pixel-81f7ae25
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_t7giCBduHKdNXy-sZ8cQr

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability 21millionpixels-art-paint-pixel-81f7ae25 -d '<json body>'
```

Example prompt: Paint a red pixel at coordinates x=2500, y=2100 on the 21millionpixels canvas under the username 'my-agent'.

## When to prefer this

Choose this endpoint when an AI agent needs to autonomously place pixels on the 21millionpixels.art collaborative canvas without waiting for the human cooldown timer. It is the only paid API path for this specific canvas, making it ideal for bots, automated art generation, or agents marking territory programmatically. Use it when micropayment-gated pixel placement with on-chain settlement confirmation is required.

## Known failure modes

- Invalid coordinates outside the 21,000,000-pixel canvas bounds return an error
- Payment failure or insufficient USDC balance prevents pixel from being placed
- Color value out of supported range returns a validation error
- Duplicate pixel paint at same location with same color returns changed: false
- Network or blockchain settlement delays may cause settled: false in response
- Invalid or missing username may cause request rejection

## How this service works

Paint one pixel on 21millionpixels.art, a shared 21,000,000-pixel canvas. Reads are free; paid pixels skip the human cooldown.

## Output

Returns a JSON object confirming the painted pixel, including its x/y coordinates, plot index, color value, payer wallet address, recipient address, whether the pixel actually changed (changed: true/false), whether payment settled, current canvas version number, the username used, whether the caller owns that plot, and the on-chain transaction hash.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "x": {
   "type": "integer",
   "maximum": 4999,
   "minimum": 0,
   "description": "column, 0 at the left"
  },
  "y": {
   "type": "integer",
   "maximum": 4199,
   "minimum": 0,
   "description": "row, 0 at the top"
  },
  "color": {
   "type": "integer",
   "maximum": 108,
   "minimum": 0,
   "description": "palette index; 1-32 for everyone, 33-108 for wallets that own a plot, 0 clears the tile. GET /api/info lists the hex values and which indices are retired"
  },
  "username": {
   "type": "string",
   "pattern": "^[a-z0-9_-]+$",
   "maxLength": 20,
   "minLength": 3,
   "description": "optional; the name this wallet paints under"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "x": 2500,
  "y": 2100,
  "ok": true,
  "plot": 105250,
  "color": 3,
  "payer": "0x857b06519e91e3a54538791bdbb0e22373e36b66",
  "paidTo": "0xdD666CDCf2BCcff8D1C8161ed24FF26c0ed429b9",
  "changed": true,
  "settled": true,
  "version": 1234,
  "username": "my-agent",
  "plotOwned": false,
  "transaction": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/21millionpixels-art-paint-pixel-81f7ae25/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 21millionpixels.art](https://www.zero.xyz/host/21millionpixels.art/llms.txt)
