This proposal requests storing two smart contracts on XION mainnet that together provide shared infrastructure for NFT asset management and secondary sales across the XION ecosystem.
Asset Contract — A CW721-compatible NFT contract extended with a pluggable execution pipeline. Collection creators configure plugins at the collection level to enforce royalties, price guards, temporal restrictions, and access control on every transfer. Any team building on XION can instantiate their own collections from this stored code.
Marketplace Contract — A standalone secondary-sales engine supporting fixed-price listings, token-level and collection-level offers with escrow, configurable fees (basis points), reserved purchases, and an optional sale-approval workflow. The marketplace is designed to work with an Asset collection and serves as shared trading infrastructure for the XION ecosystem.
Together, these contracts give every team on XION a ready-made path from minting to secondary-market trading with creator-controlled rules enforced on-chain.
Team Background
These contracts are developed by Burnt Labs, the core team building XION network infrastructure. The asset and marketplace contracts are designed as open ecosystem primitives and any team building on XION can instantiate their own collections and marketplace instances. The contracts have been iteratively tested on xion-testnet-2 with community feedback.
Contract Source Code
-
Repository: GitHub - burnt-labs/contracts
-
Commit: Asset + Marketplace Contract (#81) · burnt-labs/contracts@e3dadc6 · GitHub
-
Asset Contract: contracts/contracts/asset at e3dadc6b8141f7bc669dde9cde3fa9ed8315983a · burnt-labs/contracts · GitHub
-
Marketplace Contract: contracts/contracts/marketplace at e3dadc6b8141f7bc669dde9cde3fa9ed8315983a · burnt-labs/contracts · GitHub
Contract(s) Description(s)
Asset Contract
CW721-compatible NFT contract extended with marketplace functionality (list, buy, reserve, delist) and a pluggable execution pipeline. Plugins are configured per-collection and are evaluated on every transfer. When royalties are configured, raw CW721 transfers are blocked to guarantee royalty payment through marketplace sales. Individual collections will be instantiated separately by each team after the code is stored on-chain.
The following 10 plugins are available:
-
Royalty — Deducts a percentage (BPS) from the sale price and sends it to a specified recipient
-
ReferralSplit — Deducts a referral percentage (BPS) from the sale price and sends it to a specified recipient
-
MinimumPrice — Enforces a floor price — transactions below the specified amount are rejected
-
ExactPrice — Enforces an exact sale price — transactions at any other amount are rejected
-
NotBefore — Blocks transfers before a specified timestamp
-
NotAfter — Blocks transfers after a specified timestamp
-
TimeLock — Locks a token for a specified duration after each transfer
-
AllowedMarketplaces — Restricts which marketplace contract addresses may facilitate sales
-
AllowedCurrencies — Restricts which token denominations may be used for payment
-
RequiresProof — Accepts an arbitrary proof payload with the transaction (reserved for future validation logic)
Marketplace Contract
Standalone marketplace contract managing fixed-price listings, token/collection offers with escrow, configurable fees (basis points), reserved purchases, and optional sale approval workflow. Serves as shared secondary-sales infrastructure for asset collection on XION.
Audit
Testnet Code_ID
-
Asset: 1878 (
xion-testnet-2) -
Marketplace: 1879 (
xion-testnet-2)