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.
| Surface | Role |
|---|---|
| Listings | Sell-side orders for owned NFTs. |
| Offers | Token, collection, and criteria bids. |
| Fees | Marketplace fee routing and reward accounting. |
| Royalties | Collection royalty support where configured. |
| Validation | Ownership, 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
| Contract | Address |
|---|---|
| LitanyCards | 0xd44abe71c312FCAf73cC20f7DF61C39A89C203eB |
| LitanyRenderer | 0x4044dA12e3d20A865A733802F84F7bDb4892Ce0C |
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() → uint256Reading 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) → stringOwnership
function balanceOf(address owner) → uint256
function ownerOf(uint256 tokenId) → addressGame 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
| Platform | URL Pattern |
|---|---|
| Litany Inventory | https://litany.gg/inventory |
| Explorer | https://abscan.org/token/0xd44abe71c312FCAf73cC20f7DF61C39A89C203eB?a={tokenId} |
Standards
| Standard | Usage |
|---|---|
| ERC-721 | NFT ownership |
| ERC-2981 | Royalty metadata |
| Onchain SVG | Contract-rendered card output |
| Base64 JSON | Self-contained token metadata |
Supply
| Parameter | Value |
|---|---|
| Max Supply | 8,000 |
| Mint Price | 0.0025 ETH |
| Team Mint | 200 |
| Public Supply | 7,800 |