Skip to main content
GenFT, or Generative Fungible Token, represents a new class of tokens within the 0xTOWN ecosystem. Built upon the DN-404 standard, GenFTs incorporate added functionalities to seamlessly integrate with an ever-expanding universe of characters.

🔗 DN-404 Compatibility

GenFTs retain all the interaction capabilities provided by the DN-404 interface, ensuring seamless transactions and approvals across different token types.
/// @notice Function for ERC-20 transfers.
function transfer(address to_, uint value_) external returns (bool);

/// @notice Function for mixed ERC-20 and ERC-721 transfers.
/// @dev This function assumes the operator is attempting to transfer an ERC-721
///      if valueOrId is a possible valid token id.
function transferFrom(address from_, address to_, uint valueOrId_)
  external returns (bool);

/// @notice Function for mixed ERC-20 and ERC-721 token approvals
/// @dev This function assumes the operator is attempting to approve
///      an ERC-721 if valueOrId_ is a possibly valid ERC-721 token id.
function approve(address spender_, uint valueOrId_) external returns (bool);

/// @notice Function for ERC-721 approvals.
function setApprovalForAll(address operator_, bool approved_) external;
Users hold NFTs proportional to their token holdings, with the total being rounded down to the nearest whole number.

Basic DN-404

🌟 Beyond DN-404 Compability

GenFT introduces, genetic, a novel concept that extends beyond traditional token identification.
function genetics(uint tokenId) external view returns (bytes32 genetic);
This function maps each tokenId to a unique character genetic code, which can be deterministically interpreted by an off-chain, open-source AI software suite to materialize into a character.

🧩 ERC-20 to Silhouette to Character

Unique to GenFT, users who acquire enough tokens to possess an NFT don’t just receive any random NFT; they receive a silhouette NFT. This silhouette must be revealed to discover the actual GenFT attributes, which will be unique and never existed before.

DN-404

function reveal(uint tokenId) external payable;

♻️ Transforming the GenFT

In contrast to DN-404, GenFT allows holders the flexibility to transform their NFT into a different, randomly generated GenFT. This feature embodies the boundless potential of 0xTOWN’s universe, as the possibilities for GenFT are limitless.

DN-404

function transform(uint tokenId) external payable;