> For the complete documentation index, see [llms.txt](https://liqnft.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://liqnft.gitbook.io/docs/sdk-for-developers/solana/edition-drop.md).

# Edition Drop

Edition Drop allows you to sell edition-ed NFTs (i.e. NFTs with unique edition numbers) with a [Master Edition NFT](https://docs.metaplex.com/guides/archived/architecture/deep_dive/overview#master-edition).

You can currently launch Edition Drops via Candy Shop SDK. We will be releasing a user interface as well at a later date.

There is an optional whitelist feature where you can specify a time period where buyers can only mint the edition-ed NFT with a whitelist token. The whitelist token can be any SPL token that you create and configure to fit your use case. For instance, it can be earned by buyers after they complete certain actions, giving them access to the drop.

### Create Drop

Create a drop by transferring a Master Edition NFT into the Edition Drop program.

```typescript
candyShop.commitMasterNft({
  // tokenAccount Publickey of the master edition NFT
  nftOwnerTokenAccount: web3.PublicKey;
  // Master edition NFT mint Publickey
  masterMint: web3.PublicKey;
  // Whitelist Sale token mint Publickey
  whitelistMint?: web3.PublicKey;
  // Master edition NFT owner wallet address
  nftOwner: AnchorWallet | web3.Keypair;
  // price in the shop payment coin, in the smallest unit
  price: BN;
  // unix timestamp
  startTime: BN;
  // in second
  salesPeriod: BN;
  // whitelist sales start time
  whitelistTime?: BN;
});
```

### Fetch Drops

Fetch drops with your shop Id.

```typescript
candyShop.fetchDropsByShopAddress(shopId: string);
```

### Mint NFT

Mint an edition-ed NFT from a drop. Edition numbers are randomized on the client side to allow multiple buyers to mint NFTs at once smoothly.

```typescript
candyShop.mintNewPrint({
  // tokenAccount Publickey of the master edtiion NFT
  nftOwnerTokenAccount: web3.PublicKey;
  // Master edition NFT mint Publickey
  masterMint: web3.PublicKey;
  // Whitelist Sale token mint Publickey
  whitelistMint?: web3.PublicKey;
  // Buyers anchor wallet instance or keypair (used for CLI)
  editionBuyer: AnchorWallet | web3.Keypair;
});
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://liqnft.gitbook.io/docs/sdk-for-developers/solana/edition-drop.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
