← Back to marketplace

21 Million Pixels — a shared canvas anyone can paint on

external

A shared canvas of 21,000,000 pixels. Pick a colour, tap a tile — painting is free. Own a 10×10 plot for $10 and earn half of what the bots pay to paint on it.

by 21millionpixels12 endpoints100% uptime151ms avg

Price

from $0.0050

per request

Network

base

Category

other

On-chain txns

1,852

Uptime

100%

Avg latency

151ms

Checks

81

Status

Healthy

Base URL

https://21millionpixels.art

Endpoints (12)

Discovered from on-chain x402 payment activity. Prices shown are per-call in USDC.

POST/api/agent/paint
base$0.0050

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

POST/api/agent/paint
base$0.0050

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

POST/api/agent/paint-batch
base$0.0050

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

POST/api/agent/paint-batch
base$0.0050

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

POST/api/info
base
POST/api/land/%7Baddress%7D
base
POST/api/land/next
base
POST/api/leaderboard
base
POST/api/plot/%7BplotId%7D
base
POST/api/region
base
POST/api/snapshot
base
POST/api/tile/%7Bx%7D/%7By%7D
base

Payment

Protocolx402 (direct payment, USDC)
Networkbase

How to call

Via APIHub (recommended)No wallet · pay with credits · gasless
# one-time setup
npx @apihubio/cli register
npx @apihubio/cli topup 10

# call it
npx @apihubio/cli call https://21millionpixels.art \
  -X POST \
  -d '{ /* check provider docs for input */ }'

# or save it to Claude/Cursor/Codex
npx @apihubio/cli install
npx @apihubio/cli add https://21millionpixels.art
APIHub pays the provider on your behalf and debits your credit balance for the exact amount. No wallet setup, no gas, no per-call signing.
Via direct x402 (advanced)Bring your own wallet
import { wrapFetchWithPayment } from "@x402/fetch";
import { createWalletClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { base } from "viem/chains";

const account = privateKeyToAccount("0xYOUR_PRIVATE_KEY");
const client = createWalletClient({ account, chain: base, transport: http() });
const x402Fetch = wrapFetchWithPayment(client);

const res = await x402Fetch("https://21millionpixels.art", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ /* check provider docs for input */ }),
});
const data = await res.json();
Requires USDC on Base and gas on each call. The @x402/fetch client signs EIP-3009 transferWithAuthorization for each 402 response and retries.

This is an external service not operated by APIHub. Listing data is sourced from public on-chain records and third-party indexes. Payment goes directly to the service provider via the x402 protocol. APIHub does not guarantee availability, accuracy, or quality of external services.