Square Town for AI agents: read the wall for free, claim a square via one POST

The whole wall is one JSON document. Claiming is one POST with a URL and an email. Evicting is one POST and a human with a card.

Updated 2026-09-019 min readMarkdown ↗

Square Town (square.pov.town) is a favicon wall where every square is free to claim, and it is readable by any agent with an HTTP client: GET https://square.pov.town/api/state returns the entire wall as JSON, free, with no API key. To claim, an agent sends POST /api/buy with a URL, an email address and coordinates, and the square is placed immediately — no card, no checkout. To evict (double the owner's price, $1 minimum) the same POST returns a Stripe Checkout URL, which the agent hands to a human who pays by card. /llms.txt summarises the site for language models.

TL;DR — Reads: GET /api/state, no auth, no key, JSON. Writes: POST /api/buy with url, email and coordinates claims a cell outright and returns the deed; for an eviction or the Throne it reserves the cell for 30 minutes and returns checkoutUrl, and a human completes payment. Kissing an icon is POST /api/kiss/:id, free, no auth; an optional token (POST /api/register, instant, no email needed; Authorization: Bearer sq_…) gives you your own kiss budget. There is no rate-limit promise, no SLA, and no way to pay for an eviction without a card. Documentation lives at Square Town API — read the wall, claim a square and /llms.txt.

The problem

Most "internet real estate" walls are built for humans clicking through a form: upload a logo, drag a rectangle, log in. An agent trying to represent a site — or a person's set of sites — has to scrape a canvas or drive a browser. A handful of 2026 walls turned that around and became agent-only, usually with crypto payment, which locks out anyone whose owner just wants a square without a wallet.

Square Town sits between the two. It is human-first (the wall is a WebGL page you look at), but everything an agent needs is a plain URL: the state, the docs, and the claim step. Nothing requires an account — just an email address on the claim.

What a free square gives you (or your human)

You get Detail
A permanent favicon on a live wall The site's favicon (fetched from the URL by Square Town) on the shared grid at square.pov.town; free, no expiry
A click-through Visitors click the square and follow the link via /go/:id, a counted 302 redirect
Machine-readable stats clicks, views and kisses for every listing in /api/state; per-day charts on the deed page for $5 one-time
A tower in 3D Each favicon's height on the tilted wall equals its clicks plus kisses
Game state you can watch Evictions (double the last price, $1 minimum), the Throne (intro $100, doubles per eviction), ring unlocks at 75 % fill — all visible in the JSON
Adjacency Every square is 1×1; an agent managing several sites can place them on neighbouring cells

How to do it

  1. Read the docs once. GET https://square.pov.town/llms.txt is the machine-friendly index; /llms-full.txt is every content page in one Markdown file, and every HTML page also exists with a .md suffix. The endpoint reference is at Square Town API — read the wall, claim a square.
  2. Fetch the wall. GET /api/state returns grid (1024), half (the unlocked half-width — 8 at launch, meaning the live area is x and y from 504 to 519), sold, revenue, boxArea, fillPct, center (the Throne block, its price and current owner), prices (base 100, center 10000, analytics 500, in cents), listings, pending, events (last 20) and clowns.
  3. Pick an empty cell. A cell is claimable when it is inside the unlocked box, not overlapped by any listings or pending entry, not in the 4×4 Throne block (center) and not in the one-cell aura ring around it. Coordinates are integers; the Throne occupies x 510–513, y 510–513, so the aura covers 509–514.
  4. Claim it. POST /api/buy with a JSON body { "url": "https://example.com", "email": "owner@example.com", "mode": "pick", "x": 504, "y": 504 }. The email is required (it is where eviction warnings go; add "notify": false to opt out of those) and is never shown publicly. A claim is free, so the response is { done: true, deed, id, price: 0, block } and the square is live immediately. Errors come back as { "error": "…" } — for example when someone got there first, when the cell is still locked, when the email is missing, or when it is the Throne or its aura.
  5. Hand off payment — evictions only. When the POST is an eviction or the Throne, the response is { checkoutUrl, deed, price, block } instead; open checkoutUrl for a human, it is a Stripe Checkout page. The reservation holds the cell for 30 minutes and then lapses if unpaid. Square Town does not accept crypto, invoices or agent-held wallets — a card is required.
  6. Store the deed. The deed key in the response is the secret ownership proof. The deed page is /deed/<slug>/<deed> (the slug is in the same response) and the JSON is at /api/deed/<deed>. There are no accounts; the deed can be mailed to the claim email, but if both are lost, so is control of the square.
  7. Other write modes. mode: "evict" with evictId (a listing id from /api/state) takes that square for double its owner's per-square price, $1 minimum — a Stripe checkout. mode: "center" claims the Throne ($100 intro) — also a checkout. mode: "auto" lets the server spiral-place a free square — instant, like pick.
  8. Kiss. POST /api/kiss/:id kisses a listing (free, public, counted, capped at 5 per icon per hour). No auth: POST /api/view/:id, POST /api/recheck/:id, POST /api/whack/:id and counted GET /go/:id clicks are all anonymous, held to per-IP limits. Want your own kiss budget instead of your address's? POST /api/register (empty body) returns a token on the spot; send it as Authorization: Bearer sq_…. Attach an email with {"email": "…"} if you like — it's verified by mail and gates nothing today. Each kiss adds a storey to the icon's tower, lands in the live feed, and counts toward the most-kissed leaderboard. watered_at on a listing is simply its last-kissed timestamp.

Tips

  • Choose cells near the Throne if visibility matters — the camera starts centred and the live area is small early on. Compare fillPct to unlockAt (0.75) to predict when the next ring opens.
  • Kiss the icons you manage now and then — kisses are public and counted, each one adds a storey to the tower, and the most-kissed leaderboard notices. If you registered a token, keep it next to the deed tokens; GET /api/me tells you whether it still works.
  • Check clowns before claiming. If the domain has no favicon, Square Town shows a clown emoji and lists it in the Hall of Clowns. Fix the favicon first, then POST /api/recheck/:id after claiming if it was wrong at claim time (no auth needed).
  • Save deed tokens in whatever the agent's owner considers durable. This is the whole ownership model.
  • Poll gently. /api/state is the same document the site's browsers fall back to every 30 seconds; the site itself pushes updates over WebSockets at /ws. Once a minute is generous for an agent.

How Square Town compares to agent-oriented walls

As of August 2026, from our competitor snapshot:

Wall Model Agent angle Where Square Town differs
One Million Pixels (.ai) $1/pixel, 1M pixels, free tier API for agents, free pixels, anonymity Square Town's favicon squares are free (no image to supply), it has evictions, and eviction money is card only
overwrite.place Agents pay/submit; the current occupant is the biggest square, dethroned entries shrink to small permanent squares sized by tenure Built for agents Essentially Square Town's Throne as a whole product; no grid, no free squares and no favicons
Million Dollar Botpage Bot-oriented wall with a live feed (on our watch-list; pricing not verified) Bots as the audience Square Town is human-first: people look at the wall, agents read it

Square Town has no agent-only mode; it has a free square for everyone instead. What it has is a public read API, one POST to claim, and a human at the end with a card only when someone else's square is wanted.

What it won't do

  • No API key, no auth — and no promises. There is no rate-limit guarantee, no uptime SLA and no versioning contract for the JSON shape. It runs on Cloudflare's free tier.
  • No SEO value. Clicks are 302 redirects from a canvas; nothing here builds backlinks or ranking for the site an agent represents.
  • No traffic guarantees. Views and clicks are reported honestly and may be small.
  • No autonomous payment. An agent can claim a free square alone (URL, email, coordinates), but cannot evict alone; a human must pay through Stripe Checkout.
  • Squares can be evicted by anyone paying double ($1 minimum). The only notification is the eviction email to the address on the claim (unless notify: false); there is no webhook — watch events in /api/state if you want it in-band.

FAQ

Does Square Town have an API for AI agents?

Yes, in the plain sense: GET /api/state returns the whole wall as JSON with no key or auth, POST /api/buy claims a square (free; a Stripe Checkout URL for evictions), and /llms.txt describes the site for language models. Details are at Square Town API — read the wall, claim a square.

Can an agent claim a square without a human?

Yes — claiming is free. POST /api/buy with a URL, an email and coordinates places the square immediately. Evicting is different: the POST reserves the cell for 30 minutes and returns a checkoutUrl, and a person must open it and pay by card. Square Town does not take crypto or agent wallets.

Is reading the wall free? Is there a rate limit?

Reading is free and unauthenticated. There is no published rate limit and no promise of one either way; poll about once a minute and you will never be a problem.

How does an agent find a free cell?

Read half from /api/state (live cells are x and y from 512−half to 511+half), exclude cells overlapped by listings or pending, and exclude the Throne block (x and y 510–513) plus its aura ring (509–514). Anything left is claimable for free.

What does the deed token do?

It is the secret proof of ownership. /deed/<slug>/<key> shows the square's views, clicks and kisses; /api/deed/… returns the same as JSON. There are no accounts; the deed can be mailed to the claim email, and losing both means losing the square's controls.

How is Square Town different from One Million Pixels .ai or overwrite.place?

One Million Pixels .ai sells pixels with an agent API and a free tier; overwrite.place is a single occupant slot for agents. Square Town gives away favicon squares on a human-visible 3D wall with evictions, and eviction payment is card-only. See Square Town vs One Million Pixels .ai.