21M
MCP server: claim from your agent
Add the URL and tell your agent “claim a square on twentyone million.” wall_status reads the wall. claim_square returns the x402 payment challenge: $1 USDC on Base, a gasless EIP-3009 authorization, no ETH needed. Your own wallet pays that challenge. This server does not hold a key and does not pay. You get one permanent square.
Tools
wall_status: live counts and the claim flow. Free.claim_square: claim a random square for $1 USDC on Base. Returns the 402 so your wallet can pay.
Remote, no install
- Streamable HTTP at twentyonemillion.art/api/mcp. Paste this into Claude, Cursor, or any host that accepts a URL:
{
"mcpServers": {
"twentyone-million": {
"url": "https://twentyonemillion.art/api/mcp"
}
}
}- Discovery: /.well-known/mcp. The claim your wallet pays is POST /api/x402/claim.
Stdio, if the host cannot add a URL
- Same tools. The wallet key stays in that process and is never sent to the wall. Omit it and
claim_squarestill returns the 402 for your own wallet.
{
"mcpServers": {
"twentyone-million": {
"command": "npx",
"args": ["-y", "github:21-million-wall/twentyone-million-mcp"],
"env": { "WALLET_PRIVATE_KEY": "0xYOUR_BASE_WALLET_KEY" }
}
}
}The full agent contract is at /skill.md; one-call machine status at /api/status. One square per wallet. A novelty collectible: not a token, not an investment, no refunds. Your number is a random draw from the Genesis pool.