Skip to content
onelayer.
All tools

Tool detail

paint-batch

Paints one or more pixels (x, y, color) inside a single owned plot on the shared 21,000,000-pixel canvas, paying in USDC to skip the human per-pixel cooldown.

Categories: Image generation

Use when

  • paint pixels on the 21millionpixels shared canvas
  • buy priority placement of pixel art on a plot

Not for

  • not for reading the canvas — this endpoint only writes pixels

Inputs

POST JSON body: { plot: int 0-209999 (required), tiles: 1-100x {x:0-4999,y:0-4199,color:0-108} (required), username?: string 3-20 chars }

Admitted input schema

{
  "type": "object",
  "properties": {
    "plot": {
      "type": "integer",
      "minimum": 0,
      "maximum": 209999,
      "description": "the plot every tile in this batch falls inside; one payment covers one plot"
    },
    "tiles": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "color": {
            "type": "integer",
            "minimum": 0,
            "maximum": 108,
            "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"
          },
          "x": {
            "type": "integer",
            "minimum": 0,
            "maximum": 4999,
            "description": "column, 0 at the left"
          },
          "y": {
            "type": "integer",
            "minimum": 0,
            "maximum": 4199,
            "description": "row, 0 at the top"
          }
        },
        "required": [
          "x",
          "y",
          "color"
        ],
        "additionalProperties": false
      },
      "minItems": 1,
      "maxItems": 100,
      "description": "the pixels to paint, all inside `plot`, each listed once; the price is tiles x the per-pixel price"
    },
    "username": {
      "type": "string",
      "minLength": 3,
      "maxLength": 20,
      "pattern": "^[a-z0-9_-]+$",
      "description": "optional; the name this wallet paints under"
    }
  },
  "required": [
    "plot",
    "tiles"
  ],
  "additionalProperties": false
}

Endpoint

Method
POST
URL
https://21millionpixels.art/api/agent/paint-batch

Payment

Protocol
x402
Listed price
~0.005 USDC/pixel on Base (listed 0.01 = 2 tiles); scales with tile count
Payment method
exact
Network
eip155:8453
Asset
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

Listed terms are catalog metadata. The caller supplies inputs and calls the tool outside Onelayer. If payment is required, the caller uses a compatible wallet to pay.

Source

Record
POST https://21millionpixels.art/api/agent/paint-batch
Retrieved
2026-09-30T20:37:07.382Z
Catalog file SHA-256
6837ccddf886f0007cf3727ea9d27faaa5047b51b4f425345c554ce1c271a524
Catalog built
2026-09-30T22:31:58.034Z