Skip to content

Glossary

The scope of who can mint from a sale. Either PUBLIC (anyone) or GATED (only wallets that pass the gate’s conditions). Gated sales have no on-chain vector or mechanic — mints are authorized by an executor-signed claim.

The long-term storage destination for media. Today: Arweave. Used to freeze a collection’s metadata directory once the drop is complete (see collection.finalizeBaseUri).

The act of minting a token from a sale. In SDK terms: client.collection.claimSale({ highlightId, saleId, amount, tokenIds? }). Returns a ContractExecution the caller submits on-chain.

The top-level unit. Every collection has a type, a contract, optionally one or more sales, and minted tokens. Has a highlightId (public, URL-safe) and a UUID (internal).

One of OpenEdition, LimitedEdition, OneOfOne, Series, GenerativeSeries. Determines which contract implementation is selected at deploy time.

The deployed smart contract that holds tokens. Maps 1:1 or 1:N to collections depending on whether the contract type is reusable. The platform picks the contract type from the collection type plus token standard.

The specific on-chain implementation (e.g. EditionsDFS1155Implementation, SeriesImplementation). Derived; not set directly.

The multi-step state machine that takes a draft collection to Live. Steps: ValidateUploadMetadata [→ UploadCode for generative] → GenerateTransactionAwaitTransactionRecordTransaction. Overall status: Pending, InProgress, Completed, Failed.

A MediaKind representing an extracted zip archive. Used for series asset bundles and generative code. After PUT-upload, the backend extracts the archive and exposes children at /media/:mediaId/children/:path.

The platform-held secret used to sign gated mints and certain on-chain admin actions. Scoped per-chain, stored encrypted. Never exposed to clients.

A MediaKind representing a single blob — an image, video, audio, or metadata JSON.

A reusable access-control rule bundle owned by an account. Contains one or more conditions and a matchMode (ALL or ANY). Attached to a sale by setting accessMode: "GATED" and gateId.

One rule inside a gate: ALLOWLIST, TOKEN_OWNERSHIP, SPECIFIC_TOKEN, TOKEN_ATTRIBUTE, CURRENCY_BALANCE, or FARCASTER_FOLLOW.

Creator-paid gas for the collector’s mint transaction. Only valid for FIXED_PRICE + PUBLIC sales. Encoded via the gasSponsored: true flag.

The public, URL-safe identifier for a collection. Distinct from the internal UUID. Appears in every /collection/:highlightId/... route.

An on-chain sale contract plugged into the MintManager. Built-ins: DISCRETE_DUTCH_AUCTION, RANKED_AUCTION, SEED_BASED_MINT, GASLESS. Custom mechanics can be registered via client.mechanic.create and deployed per chain.

The root on-chain contract every claim goes through. Resolves the mechanic or vector for the sale and executes the mint.

The auth provider used at sign-in. Either Siwe or Privy. Determines the body shape of /user/signin.

Sealed-bid auction where highest bidders win tokens, optionally with a rebate so all winners pay the clearing price. On-chain only — gated ranked auctions are rejected.

A purchase mechanism attached to a collection. Has type, accessMode, price fields, supply limits, an optional gateId (when gated), and an optional mechanicId (for custom). Immutable fields can’t be changed — delete and re-create to change the sale’s shape.

A collection where every token has unique metadata. Two variants: Collectors Choice (collector picks tokenIds) and Standard (sequential).

ERC-721 or ERC-1155. Editions support both; series and generative are always ERC-721. For ERC-1155 editions, mint fees are halved.

A minted NFT. Belongs to a collection, identified by its on-chain tokenId. Carries name, description, image, attributes, and optional freeform properties.

Sale-type-specific configuration. Dutch auctions carry scheduledPrices and priceDropInterval; ranked auctions carry reserveBidAmount and rebateWinningBids; custom sales carry whatever the registered mechanic expects.

An on-chain purchase record registered with MintManager for public sales. Has a vectorId. Gated sales have no vector; Dutch auctions use a mechanicVectorId instead.