The Land Contract
Land is the one asset in Roblade that lives entirely on-chain. Every plot in the world is an ERC-721 NFT minted from a single smart contract on Robinhood Chain, and the token itself encodes the exact map coordinate it represents. This page explains how that contract is built, how to buy Land, and how to verify everything yourself.
Overview
The Land contract is a standard ERC-721 collection with the name Roblade and the symbol LAND, deployed on Robinhood Chain (chainId 4663). It governs the full supply of 1,000,000 land plots — no more can ever exist than the map itself contains.
Owning a Land NFT means owning a specific coordinate in the Roblade world. The game reads ownership directly from the chain: if the NFT moves to a new wallet, the in-game plot follows it. What you build on that land is covered in World, Land & Territories.
Diamond architecture
The contract is an EIP-2535 Diamond: a single on-chain address whose logic is split into modular components called facets. Five facets make up the Roblade Diamond:
| Facet | Purpose |
|---|---|
| DiamondCutFacet | Adds, replaces, or removes facets (owner-only upgrades) |
| DiamondLoupeFacet | Introspection — lets anyone list the facets and functions currently active |
| OwnershipFacet | Contract ownership per the ERC-173 standard |
| LandFacet | The ERC-721 Land token itself: minting, transfers, metadata |
| AdminFacet | Configuration: land price, pause switch, base URI, treasury address, revenue withdrawal |
Why a Diamond? A live game evolves, and the facet structure lets individual pieces of logic be upgraded or extended without migrating the collection or asking holders to swap tokens. Your NFTs stay at the same address permanently.
To state it plainly: diamondCut — the upgrade function — is owner-only. The project team can upgrade contract logic, and the DiamondLoupeFacet makes every such change publicly inspectable on-chain.
Coordinates as tokenIds
Roblade does not assign arbitrary serial numbers to plots. Each plot is identified by a signed (x, y) coordinate pair (two int32 values), and the tokenId is derived directly from it:
tokenId = uint256(packCoord(x, y)) + 1The NFT is the map position. Given any tokenId, you can decode exactly which coordinate it controls — no lookup table, no off-chain registry. The contract enforces one NFT per coordinate: once a plot is minted, that coordinate can never be minted again.
Fully on-chain metadata
Land metadata does not depend on an external metadata server. Calling tokenURI returns a Base64-encoded JSON data URI generated entirely by the contract, with the plot’s (x, y) coordinates included as attributes. The token image is served from the game CDN (cdn.roblade.com/nft/land.gif).
The practical consequence: marketplaces and wallets can always resolve what your Land token is and where it sits on the map, straight from the chain.
Buying Land
Land is purchased directly from the contract in native ETH on Robinhood Chain:
buyLand(int32 x, int32 y)— mints a single plot at the coordinate you choose.buyLandBatch— mints up to 300 plots in one transaction, useful for claiming a contiguous territory.
Key terms:
- Price: 0.0001 ETH per plot (owner-configurable via
setLandPrice; the current price is always readable on-chain). - Payment: native ETH on Robinhood Chain — no separate purchase token.
- Overpayment: any excess ETH sent is refunded in the same transaction.
- Supply: 1,000,000 plots total, one per coordinate.
- Events: every purchase emits a
LandPurchasedevent, so the full mint history is public.
The in-game map is the easiest way to buy — it handles coordinate selection and the transaction for you. See How to Play for the walkthrough.
Transfers
Land uses standard, unrestricted ERC-721 transfers. You can transfer or approve your plots to any address at any time, list them on any marketplace that supports ERC-721, or hold them in any compatible wallet.
One detail worth knowing: the contract’s pause switch gates minting only. Even if new-plot sales are paused, transfers of existing Land are never blocked.
Addresses & verification
Don’t take this page’s word for any of it — verify on-chain:
- Diamond (mainnet):
0x6D33436b4f7200b9097285AC49E4092d877cB5A5 - Network: Robinhood Chain, chainId 4663 (an Arbitrum-technology L2)
- RPC:
rpc.mainnet.chain.robinhood.com - Explorer: explorer.mainnet.chain.robinhood.com
The contract source is verified on the Blockscout explorer, compiled with Solidity 0.8.29 (via-IR, optimizer runs 200). You can read the code, browse every mint and transfer, and use the DiamondLoupeFacet to confirm exactly which facets are live.
For how the contract fits into the wider system — the game server, sign-in, and signature security — continue to Architecture & Security. For what Land means as an asset, see Tokenomics.