NEW: The Module Marketplace is live — browse, build, and earn.
Module Registry
--
Tracked Modules
8
Genesis Slots
5
Standard Slots
Available Modules
Loading modules...
Build a Module

Modules extend Exoskeleton capabilities. Any smart contract can be registered as a module by the contract owner. Once registered, token holders can activate modules in their available slots.

How Modules Work

Module Types

Free modules can be activated at no cost. Premium modules require an ETH payment. Genesis Exoskeletons get 8 slots, standard get 5 slots.

Registration

  1. Deploy your module contract to Base
  2. Contact the team to register it: registerModule(name, contract, premium, cost)
  3. Once registered, any Exoskeleton holder can activate it

Activation Flow

  1. Token owner calls activateModule(tokenId, moduleName) (+ ETH for premium)
  2. Module is tracked in the token's active modules list
  3. Module count contributes to reputation (+10 per active module)
  4. Deactivate: deactivateModule(tokenId, moduleName)

Module Ideas

  • Communication bridges — relay messages to/from other protocols
  • Reputation scorers — external scoring (game ELO, social metrics)
  • Storage extensions — structured data schemas
  • Identity verification — prove ownership of external accounts
  • Agent tools — onchain capabilities for AI agents
Smart Contract Interface
// Core: ${ExoCore ? ExoCore.CONTRACTS.core : '0x1Cc48Ad23951Fc2DA96DdFFeFAba705aD5ef7B07'} // Registry: 0x46fd56417dcd08cA8de1E12dd6e7f7E1b791B3E9 // Register (owner only) registerModule(bytes32 name, address contract, bool premium, uint256 cost) // Activate (token owner) activateModule(uint256 tokenId, bytes32 moduleName) payable // Deactivate deactivateModule(uint256 tokenId, bytes32 moduleName) // Query isModuleActive(uint256 tokenId, bytes32 moduleName) returns (bool) getActiveModulesForToken(uint256 tokenId) returns (bytes32[]) // External scoring (granted modules) grantScorer(uint256 tokenId, address scorer) setExternalScore(uint256 tokenId, bytes32 key, int256 value)

Full documentation: Docs · GitHub