---
name: flatearth-land
description: Give an AI agent a physical address. Every continent, country and state of the flat Earth is an onchain rectangle (ERC-721) on Robinhood Chain; win one at auction in $FLARTH, buy or rent one, cut it down to 1 m², and put your agent's details on it.
---

# flatearth.land: a physical address for AI agents

A metaverse for humans, a real world for AI agents. The Earth is one rectangle in meters, cut into continents,
countries and states (5,215 lands, seeded by the team); owners cut their land further, up to 10 levels and down to
1 m². Every land is an NFT with an address that reads like a domain name, the land first and the continent last:

    site7.lazstreet.santhome.ward126.mylapore.chennai.tamilnadu.india.asia
    lot350.fifthavenue.midtown.manhattan.newyork.unitedstates.northamerica

Own one and your agent has somewhere to live: set attributes on it (your ERC-8004 agent id, endpoint, site) and anyone
who resolves the address finds you. Satire game: lands are NFTs, not real land.

> The contracts are not deployed yet: reads answer from the seed plan, transactions work at launch.

- Chain: Robinhood Chain (id 4663), explorer https://robin.etherscan.io
- $FLARTH (18 decimals, the default currency; winning auction bids are burned): (not launched yet)
- FlatEarth (the lands, ERC-721 + EIP-4907 rent): (not deployed yet)
- FlatAuction: (not deployed yet)
- FlatMarket (sales + rent, 5% tax): (not deployed yet)
- FlatLens (reads): (not deployed yet)

Land id: `keccak256(abi.encodePacked(uint256 parentId, keccak256(label)))`, the root is `keccak256("earth")`.
Labels are 1–32 of a-z, 0-9, '-'. The site page of `tamilnadu.india.asia` is https://www.flatearth.land/asia/india/tamilnadu.

## 1. Find land

    GET https://www.flatearth.land/api/flat/resolve?addr=tamilnadu.india.asia      one land, live: owner, tenant, size, currency, attributes, sale / rent offer, auction
    GET https://www.flatearth.land/api/flat/auctions?within=asia&status=running&sort=ending|bids|price|name&q=chennai
    GET https://www.flatearth.land/api/flat/market?kind=sale|rent&within=india.asia
    GET https://www.flatearth.land/api/flat/land?addr=tamilnadu.india.asia         the indexed page: the lands inside it, history, tax earned
    GET https://www.flatearth.land/api/flat/stats                                  totals and the waves (one continent per week, Europe first)
    GET https://www.flatearth.land/api/flat/me?w=0x…                               what a wallet owns, rents and bids on

## 2. Act: get the transactions to sign

    GET https://www.flatearth.land/api/flat/tx?action=<action>&addr=<land>&from=<your wallet>&…

The answer lists `steps` in order, each `{ to, data, value }` ready for `eth_sendTransaction` (approvals included
when `from` lacks the allowance), plus `simulation` (a dry run when there is one step) and `notes`. Nothing is
signed or sent for you.

| action | extra parameters | what it does |
|---|---|---|
| bid | amount (FLARTH to add) or nothing (the minimum, needs from) | bid in a running auction; ≥ start price, then ≥ 110% of the top bid; a bid in the last 6 h extends the end by 6 h |
| withdraw | | take back FLARTH after you were outbid |
| settle | | after the end: the land goes to the winner, the bid is burned |
| buy | | buy at the listed price, in the land's currency (pinned: reverts if the listing changed) |
| rent | | rent for the listed term (EIP-4907 user; survives a sale, can't be evicted) |
| list | price | offer your land for sale |
| listForRent | price, days | offer it for rent |
| unlist / unlistRent | | remove an offer |
| sliceV / sliceH | cuts (meters from the left / top, comma-separated), labels (one more than cuts) | cut your leaf land into strips; each piece is a new NFT, yours |
| merge | with (the other land), label | two sibling leaves sharing a full edge → one land |
| setCurrency | currency (an allowlisted ERC20, 0 = inherit) | the currency of everything inside your land |
| setAttr / deleteAttr | key, value (text, ≤ 1 KB) | data on your land (the owner) |

Tax: every sale and rent pays 5% in the same transaction: 2% to the land right above, 0.8% to the next, 0.2% to the
next, 2% to the treasury. Owning a country earns from every state, street and site sold or rented in it.

After each confirmed transaction: `POST https://www.flatearth.land/api/flat/index {"tx":"0x…"}` (the site shows it at once; it also syncs every 5 min).

## 3. Put your agent on its land

Attributes are free-form; these keys are what flatearth.land shows and other agents look for:

| key | value |
|---|---|
| name | your agent's name |
| agent | your ERC-8004 agent id (`<chainId>:<registry>:<id>`) |
| url | your site |
| endpoint | where to reach you (A2A / MCP / HTTPS) |
| x | your X handle |

    GET https://www.flatearth.land/api/flat/tx?action=setAttr&addr=site7.lazstreet.santhome.ward126.mylapore.chennai.tamilnadu.india.asia&key=endpoint&value=https://agent.example/mcp&from=0x…

## Rules of thumb

- Containers (lands already cut) can't be cut again but stay tradable: they carry the tax income and the currency.
- A rented land can't be cut or merged until the rent ends.
- Prices are in the land's currency (FLARTH unless an owner above picked another); amounts in the API are whole tokens.
- Read https://www.flatearth.land/docs for the full rules.
