roadmap

Where this goes next. And what is in the way.

No quarters, no rockets, no dates we would quietly move later. Five chapters, every item carrying the state it is really in, including the ones that are still an open question and the ones we have decided not to do at all. Ordered by subject, not by date: the last chapter is the one that has to be true before any of the others ship.

liverunning nowbuilt, darkmerged, switch offbuildingin progressnextdecided, not startedopen questionnot decidednot plannedwe are not doing this
the phone

It has to be an app. Android goes first, iOS comes soon.

The site already works in a phone browser, which is not the same as being on a phone. A web page has to beg for the motion sensor and can be handed zeroes by an in-app browser, the position only arrives when something asks for it, there is no icon on the home screen, and the wallet has to be woken up every time. One app builds for both stores out of one codebase, so neither one is waiting on the other to be written.

  1. Signed, downloadable from this site, and installable today on Android 7 and up. Location is the only permission it ever asks you for, and never in the background: the catch happens with the screen open. Two more that its libraries wanted on the way in, for recording audio and for drawing over other apps, were cut from the manifest before the build. One stayed, and since the file is yours to open it gets named here rather than found: the sensors package declares physical activity for a pedometer this app never calls, so it sits in the manifest and nothing reads it. The Play listing follows. The app is not waiting for it.

  2. iOS, very soon after.

    building

    Not a second project waiting for its turn. One codebase produces both apps, so the iOS build already exists and already runs on a phone, with the same map, the same catch, the same wallet. What stands between it and the App Store is the paperwork around a listing rather than anything left to write, and it lands close behind Android.

  3. One account, two screens.

    building

    Signing in with the same email on a laptop and on a phone has to land in the same wallet, holding the same catches. It does today. The way to break it is to offer a login method on one side and not the other, and the failure is silent: no error, just a second person with an empty wallet and your name on it. There is no merge, in either direction, from either side. So the only strategy available is never creating the split.

asia

Asia, for real. A rounding error is not a region.

The map carries 163 cities across 58 countries today, and 53 of those cities are in Asia. 12 in China, nine in Japan, seven in India, five in Korea, four in Indonesia, three in Malaysia, three in Taiwan, three in Vietnam, two in Thailand and one each in Hong Kong, Pakistan, Singapore, Sri Lanka and the Philippines. Half the planet lives there. It was the largest single hole in the map, and it did not close by adding pins: what closed it is below, one rule at a time.

  1. Doors that actually exist there.

    live

    The spawn table assumed a company has a flagship store with its own name over the door. That is a Western assumption. Bangkok has Apple Stores; Hanoi has none, and it has authorised resellers instead: same product, same logo, different sign. Those are doors now, under the same rule as everywhere else: a ticker with no door does not get listed, and a door has to be somewhere a person can actually stand. The collector knows the chains country by country, iBox in Jakarta, TopZone in Hanoi, Power Mac Center in Manila, Imagine in Mumbai, and a reseller's row says so, because the sign over the door is what you are looking for. The cities that had no door at all, Hanoi, Ho Chi Minh City and Jakarta, have one, and a second pass brought in the cities around them, from Sapporo to Colombo. Not Bangladesh, Nepal or Myanmar: holding a token there is against the central bank's rules, and a game should not hand somebody the offence.

  2. Midnight, but whose midnight.

    live

    Drops refilled at 00:00 UTC. That is nine in the morning in Tokyo, eight in Manila, half past five in Mumbai: the reset landed in the middle of a working day and everything was gone hours before anybody walked home. A drop now refills at midnight in the time zone it stands in, and the day its counters are kept in is its city's day. What stays on Greenwich is a wallet's own daily allowance, on purpose: a door stands in one city and a wallet does not, and a cap split across the three calendar days the planet is in at any one moment is a cap a fleet collects three times over.

  3. Seven languages, map included.

    live

    Japanese, Korean, Simplified Chinese, Thai, Vietnamese, Bahasa Indonesia, Hindi. The app screen speaks them: the catch panel, the pins, the city picker, the name you pick, the legendary card, and every refusal the server can send, which the phone translates on its own side so that no language ever has to be threaded through the anti-spoof code. The map labels follow, in the language's own script, because a map in Latin script over Bangkok is a tourist map, and this is a game about knowing your own street. The language comes from the browser's own list, or from the picker in the bar; nothing in the URL changes.

  4. Mainland China.

    live

    This item said not planned, and it says something else now: twelve cities and forty-five doors, real Apple Stores and Superchargers in Shanghai, Chengdu, Guangzhou, Nanjing and Qingdao. What made it more than adding pins is that surveying law there requires a phone to report a position pushed three to six hundred metres from where it is standing. Against a catch radius of forty-five metres, every door in the country would have been visible on the map and would have refused everyone who walked to it. The doors stay in the coordinates the rest of the map uses, and the walker's position is translated instead, once, as it arrives. Two neighbours are the part worth reading: Hong Kong and Taiwan tell the truth, and the first version of the rule moved a walker in the New Territories six hundred metres because a border does not run half way between two city centres. What has not changed is the sentence this item used to end on. A wallet, a foreign chain and a share of a foreign company are three separate problems there, and a door on a map solves none of the three.

  5. The rest of the site, in the same seven.

    next

    The landing page, the docs, the rules and the sponsor form are still English. They are read once, by somebody deciding whether to try this; the app screen is read standing outside, by somebody who already has, which is why the screen went first. The pages follow, and their copy is the harder half: it is written in a voice, and a voice is the first thing a translation loses.

  6. A till a shop owner in Osaka would use.

    open question

    The shop owner who would sponsor a spot does not hold ETH and is not going to start. The Solana route already proves the shape of the answer: money lands on whatever rail the sponsor is already standing on, a dollar figure gets credited, and nothing bridges. Which rails, in which country, is the part still open.

the rest of the world

Where a fragment is worth a day. Go carefully, or do not go.

Three cities on the entire African continent today. The case for going is the best one this project has, and it is word for word the danger: two dollars of Apple is a coffee in Paris and half a day of work in Lagos. The arithmetic that makes this matter somewhere is the arithmetic that makes farming it rational. And a farm is not a walker with a different passport, it is the thing that empties the vault for everybody else.

  1. Caps that know the local wage.

    next

    One global cap per door is either generous enough to be farmed in Nairobi or mean enough to be pointless in Zurich. There is no single number that is both. Caps get banded by local purchasing power, per door, and end up boring in both places, which is the goal.

  2. Lite mode.

    next

    The map is 3D vector tiles and it quietly assumes a recent phone on wifi. A catch has to work on a four-year-old Android over a 3G connection: flat tiles or none at all, badge art deferred, under a megabyte between opening the app and tapping.

  3. An attested lane.

    open question

    Where an hour of walking is cheap, an honest walker and a farm look identical from a server. The lane through those cities would run on attestation from the operating system: the phone proving it is a phone, rather than our code asking it nicely. That is a strictly worse product for the person holding it, and it may be the only version we can responsibly open there. Not decided.

  4. Selling this as an income.

    not planned

    Somebody will describe it that way regardless. We will not. A day of wages for a day of walking is not a product, it is a payroll with no employer and no floor, and the caps exist precisely so it cannot quietly turn into one.

money in

Take the money where it already is. Nothing bridges.

A sponsorship is priced in dollars and paid out of the treasury, so the sponsor's coins and the walker's shares were never the same money to begin with. That is what turns a new payment rail into a week of work instead of a bridge, an audit and a wait. It also means that a chain with no connection to Robinhood Chain at all is still a chain we can take money on.

  1. Multi-chain support for sponsors.

    built, dark

    Solana is the first rail, and it is built, merged and switched off. Every spot gets a deposit address of its own, derived from a single secret so nothing has to be stored. Any token is accepted, and each arrival is priced by asking a router what that exact quantity would really sell for, which is the defence against a bag that displays at $2,000 and sells for $80. What has already been counted is recorded per token, so verifying twice cannot inflate a spot and a top-up prices only the new arrival. Base comes after it, then whatever sponsors actually turn out to hold. The pattern generalises to a new chain in a week precisely because it refuses to bridge: one derived address, one honest quote, one credit counted once.

    in the wayThe switch, deliberately: three separate variables have to be true on purpose before a single lamport is taken. And sweeping a deposit into the treasury needs to be somebody's habit rather than somebody's plan.

  2. Sweeping without a human.

    next

    Moving a deposit into the treasury, and refunding a token that could not be priced, are done by hand with a script. Nothing in the running app can spend from a deposit address, which is the right default and the reason this is manual. Correct for the first ten sponsors. Untenable at the hundredth.

  3. The shop, in $GRASS.

    next

    Ten items, every one paid in $GRASS with half of it burned on the way through. The rule the whole shop obeys: $GRASS buys memory, identity, constraint and the world, never a catch. Nothing on sale can change an amount, a radius, a cooldown or a cap, because a walker's history is the one thing that has to stay unbuyable.

    in the wayA gas faucet. $GRASS can be burned straight out of a wallet but has no permit(), so a gasless approve is impossible and a new walker holding zero ETH cannot spend a token they own. An endpoint has to widen before anything can be sold at all.

  4. The sticker at the till.

    building

    A kept door prints a QR for its counter. Scan it and you land on that door with your six letters on screen; the keeper types them and the catch goes through without a photo, because a person at the till is a better proof of the door than a picture of it. Then you may leave the shop a real Google review, in your own name, on Google's own form, and the boost is yours once it is seen, by Google or by the keeper. Two codes cross the counter, one each way. The QR is the first shape; the second is an NFC tag with a rolling code, which no photograph copies.

    in the wayWritten locally on 12 September and switched off. It goes live door by door, when the first keepers have printed one.

  5. The till receipt, as a token.

    building

    Scan the receipt from something you bought and it becomes an ERC-721 in your wallet: an Apple receipt is an Apple token. It trades on OpenSea, which lists Robinhood Chain, five percent of every sale going to the buyback that burns $GRASS, and a few of them buy a boost at the shop counter, burnt on the way through. Built against a receipt drawn by a machine, in layers of different kinds: three frames from a live camera with the sensor agreeing, a judge that says what the paper is made of and copies every number, sums that must add up, tax numbers that must pass their own checksums, a date in the last week, the country of the connection, and the same receipt refused twice by fingerprint and by picture, on the server and on the chain. Ships in a mode where nothing is minted without a person looking first.

    in the wayWritten locally on 11 September and not deployed: the contract is compiled and tested on a local chain, not on Robinhood Chain, and the judge has not read a real receipt yet. It goes live when the founder has watched the review page for a week.

  6. The split is already a contract.

    live

    Fee revenue is cut in two by a contract nobody can redirect: one share to the treasury that buys the stock hidden on the map, the other to the wallet that buys $GRASS back and burns it. Both destinations are immutable, the ratio between them is a number you can read off the contract rather than off this page, and no key of ours can send that money anywhere else. What is still a key rather than a contract is the treasury sitting at the end of it, and that is the piece that comes next.

the structure

Scale the structure first. Then everything standing on it.

Listed last because it is the least fun to read, and built first because every chapter above it rests on this one. Going from a hundred cities to a thousand is not a bigger map, it is the same machine asked to carry ten times the weight, and the work is making that boring rather than exciting.

  1. Bounds that hold at any size.

    building

    Everything that spends (the vault, the keeper, a sponsor's daily budget) gets a ceiling it cannot cross and an alarm that reaches a person rather than a log file. A limit is cheap to add before the growth and expensive to add during it, which is the whole reason this chapter comes first.

  2. Numbers we can watch.

    building

    Catches, refills, spend per city, per door, per hour. Growth you cannot see is growth you cannot steer, and at a thousand cities the first sign that something is off has to be a chart somebody is already looking at.

  3. One source of truth for the rules.

    next

    Radius, caps, cooldowns: one place that decides them, readable by the site and applied by the server, so the number a walker is shown and the number enforced on the walk cannot drift apart. The endpoint that changes them can only ever tighten them.

  4. A walk is never wasted.

    next

    Catch first, worry about gas afterwards: a redemption relayed for a walker with no ETH, a key that survives the page, and standing counted at redemption rather than at the tap. Somebody who walked to the right place and tapped has done their part of this.

  5. Where it works, region by region.

    next

    The map is global and what you may hold is not. The countries where holding a derivative carries its own rules get named on the page rather than left to the reader to work out, and where the answer is genuinely unsettled, saying so is the answer.

already outside

Live, today. Countable, today.

A roadmap with no past is a wishlist. Everything below is running right now, and most of it can be checked on a public chain without asking us anything.

The vault

Tokens sit in a public contract and only move against a signed voucher.

Proof of reserves

Every balance behind the map is countable on-chain, by you, right now.

Anti-spoof

Travel plausibility, plus the tells a mock GPS provider cannot help leaving.

Sponsored spots

Anyone can put a budget on their own address and pay per arrival.

Your own token

A sponsor can hand out their token instead of a share of a company.

The keeper

An hourly job that buys stock and refills whatever ran dry overnight.

Legendaries

One whole share, one place, one hour, one winner, one code stuck on site.

Profiles

A handle, a catch history, and a page worth sending to somebody.

The whole protocol is written up on the docs page, and the vault is countable on proof of reserves.