Skip to main content

Getting Started

This page aims to help you get started with Candy Machines by listing all relevant SDKs and libraries that interact with them.


SDKs are the most developer-friendly way to interact with Metaplex programs. They provide layers of abstractions that match the mental model of this documentation. On top of that, they offer various helper modules and can be extended via plugins.

JavaScript SDK

If you are developing for the web or using Node.js, then our JavaScript SDK is a great way to interact with Metaplex programs. You can read more about it here.

Once the JS SDK installed, you can access its Candy Machine module via metaplex.candyMachines(). It is composed of several methods that focus on real use-cases to make our life easier. Here are some of them.


Note that the rest of this documentation will provide code examples using this JavaScript SDK.

🔗 Helpful Links:

Swift SDK

Coming soon.

Kotlin SDK

Coming soon.

Program Libraries

Program Libraries are auto-generated from the Program’s IDL using Solita. Whilst they require you to understand Solana programs and wire your own instructions, they have the advantage of immediately using the latest features when SDKs might take a bit longer to implement them.

Note that Candy Machine is composed of the following two programs which means you will need one library for each of them.

  • Candy Machine Core: The main program that allows managing Candy Machines and minting without guards.
  • Candy Guard: The default Candy Guard program that ships with a large selection of guards to chose from.

JavaScript Program Libraries

Swift Program Libraries

Coming soon.

Kotlin Program Libraries

Coming soon.

Rust Crates

If you are developing in Rust, you can also use the Rust crates to interact with Metaplex’s programs. Since our programs are written in Rust, theses crates should contain everything you need to parse accounts and build instructions.

This can be helpful when developing Rust clients but also when making CPI calls to Metaplex programs within your own program.