Whitepaper ← Back to Home

How Territoria Works

A complete technical and gameplay reference. Everything described here is enforced by the smart contracts — not by us.

Overview

Territoria is a fully on-chain territory-conquest game on Robinhood Chain. The world map has 180 real countries, each one a claimable territory. Players lock $TORIA tokens to plant a flag on a country, defend it during a protection window, and can lose it to anyone willing to pay the steal price — or burn their way in early.

There is no backend server and no database. Every balance, every territory's owner, every steal, and every reward is stored and computed entirely by the smart contracts. This site is a static frontend that reads and writes directly to those contracts.

Getting Started

  1. Install a wallet extension (MetaMask or any injected EVM wallet).
  2. Click Connect Wallet — the site will prompt you to add/switch to Robinhood Chain automatically if you're on the wrong network.
  3. Make sure your wallet has ETH on Robinhood Chain — bridge it in via the official Robinhood Chain bridging guide, or buy directly if your exchange supports it.
  4. Buy $TORIA from the Buy/Sell panel on the homepage, or from the navbar's Buy / Sell shortcut.
  5. Tap any unclaimed ("No Man's Land") country on the map to plant your flag.

The Bonding Curve

$TORIA isn't pre-priced — it trades against a quadratic bonding curve held by the BondingCurve contract. The price per token rises as more tokens are bought (and falls as tokens are sold back), following:

price(x) = basePrice + curveSlopeK × x² / 1e18

where x is the number of tokens sold so far. Early buyers get a much lower price than latecomers, since the curve starts near zero and rises quadratically.

Buying

Send ETH to buy() and receive $TORIA immediately, priced along the curve at that moment.

Selling

Send $TORIA to sell() (after approving the contract) and receive ETH back — the exact symmetric inverse of buying, with no fee. You can sell anytime before graduation.

Graduation

Once the curve collects a fixed ETH threshold (visible live in the "Graduation Progress" bar on the homepage), it graduates: buy() and sell() both stop working, 10% of the collected ETH goes to the Treasury, and the rest is set aside for a future Uniswap V4 liquidity pool (see Risks & Limitations — this part isn't live yet).

Both buy and sell use a 100-step numerical approximation of the true price integral rather than an exact closed-form curve — this was deliberately chosen (and tested) to stay simple, cheap, and auditable rather than relying on on-chain cubic equation solving. The residual error is under ~0.25%.

Claiming a Territory

Any country showing "No Man's Land" can be claimed by anyone. Claiming requires:

Your locked $TORIA isn't spent — it stays escrowed in the contract for as long as you hold the territory, and comes back into play (to whoever claims/steals it next) when ownership changes.

Protection Window

The moment you claim or successfully steal a territory, it enters a 6-hour protection window that decays in four tiers:

Time heldOverride cost (% of steal price)
0 – 1.5h40%
1.5 – 3h30%
3 – 4.5h20%
4.5 – 6h10%
After 6hNo protection — steal directly

During the window, anyone attempting to steal must first call overrideBurn() and pay that tier's percentage of the current steal price in $TORIA. This $TORIA is burned and distributed — see the split below.

Stealing

Once protection has expired (or been paid off via override), anyone can call stealTerritory(). The cost is 1.5× the current locked amount, paid in $TORIA:

Rapid-Steal Multiplier

If the same territory is stolen again within 1 hour of the last steal, the multiplier climbs by +10% per rapid steal, capping at 2.0×. This discourages wash-trading a territory back and forth between wallets to farm activity. The multiplier resets to the base 1.5× once an hour passes without a steal.

Every ownership change (claim or steal) resets the 6-hour protection window for the new owner, and clears any customization (empire name, color, logo) the previous owner had set.

Staking & Rewards

Locking $TORIA into a territory is also a stake. Every time someone pays an override-burn fee (see Protection Window), that burned $TORIA splits three ways:

ShareDestination
50%Burned permanently (deflationary)
40%Rewards Pool — shared by every current territory holder, weighted by locked amount
10%Treasury

You don't need to do anything to start earning — simply holding a territory makes you eligible for a share of every override-burn happening anywhere on the map. Open your own territory's panel to see your accrued rewards and claim them.

Customization

Every territory owner can set (and update anytime) three things, saved directly on-chain:

All customization is wiped when a territory changes hands — the new owner starts with a blank flag.

Tokenomics

ParameterValue
Max supply1,000,000,000 $TORIA (fixed, only decreases via burns)
Bonding curve allocation950,000,000 (95%)
Treasury allocation50,000,000 (5%), no vesting
Steal fee split70% previous owner / 30% Treasury
Override-burn split50% burned / 40% Rewards Pool / 10% Treasury
Rapid-steal multiplier1.5× base, +10% per rapid steal, 2.0× cap, 1h cooldown
Protection window6 hours, 4 decaying tiers
Sell fee (curve phase)0% — fully symmetric with buying
Sell fee (post-graduation, planned)3%, via a Uniswap V4 hook — not live yet

Contract Addresses

Not published yet. Contracts are currently deployed and tested on a private testnet during development — addresses will be published here once the mainnet deployment goes live.

Status & Roadmap

ComponentState
Core contracts (7)Live on testnet
Bonding curve buy/sellLive on testnet
Claim / protect / stealLive on testnet
Staking rewardsLive on testnet
Uniswap V4 graduationTested live, real pool created
Mainnet deploymentIn preparation
Sell-fee hook (post-graduation)Not yet built
External security auditNot yet commissioned

Risks & Limitations

FAQ

Do I need to do anything to earn staking rewards?

No — just hold a territory. Rewards accrue automatically from override-burns happening anywhere on the map, proportional to your locked amount.

What happens to my $TORIA if I lose a territory?

If you're stolen from, you receive 70% of the steal price paid by the attacker, refunded directly to your wallet in the same transaction.

Can I hold more than one territory?

Yes — there's no limit. Your total holdings across all territories determine your rank on the "Top Holders" leaderboard.

Why does the map show real countries instead of made-up regions?

It's more fun to fight over Brazil than "Region 47." All 180 countries and their claim states are pulled live from the contracts — nothing on the map is decorative or fake.

Where can I see the source code?

Contract addresses and a block explorer link will be published here once the mainnet deployment is live.