Skip to Content

Block

Draft. The contract for managing Akkadia blocks and minting GRC1155 tokens for building actions.

Purpose

The Block contract is the core content system of Akkadia. It manages block templates (defining block types and their properties) and mints GRC1155 tokens that players use to build in worlds. When a player installs a block, one token is consumed from their inventory. Each position in a world can only hold one block at a time.

Key Concepts

Block Templates

Every block starts as a template defining its properties:

  • Visual - name, texture URLs, draw type, layer
  • Mechanics - shape, state, block type
  • Economics - max supply, mint price, use price, installer revenue share

Templates are either system blocks (ID < 100,000) or user-created blocks (ID >= 100,000).

System Blocks

System blocks are managed by the Akkadia team and work differently from user-created blocks:

  • Created by admin with reserved IDs (< 100,000)
  • Users can use system blocks without minting - inventory is managed off-chain
  • Supply rules and distribution mechanisms are currently being developed

Creating Your Own Blocks

Anyone can create block templates by calling CreateBlock. When creating a block, you define:

  • name - Display name for the block
  • blockType, layer, drawType - Visual rendering properties
  • textureURL, previewURL - Asset URLs
  • maxSupply - Total number that can ever be minted
  • mintPrice - Cost (in ugnot) for others to mint your block
  • usePrice - Cost for others to interact with installed blocks
  • installerBPS - Revenue share (basis points) for whoever installs the block

The caller automatically becomes the block’s creator and earns revenue when others mint the block.

Creator Revenue

When anyone mints (purchases) a block, the mint price is split:

  • Creator receives 40% (default, configurable by admin)
  • Operator receives 60%

This incentivizes creators to design valuable blocks that others want to use.

Inventory (GRC1155)

Blocks in your inventory are GRC1155 tokens:

  • Semi-fungible: each block type is a token ID, quantity represents how many you own
  • Minting - Pay the mint price to add blocks to your inventory
  • Transferring - Send blocks to other players
  • Installing - Consumes one block from inventory to place in world

Installation

Installing a block places it in the world:

  1. Must have permission in the target world/chunk
  2. Must have the block in your inventory
  3. Only one block per position - cannot install where a block already exists
  4. Burns one token from inventory
  5. Records the installation with content and installer address

The installer address is tracked for revenue sharing when others use the block.

Block Usage

Interactive blocks can be “used” by other players:

  • Use Price - Cost to interact with the block
  • Installer BPS - Percentage that goes to who installed it
  • Remaining revenue goes to the operator

This creates a secondary revenue stream for builders.

What’s On-Chain

Block Templates

  • Block definitions (name, visuals, economics)
  • Type index for categorized queries
  • Current supply per block type

Inventory (GRC1155)

  • Token balances per user per block type
  • User token index (which blocks you own)
  • Transfer approvals

Installations

  • Installed block data per position
  • Installer addresses (for revenue sharing)
  • Use logs with payment details

Capabilities

For Anyone

  • Create blocks - Design new block templates, become a creator
  • Mint blocks - Pay mint price to add blocks to inventory
  • Transfer blocks - Send blocks to other players
  • Install blocks - Place blocks where you have permission
  • Use blocks - Interact with installed blocks (paying use fees)
  • View inventory - Check your block balances

For Block Creators

  • Earn 40% of every mint (default rate)
  • Set mint price, use price, and installer revenue shares
  • Control scarcity through max supply

For Installers

  • Earn configured percentage when others use your installations
  • Build in chunks/worlds where you have permissions

For Admin

  • Create system blocks (ID < 100,000)
  • Set special properties (unlimited supply with -1)
  • Delete blocks
  • Configure creator revenue percentage
  • Chunk - Where blocks are installed in system worlds
  • Personal World - Where blocks are installed in private spaces
  • Economy - Revenue distribution details
Last updated on
Docsv1.0.10