How to instantly deploy, build, and manage your own NFT drop without relying on a 3rd party.

Skøgard
7 min readJun 13, 2022

Doing NFT collections completely on your own takes a lot of effort, and costs a lot of money, and it is very hard to “do it right”. You need to hire a solidity developer, deal with IPFS, and the deployment cost itself is very high (thousands of dollars).

What if I told you there is a way to do this without breaking a bank (about $30 ~ $50 to deploy a contract) and most importantly, WITHOUT relying on any 3rd party SaaS company?

Enter Factoria:

While almost everything — from the contract to the minting site generator to the JavaScript library to interact with the contract and IPFS — was open sourced, there was ONE thing that was not open sourced: The core web app.

Today, this changes.

As of today, the entire Factoria stack is 100% open sourced.

What’s interesting about this “full stack” is that there is no server. The entire stack exists as a static web app with no server component, which is what makes it powerful for anyone who wants to build their independent NFT collection empire without getting locked into a cloud based service provider.

Introducing Openfactoria.

OpenFactoria: The Full Stack Open Sourced NFT Vending Machine Factory, with Zero 3rd party

The entire Open Factoria web app was rewritten from scratch to fix a lot of the bugs from the old web app, as well as to make many things much more efficient.

The original factoria web app used vanilla Javascript to implement everything, but as the codebase grew, it became hard to manage. This was one of the reasons why the open source has been delayed until now, because even if it was open sourced, nobody would understand what’s going on in the code.

The Open Factoria system uses Svelte to simplify the codebase, and thanks to the reactivity, everything is snappy.

Let’s take a look at some of the highlights.

NFT.STORAGE Integration for IPFS

Openfactoria has adopted nft.storage. nft.storage is a pinning service built by ProtocolLabs (the creator of IPFS), and is great for NFTs because:

  1. Free: It’s 100% free without limits (for storing NFTs)
  2. Reliable performance: When nft.storage first launched, the performance was a bit choppy, but they have fixed most of the problems and improved performance. It’s very reliable.

Of course, you can use other IPFS pinning services like Pinata (The legacy Factoria app uses Pinata), and simply paste the folder CID to the factoria web app, but by default Openfactoria uses nft.storage.

Powerful Invite Management with NO 3rd party dependency

Openfactoria has a decentralized invite system built in, fully powered by IPFS and onchain merkle proof validation logic.

You can even name the lists, and edit the minting conditions over time easily.

You can even directly mint from the dashboard, and since this dashboard is completely public and transparent, anyone can visit this page and mint straight from the dashboard (Think “minting from etherscan”, but for NFTs)

And all of this, WITHOUT relying on a backend server!

Normally NFT invite lists are stored and managed offchain, and most NFT invite management services store the invites on their server (or if you roll your own infrastructure, you store them on your server). Because the whole philosophy of Openfactoria is openness and transparency, we can’t settle for this.

Openfactoria, since its main goal is to completely decentralize and not rely on any server, stores the invites on IPFS. By not relying on an invite system provided by a SaaS company or opaquely stored on your server, you can build, deploy, and manage your NFT collection entirely without getting locked into someone’s service. And because everything is IPFS, all the invites are 100% transparently tracked over time.

Instant Serverless Minting Page

You can choose from two options for launching your drop:

  1. Use the built-in Openfactoria minting page
  2. Use the instant minting page generator (Skinnerbox) to build your own minting page and publish to any serverless hosting service like vercel, netlify, github pages, etc.

1. The Built-in minting page

The built-in minting page is very minimal and gets the job done. Also, it links to the verified contract on Etherscan so your minters can trust your NFT drop is legit.

2. Generate your own custom minting page

You can also customize and generate your own minting page website and deploy to any hosting provider with one click, using the Skinnerbox factory.

See how easy it is to instantly customize, generate, download, and deploy your minting page to your own hosting provider:

Tip: Deploying your own minting page is recommended because the generated minting page caches all the IPFS assets when generating, which makes the minting page load lightningly fast (If you use the default minting page, there may be a slight delay in loading as it fetches various content from IPFS)

Manage Everything in One Place

The Openfactoria dashboard is a single page app where you can take care of everything about your NFT collection in one place:

  1. Collection information: configure the collection name, symbol, total supply, baseURI, placeholder, or completely freeze the collection forever by making it “permanent”.
  2. Gift: Gift tokens to people
  3. Invites: Super flexible invite system. Airdrop, Presale list, Public launch, you name it, you can build as many invite lists as you want and manage them all in one place. (With Openfactoria, it even introduces a new feature that lets you “edit” minting conditions for existing lists,
  4. Royalty: Set the EIP-2981 royalty standard on your collection. (note: you need to set it here, as well as on Opensea, since Opensea doesn’t yet support EIP-2981, although they do plan to support it soon).
  5. Revenue: Withdraw minting revenue, set the revenue beneficiary to another account, manage revenue splits.
  6. Transfer Ownership: Transfer your collection to another account if you need to.

100% Open Source

As the name says, Openfactoria is “Open”. It is licensed with MIT license. You can find the GitHub repository here:

This means:

  1. Fork and customize: You can fork Openfactoria and customize it for your own purpose and use it for yourself.
  2. Build Openfactoria into your own app: If you’re building various minting tools, you can fork and integrate Openfactoria into your workflow without having to write contract, manage IPFS uploads, and everything. The Factoria contract has taken care of all the complicated part such as gas optimization and decentralized invite list management. You can just take it and use it. (But read the factoria docs first, to understand how everything works!)
  3. Build together!: Feel free to contribute to the core Openfactoria repository by sending pull requests on GitHub.

Conclusion

Let’s summarize:

  1. Openfactoria lets you build and launch your NFT collection independently, without relying on a SaaS provider.
  2. Openfactoria is “Open”, completely open source. You can fork Openfactoria and customize it, integrate into your own NFT minting tools, or do whatever you want with it.
  3. Openfactoria has no server. Everything works in the browser serverlessly. This makes everything super simple to port. You don’t need to spin up a digitalocean server or anything to roll your own Openfactoria, you simply need to fork Openfactoria on GitHub!

Remember that Openfactoria is currently in beta so make sure to test everything on Testnet before launching your collections on Mainnet (and if you find some quirks, please report to me and they will be fixed!) Eventually the main factoria website will be replaced with openfactoria as well, after the beta period is over.

Here are some of the resources to get you started:

  1. Openfactoria web app: https://open.factoria.app
  2. Openfactoria GitHub: https://github.com/factoria-org/openfactoria
  3. Twitter: https://twitter.com/skogard
  4. Discord: https://discord.gg/BZtp5F6QQM
  5. Documentation: https://docs.factoria.app/#/ (This was written for the legacy Factoria app but most of the explanation still relevant since the protocol is exactly the same, and Openfactoria is simply a new interface on top of the protocol)

--

--