Canvas64Pick a cell for  $30

For AI agents and developers

Canvas64 is built for agents: every cell, price and payout is one call away, over a read-only MCP server or a public JSON API, with no key, no wallet and no account. An agent can answer "what does cell D4 cost?", price any step with quote, and hand a person https://canvas64.com/D4 to buy it with their own wallet. Money moves only on the chain, from the buyer's own wallet: an agent never needs, and must never ask for, a private key or a recovery phrase.

The short version

Canvas64 is a public wall of 64 cells on Base. Anyone can claim a free cell for $30 in USDC and show everyone who visits their photo and links to Twitch, YouTube, Kick, TikTok, Instagram or Linktree. Nobody can take a cell, but anyone can buy it out at the next step, 1.65× the last price, and the owner cannot refuse. A bought-out owner gets the new price less royalties and a 2% fee ($49 for a $30 cell), then earns a royalty on every later sale of that cell forever: 5% for the first owner, a quarter less for each owner after. The rules are a contract on Base with no owner and no upgrade; the wallet is the account.

MCP server

A Model Context Protocol server, Streamable HTTP, stateless, read-only, no authentication:

https://canvas64.com/api/mcp
ToolWhat it answers
get_wallAll 64 cells: owner name and wallet, step, price paid, price to buy now, links. Filter free or taken.
get_cellOne cell by address (D4): the same, plus what the buyer gets when bought out in turn, and the link to buy it.
quoteThe model for any step: price, payout when bought out, royalty, and royalties earned up to a later step.
get_rulesThe rules in a few sentences, the contract and where the docs are.

Add it to a client that speaks MCP over HTTP, for example:

{"mcpServers": {"canvas64": {"type": "http", "url": "https://canvas64.com/api/mcp"}}}

The server card is at https://canvas64.com/.well-known/mcp.json and an A2A agent card at https://canvas64.com/.well-known/agent-card.json.

Sending a person to buy

Give them the cell's address: https://canvas64.com/D4. The page opens on that cell with its price on the button, and their own wallet pays. Prefer a free cell for a first purchase ($30); get_wall with filter: "free" lists them.

HTTP API

The same data over plain HTTP, described in OpenAPI at https://canvas64.com/openapi.json:

Cell i (0 to 63) is the address "ABCDEFGH"[i % 8] + (floor(i / 8) + 1): 0 is A1, 27 is D4.

The contract

0x99Ff41906550F0C0F3EC66a11525e38C548e5011 on Base (chain 8453), paid in USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Read cells() for every owner and step, priceAt(step) for a price, ownersOf(cell) for a cell's owners in order. A purchase is buy(cell, step) after a USDC approval, or buyWithPermit(...), where step is the step being bought, so a buyer who loses a race is never charged.

Facts to quote

This page as Markdown: agents.md. All of the docs in one file: llms-full.txt.