ConquestDocs

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
Cities43
Places4,120
Distinct companies28
Claimable today1,092

Getting set up

  1. Open the map and connect a wallet. It will offer to add Robinhood Chain if you do not have it.
  2. Hold one of the tokenised stocks listed below. You need the stock of the company that owns the place you want, not any stock.
  3. Allow location access. Presence is checked server-side; a spoofed browser coordinate is the one thing the game is built to reject.
NetworkValue
NameRobinhood Chain
Chain ID4663
RPChttps://rpc.mainnet.chain.robinhood.com
CurrencyETH
Conquest0xBe2b331A5Df62bE672b531a5a68Ec91fe08055ec

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.

RuleValue
Radius120 m from the registered coordinates
Attestation lifetime10 minutes, enforced on-chain
ProofAn 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×
Presence100% for 7 days, then decaying in a straight line to 25% at 30 days
Floor25%. 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 challenge to 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     otherwise

A 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.

TickerPlaces on the board
XOM380
TSLA129
AAPL124
UPS112
COST104
F96
LULU68
AMC39
GME37
KSS3

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.