Blockchain Layer
While there are over 40 smart contracts that make up the system, here are the four primary ones that contribute to the base game operation.

Game Engine

Main System Controller

This is the blockchain “brain” for a game. For example, in CropXYZ, all the requests that users make, in one way or another, goes through this set of smart contracts.

Contract Address:

Contract Address 0xaa8f7ada9e9cdcdbcc7e816047915c9ee8462d57 | PolygonScan
Polygon (MATIC) Blockchain Explorer

Economic Engine

Complete automated market maker

This is a UniSwap-inspired constant product, automated market maker that hosts 24 different liquidity pools for CropXYZ. This is extensible enough to support any ERC20 token in relation to the internal currency (“zGOLD”).

Contract Address:

Contract Address 0xb36233e579d397bb3fc51a808f72d9ff2f187af7 | PolygonScan
Polygon (MATIC) Blockchain Explorer

Address Store

Locate other contracts on-chain

This can be thought of as an on-chain log of the other blockchain parts a game. Inspired by ENS, it maps human-readable words to blockchain addresses. This makes it easier for developers to reference other contracts without knowing the actual addresses.

Contract Address:

Contract Address 0x12f885808f616b8056a37be00fdd029e1c59ab08 | PolygonScan
Polygon (MATIC) Blockchain Explorer

Role Registry

Access control for users and contracts

When dealing with so many different contracts, there needs to be a way to manage which have access to certain functions. Within the smart contracts, there are checks with the role registry to verify that those permissions are allowed for said contract or user invocation.

Contract Address:

Contract Address 0x22df7c0df774c04C70d3d27b1000BcF877aFfF12 | PolygonScan
Polygon (MATIC) Blockchain Explorer