Documentation
How the game is actually enforced, read off the deployed contract rather than the pitch.
What Conquest is
Conquest turns the shops around you into a board. Every place on the map is tied to the listed company that owns the brand above the door, and the player holding the most of that company’s tokenised stock owns the place, as long as they keep turning up.
There is no buy button and no marketplace. The only way to take somewhere is to stand in front of it with the stock already in your wallet.
- Nothing is escrowed. Your tokens never move. The contract reads your balance and compares it to what you have declared.
- Presence is proven, not claimed. A server checks your GPS against the place and signs an attestation the contract verifies.
- Nothing is permanent. Anyone who out-forces you takes it, and your grip weakens the longer you stay away.
The board
| Count | |
|---|---|
| Cities | 43 |
| Places | 4,120 |
| Distinct companies | 28 |
| Claimable today | 1,092 |
Getting set up
- Open the map and connect a wallet. It will offer to add Robinhood Chain if you do not have it.
- Hold one of the tokenised stocks listed below. You need the stock of the company that owns the place you want, not any stock.
- Allow location access. Presence is checked server-side; a spoofed browser coordinate is the one thing the game is built to reject.
| Network | Value |
|---|---|
| Name | Robinhood Chain |
| Chain ID | 4663 |
| RPC | https://rpc.mainnet.chain.robinhood.com |
| Currency | ETH |
| Conquest | 0xBe2b331A5Df62bE672b531a5a68Ec91fe08055ec |
Taking a place
Walk to the place and open it on the map. If you are inside the radius, the oracle signs an attestation and the claim button unlocks.
| Rule | Value |
|---|---|
| Radius | 120 m from the registered coordinates |
| Attestation lifetime | 10 minutes, enforced on-chain |
| Proof | An ECDSA signature over chain id, contract, player, place and expiry |
Declaring an amount does not transfer it. The contract checks that everything you have declared across every place you hold still fits inside your balance, and reverts with Insolvent if it does not.
Holding it
Two things decide whether you keep a place: how long you have held it, and how recently you stood there.
| Effect | |
|---|---|
| Tenure | +10% per full week held, capped at 3× |
| Presence | 100% for 7 days, then decaying in a straight line to 25% at 30 days |
| Floor | 25%. Presence never reaches zero, but a quarter of your allocation is easy to beat |
Checking in resets presence and needs a fresh attestation, so you have to go back. Reinforcing adds allocation and needs no proof, because you have already been there.
Losing it
- Someone out-forces you. They stood there and declared more than your current effective force.
- You sell. The contract reads your live balance. Drop below what you have declared and anyone can call
challengeto knock you off, with no attestation needed. - You stop showing up. Decay does the work for them.
How force is calculated
force = allocated × tenure × presence
tenure = min(1.0 + 0.1 × weeks_held, 3.0)
presence = 1.0 if last_seen ≤ 7 days
0.25 if last_seen ≥ 30 days
linear between the two otherwiseA newcomer therefore arrives at exactly 1.0× their allocation. Beating a diligent holder who has been there three weeks costs 1.3× what they put in; beating one who has not been back in a month costs a quarter of it.
Contract
function claim(bytes32 placeId, uint256 amount, uint64 expiry, bytes signature)
function reinforce(bytes32 placeId, uint256 extra)
function checkIn(bytes32 placeId, uint64 expiry, bytes signature)
function withdraw(bytes32 placeId)
function challenge(bytes32 placeId)
function effectiveForce(bytes32 placeId) view returns (uint256)
function isSolvent(address player, address token) view returns (bool)
function freeBalance(address player, address token) view returns (uint256)
function territory(bytes32) view returns (address, uint128, uint64, uint64)Deployed at 0xBe2b331A5Df62bE672b531a5a68Ec91fe08055ec on chain 4663. There is no upgrade path, no proxy and no pause switch; the owner can only register places and rotate the attestor key.
Playable stocks
These are the companies with a token on Robinhood Chain and places on the board. Holding one of them is what makes the corresponding shops claimable for you.
| Ticker | Places on the board |
|---|---|
| XOM | 380 |
| TSLA | 129 |
| AAPL | 124 |
| UPS | 112 |
| COST | 104 |
| F | 96 |
| LULU | 68 |
| AMC | 39 |
| GME | 37 |
| KSS | 3 |
FAQ
Can I fake my location? The check runs on the server against the registered coordinates, and the contract only accepts a signature from the attestor key. Editing what your browser reports gets you a refused attestation.
Do I have to lock my tokens? No. They stay in your wallet and you can sell at any time. You just lose the places you had declared them against.
Can I hold two places with the same tokens? You can declare against as many places as you like, but the total has to fit in your balance. Spreading thin is a strategy, not a loophole.
Why is my local shop greyed out? Its parent company has no token yet. It is registered and will open when one exists.
Is there a token? No. Conquest has no token of its own and is not raising one.