Smart Contracts

Litany combines exchange infrastructure with onchain NFT assets. This page gives the useful developer map without exposing every implementation detail of the marketplace stack.

Exchange Contracts

The exchange supports signed listings and offers, validates live order state, routes marketplace fees, respects collection royalties, and tracks fills and cancellations. Users experience this as the Litany order book: bids, listings, activity, rewards, and position management.

SurfaceRole
ListingsSell-side orders for owned NFTs.
OffersToken, collection, and criteria bids.
FeesMarketplace fee routing and reward accounting.
RoyaltiesCollection royalty support where configured.
ValidationOwnership, balance, approval, expiration, and cancellation checks.

For product-level order behavior, read Orders & Settlement.

Litany Card Contracts

Litany Cards are fully onchain ERC-721 assets. The contracts generate, store, and render the NFT metadata without IPFS or external hosting.

Contract Addresses

ContractAddress
LitanyCards0xd44abe71c312FCAf73cC20f7DF61C39A89C203eB
LitanyRenderer0x4044dA12e3d20A865A733802F84F7bDb4892Ce0C

Architecture

Litany uses a two-contract architecture for the Litany Card collection:

LitanyRenderer holds content pools and SVG generation logic.

LitanyCards is the ERC-721 mint and ownership contract. It stores attribute indices, calls the renderer for token metadata, and implements royalty metadata.

Key Card Interfaces

Minting

function mint(uint256 quantity) external payable

function mintActive() → bool
function mintPrice()  → uint256
function totalSupply() → uint256
function MAX_SUPPLY()  → uint256
function MAX_PER_TX()  → uint256

Reading Litany Card Data

Games, interfaces, and agents can read Litany Card text directly:

function getCardText(uint256 tokenId) → (
    string name,
    string className,
    string speed,
    string aggression,
    string caution,
    string precision,
    string trait
)

function getCardIndices(uint256 tokenId) → uint256
function tokenURI(uint256 tokenId) → string

Ownership

function balanceOf(address owner) → uint256
function ownerOf(uint256 tokenId) → address

Game Integration

Games can read Litany Card text and interpret it for their own systems. The card remains the same asset; each game chooses how to map the text into mechanics.

Viewing Cards

PlatformURL Pattern
Litany Inventoryhttps://litany.gg/inventory
Explorerhttps://abscan.org/token/0xd44abe71c312FCAf73cC20f7DF61C39A89C203eB?a={tokenId}

Standards

StandardUsage
ERC-721NFT ownership
ERC-2981Royalty metadata
Onchain SVGContract-rendered card output
Base64 JSONSelf-contained token metadata

Supply

ParameterValue
Max Supply8,000
Mint Price0.0025 ETH
Team Mint200
Public Supply7,800