# About buildship.xyz

## Launch your NFT community without code

[Buildship app](https://app.buildship.xyz) helps you create your NFT contract on Ethereum, upload your art to IPFS, manage allowlists/presale, and build a minting page. Do it without code and pay 10x less in gas fees. Get the most secure & optimized contract — ERC721A by the Azuki community.

{% embed url="<https://www.youtube.com/watch?v=AgBw1sv1TBA>" %}
Buildship app video tutorial
{% endembed %}

[<br>](https://survey.typeform.com/to/GLBu7oZY)


# Apply for unlimited fundraise

You need to apply if you plan to raise more than **500 ETH** (currently \~$800,000) from your NFT community. You [can launch straight away](https://app.buildship.xyz) if you're raising less.

{% embed url="<https://buildship.xyz/apply>" %}


# How to create an ERC721A NFT contract without code

a.k.a. How to launch your NFT community without code

You can [use Buildship app](https://app.buildship.xyz) to create the best ERC721 contract for your NFT community.&#x20;

While costing 10x less in gas fees, Buildship will help you test & create your contract, upload your art to IPFS, manage allowlists/premints, and build a minting page, all without code.

{% embed url="<https://www.youtube.com/watch?v=AgBw1sv1TBA>" %}
Buildship app video tutorial
{% endembed %}

If you're raising less than **500 ETH (currently \~800,000$),** you can launch straight away. If you want to raise more, you need to [apply for early access](/apply-to-closed-alpha) to get your **Early Access NFT.**

### Pricing

Buildship charges **5% of minting funds** (no secondary royalties). If you're doing a free mint or raising less than **4 ETH**, you'll be charged a **0.1 ETH** one-time deployment fee.


# How to build an NFT minting website on Webflow without code

a.k.a how to mint NFTs on Webflow or how to connect Metamask to Webflow

This article helps to set up a no-code widget that allows minting NFTs on your **Webflow** website.&#x20;

{% hint style="info" %}
Wix, WordPress, and Squarespace are also supported. [Click to read Wix guide.](/how-to-guides/wix-nft-minting-website) Instructions for others coming soon, meanwhile, [ask in our Discord](https://discord.com/invite/dRg2tGqfhE)
{% endhint %}

{% embed url="<https://www.youtube.com/watch?v=4MMylTzzwAg>" %}
Video guide on using Buildship mint button
{% endembed %}

### TL;DR

* [ ] Open your Webflow website and subscribe to the **Basic** site plan
* [ ] Add a button with id = `mint-button`
* [ ] Create an "Embedded HTML code" block in Webflow
* [ ] Paste [code snippet](#how-to-use) to the block
* [ ] Update code snippet with your contract address (see below)

You can also [clone one of our free Webflow minting templates](https://webflow.com/theshadeth) and use as an example

### Starting out

* You need an Ethereum NFT smart contract. [Create it using Buildship](https://app.buildship.xyz), or test with an [example contract](https://github.com/buildship-dev/webflow-nft-components#example-for-testing).

{% hint style="success" %}
**ERC721Community** contract by [buildship.xyz](https://buildship.xyz) is used by **280+** collections with **1500ETH+** in total volume. It uses ERC721A, and has **40-100% lower** minting gas fees, costs **\~10-20$ in gas to deploy**, bullet-proof security, and extensions like allowlists, funds/royalty splits, mint passes, etc.
{% endhint %}

* Make sure your contract has `price` and `mint` constants. The possible namings are: `mint`, `buy` or `mintXXX`; `price` or `cost`.
* Your Webflow website is at least on a **Basic** site plan (required to add custom code blocks)

### How to use?

1. Open Webflow website editor
2. Create a new [Embedded HTML code](https://university.webflow.com/lesson/custom-code-embed) block (at least **Basic** site plan required)
3. Copy & paste this code in Webflow Embed block

```html
<script>
   CONTRACT_ADDRESS = "YOUR CONTRACT ADDRESS HERE"
   IS_TESTNET = false
   // place to put CONTRACT_ABI = [{...}]
</script>
<script src="https://nftcomponents.vercel.app/static/js/main.js"></script>
<link href="https://nftcomponents.vercel.app/static/css/main.css" rel="stylesheet">
```

&#x20; 4\. If you **have your Ethereum NFT contract**

* [ ] insert your contract address in `CONTRACT_ADDRESS` field
* [ ] set `IS_TESTNET` to `false` or `true` depending on which network is the contract on: `Ethereum Mainnet` or `Goerli Testnet`.

If you **don't have a contract**, [create it using Buildship](https://app.buildship.xyz) without coding skills

> Your contract should be [verified](https://etherscan.io/verifyContract) on [Etherscan](https://etherscan.io). Otherwise you have to add `CONTRACT_ABI = [{...}]` line in the above code, with your full contract ABI inserted. If you have an error saying your ABI is too long, [click here](https://github.com/buildship-dev/webflow-nft-components/issues/22#issuecomment-1042708174).

&#x20; 5\. Create a button with ID `mint-button` on your Webflow site

If you can't set an ID, you can set a button URL as `#mint-button` or `https://<your-website-url>/#mint-button`

&#x20; 6\. You're done 🎉

#### Example for testing

```html
<script>
   CONTRACT_ADDRESS = "0xb1db0dbad7a14370872a7e5327c8ad7c9951a661"
   IS_TESTNET = true
</script>
<script src="https://nftcomponents.vercel.app/static/js/main.js"></script>
<link href="https://nftcomponents.vercel.app/static/css/main.css" rel="stylesheet">
```

### FAQ

#### I'm confused / it's not working, can you help me?

Yes, absolutely! You can [contact us in Discord](http://buildship.xyz), or open a [GitHub issue](https://github.com/buildship-dev/webflow-nft-components/issues/new)

#### How to add "Connect wallet" button?

Mint button will ask to connect wallet, so it's not necessary to add a "Connect wallet" button.

If you still want to do it, create a Webflow button with ID `connect`.

#### How to add a custom minted counter?

Just create two text elements and assign them:

* `minted-counter` ID to display minted number
* `total-counter` ID to display collection size

#### How to use this with Polygon, Binance, or other Ethereum-based networks?

It's easy! Set `NETWORK_ID` instead of `IS_TESTNET` in the code snippet

```html
<script>
   CONTRACT_ADDRESS = "YOUR CONTRACT ADDRESS HERE"
   NETWORK_ID = 1
   // remove IS_TESTNET line
   ...
</script>
<script ...>
<link ...>
```

Some of the network IDs you might use:

* Ethereum Mainnet: `NETWORK_ID = 1`
* Ethereum Rinkeby Testnet: `NETWORK_ID = 4`
* Polygon: `NETWORK_ID = 137`
* Binance: `NETWORK_ID = 56`
* For other IDs visit [Chainlist](https://chainlist.org)

#### How to style minting dialog?

[See the example here](https://github.com/buildship-dev/webflow-nft-components/wiki/Mint-button-widget#how-to-style-minting-dialog)

#### How to hide minted counter from the dialog?

You need to set `DEFAULTS.hideCounter` to `true`

```html
<script>
   CONTRACT_ADDRESS = "YOUR CONTRACT ADDRESS HERE"
   NETWORK_ID = 1
   DEFAULTS = {
       hideCounter: true
   }
   ...
</script>
<script ...>
<link ...>
```


# How to build an NFT minting website on Wix without code

a.k.a how to mint NFTs on Wix or how to connect Metamask to Wix

This article helps to set up a no-code widget that allows minting NFTs on your **Wix** website.&#x20;

{% hint style="info" %}
Webflow, WordPress, and Squarespace are also supported. [Click to read Webflow guide](/how-to-guides/using-webflow-widget). For others, instructions are coming soon, meanwhile, [ask in our Discord](https://discord.com/invite/dRg2tGqfhE)
{% endhint %}

### TL;DR

* [ ] Create/open your Wix website
* [ ] Go to Settings -> Advanced -> Custom code, click "**+Add custom code**" (at least "Connect Domain" Wix subscription required)
* [ ] Paste Buildship [code snippet](#how-to-use) to the block, under "Place Code in" select **"Body - end"**&#x20;
* [ ] Update code snippet with your contract address [(see below)](#how-to-use)
* [ ] Add a button with URL: `https://your-minting-website.xyz/#mint-button`

### Starting out

* You need an Ethereum NFT smart contract. [Create it using Buildship](https://app.buildship.xyz), or test with an [example contract](https://github.com/buildship-dev/webflow-nft-components#example-for-testing).

{% hint style="success" %}
**ERC721Community** contract by [buildship.xyz](https://buildship.xyz) is used by **280+** collections with **1500ETH+** in total volume. It uses ERC721A, and has **40-100% lower** minting gas fees, costs **\~10-20$ in gas to deploy**, bullet-proof security, and extensions like allowlists, funds/royalty splits, mint passes, etc.
{% endhint %}

* Make sure your contract has `price` and `mint` constants. The possible namings are: `mint`, `buy` or `mintXXX`; `price` or `cost`.
* Your Wix website is at least on a **Connect Domain** site plan (required to add custom code)

### How to use?

1. Open Wix website editor
2. Go to your Wix Dashboard by clicking on Wix logo. Then open Settings -> Advanced -> Custom code, and click on "**+ Add custom code**" button

![Dashboard Settings -> Advanced -> Custom code](/files/MvAZQhA4fjAeY6XaYLD0)

&#x20; 3\. Copy & paste this code in the Wix window, and select the **"Body - end"** option under **"Place Code in".**

**Don't close the code window, we'll still need it in Step 4.**

```html
<script>
   CONTRACT_ADDRESS = "YOUR CONTRACT ADDRESS HERE"
   IS_TESTNET = false
   // if your contract is NOT VERIFIED on Etherscan
   // put here: CONTRACT_ABI = [{...}]
   // don't do anything if unsure
</script>
<script src="https://nftcomponents.vercel.app/static/js/main.js"></script>
<link href="https://nftcomponents.vercel.app/static/css/main.css" rel="stylesheet">
```

&#x20; 4\. If you **have your Ethereum NFT contract**

* [ ] insert your contract address in `CONTRACT_ADDRESS` field
* [ ] set `IS_TESTNET` to `false` or `true` depending on which network is the contract on: `Ethereum Mainnet` or `Goerli Testnet`.

If you **don't have a contract**, [create it using Buildship](https://app.buildship.xyz) without coding skills

> Your contract should be [verified](https://etherscan.io/verifyContract) on [Etherscan](https://etherscan.io). Otherwise you have to add `CONTRACT_ABI = [{...}]` line in the above code, with your full contract ABI inserted. If you have an error saying your ABI is too long, [click here](https://github.com/buildship-dev/webflow-nft-components/issues/22#issuecomment-1042708174).

&#x20; 5\. Create a Wix button and insert your minting page link ending with `/#mint-button`.&#x20;

Example: `https://your-minting-website.xyz/#mint-button`

Then set the **"How does it open?"** option to **"Current window"**.

<div align="left"><img src="/files/Nj1VnT1OIv8taQofJzKM" alt="Creating a button in Wix editor"></div>

![My minting page URL is https://theshad.wixsite.com/minting-website, so look](/files/knZpy353cpSYtrdNGLmF)

&#x20; 6\. Publish the changes, and you're done 🎉

#### Example for testing

```html
<script>
   CONTRACT_ADDRESS = "0xb1db0dbad7a14370872a7e5327c8ad7c9951a661"
   IS_TESTNET = true
</script>
<script src="https://nftcomponents.vercel.app/static/js/main.js"></script>
<link href="https://nftcomponents.vercel.app/static/css/main.css" rel="stylesheet">
```

### FAQ

#### I'm confused / it's not working, can you help me?

Yes, absolutely! You can [contact us in Discord](http://buildship.xyz), or open a [GitHub issue](https://github.com/buildship-dev/webflow-nft-components/issues/new)

#### How to use this with Polygon, Binance, or other Ethereum-based networks?

It's easy! Set `NETWORK_ID` instead of `IS_TESTNET` in the code snippet

```html
<script>
   CONTRACT_ADDRESS = "YOUR CONTRACT ADDRESS HERE"
   NETWORK_ID = 1
   // remove IS_TESTNET line
   ...
</script>
<script ...>
<link ...>
```

Some of the network IDs you might use:

* Ethereum Mainnet: `NETWORK_ID = 1`
* Ethereum Rinkeby Testnet: `NETWORK_ID = 4`
* Polygon: `NETWORK_ID = 137`
* Binance: `NETWORK_ID = 56`
* For other IDs visit [Chainlist](https://chainlist.org)

#### How to style minting dialog?

[See the example here](https://github.com/buildship-dev/webflow-nft-components/wiki/Mint-button-widget#how-to-style-minting-dialog)

#### How to hide minted counter from the dialog?

You need to set `DEFAULTS.hideCounter` to `true`

```html
<script>
   CONTRACT_ADDRESS = "YOUR CONTRACT ADDRESS HERE"
   NETWORK_ID = 1
   DEFAULTS = {
       hideCounter: true
   }
   ...
</script>
<script ...>
<link ...>
```


# What is NFTFactory?

Deploy feature-rich NFT contracts 10x cheaper to Ethereum

**MetaverseNFTFactory** is an amazing tool by [buildship.xyz](https://buildship.xyz) that allows you to deploy your NFT contract to Ethereum 10x cheaper.

{% hint style="info" %}
Create your NFT drop contract without code on [app.buildship.xyz](https://app.buildship.xyz) (using MetaverseNFTFactory)
{% endhint %}

### True ownership with your own contract

You need your own contract for your NFT collection if you want:

* independence of centralized NFT marketplaces like OpenSea, Rarible
* support secondaries on all major NFT marketplaces: OpenSea, LooksRare, Rarible
* decentralized art storage like IPFS
* minting on your own website
* custom primary & secondary sales splits
* custom features: presale lists, mint passes, on-chain art, staking, vesting, etc.
* unique ASCII artist signature

Usually, your own contract requires coding or hiring your own developers, and costs \~**0.5 ETH** to deploy. Also, it might contain security issues that will lead to unrecoverable loss of funds or blocking bugs.&#x20;

That's why we built our MetaverseNFT contract that already helped creators raise more than **1500ETH (\~4.8M$)** without any security issues.

### Super-cheap deployment gas fees

Factory cuts down contract deployment cost to **0.02-0.04 ETH** (**\~60-100$**) instead of and lets you launch large NFT collections (e.g. PFP drops) with minting on your own website.

### 40% lower minting gas fees

We've been able to reduce minting gas fees by using **ERC721** instead of **ERC721Enumerable** standard

`Disclaimer for pros: most of the users don't need Enumerable specific methods. But for those who need methods like`` `**`walletOfOwner()`**`, you can use free Moralis API for fetching the same data`

### Gas-free OpenSea secondary listings

Before listing on sale on any marketplace, every user needs to pay a huge gas fee (**100$+**) to **approve the marketplace** to transfer the NFTs from the users' wallet in case of a successful sale.&#x20;

With Buildship's **MetaverseNFT** contract, users will just list their NFTs for free on OpenSea, which might drive up your floor price & secondary sales volume.

### Feature-rich with extensions

Even more, Factory architecture allows everyone to build & connect Extensions with additional functionality: batch mint, presale, mint pass, on-chain art, dutch auction, delayed claim etc.

[See examples on GitHub here](https://github.com/buildship-dev/nft-contracts/tree/main/contracts/factory/extensions)


# Communities We Don't Approve

buildship.xyz is very strict on quality of approved communities.

*While our app is open for every community, you can raise more than 500 ETH only if you have an Early Access Pass NFT.*

We **don't** launch communities that:

* have no doxxed team
* have a roadmap without guarantees and specific promises
* founders don't buy any NFT themselves
* that's their first project in web3

### DOXXED

Being doxxed doesn't always help, but NOT being doxxed is a 🟥 🟥 🟥.

There are great pseudonymous creators, which is not the same as anonymous.

### ROADMAP

Our mantra is: underpromise, overdeliver.

Roadmap is when you have plans for the next five years without any clear understanding how much it takes to execute

This includes even charity projects that raise money "to help penguins or Ukraine" etc!

### OWNING NFT

Usually people who want instant sell out are the ones who don't understand why users buy NFT.

If you don't own any, how can you create something that others would?

We don't sell FOMO. We sell digital **goods.**

### FIRST PROJECT

Launching a first project in web3 is best indicator yet of launching a rug pull. Crypto is an amazing tool to raise a lot of money because of

People see "success stories" and want to take part, so they apply their web2 mindset and "launch an ad campaign to generate traffic to our NFT minting website".

*No. ETH is for community, hackers and art.*

Since last August, I have closely interacted with at least 50 launched collections. There is a luck factor, of course. But mostly success is predetermined by being a type of person who gives first before asking, and who sets goals and executes them consistently.

### One last thing

Will you recommend your friend to mint it? Did you find five close friends who will?

### Recap

In the end, it all comes down to:

I am not gonna sell FOMO. I am not gonna sell FOMO. I am not gonna sell FOMO. I am not gonna sell FOMO. I am not gonna sell FOMO. I am not gonna sell FOMO.

{% embed url="<https://video.twimg.com/tweet_video/FQsNvrWakAIzS0l.mp4>" %}

Read more:

{% embed url="<https://buildship.xyz/community>" %}


# Community Guidelines

## Community Protection Guidelines

In order to onboard **1 million creators** to web3 we drastically lowered the barrier to launch NFTs with your own contract.

However, we must protect web3 community reputation & funds by **avoiding rug pulls and scam NFT projects**.

💔 We reserve the right to stop supporting your NFT launch if we detect that you’re planning a rug pull, even if we said “Yes” before.

### ⁉️ What is a rug pull?

A rug pull is a project where founders don’t deliver on the promises after raising the funds. Simply saying, they promised a lot, took a lot of money and disappeared. One of the worst signs is when Discord & Twitter are deleted right after minting.

## 🤝 Our safety requirements

#### 👋 Use your real name or social profile links

Don’t worry about using your real name or your social media pseudonym (with links) if you’re doing something legit. We don’t launch anonymous projects with no social media links since it’s a probable rug pull. We may do exceptions when the founders plans to reveals the identity after 2-3 days after launch.

#### 🐵 Don’t overpromise to make more money

If you want to launch a simple or even a joke PFP project without a roadmap, be upfront about it. This lets users know what they are buying and doesn’t create false expectations. Don’t try to trick-sell by promising undeliverables like treasuries, DAOs, games, fungible $TOKENS with staking, etc., if you don’t plan to genuinely deliver those. We won’t launch projects with a roadmap where you don’t seem to know what you’re talking about.

#### 🐦 Never delete your Discord or Twitter after launch

Keeping a Discord or Twitter is free! Even if you didn’t sell out or want to step away from the project, don’t delete the only way for your community to communicate with each other.

There were plenty of cases when the community organized itself and resurrected the project even after founders disappeared. If you still end up deleting everything, you won’t be allowed to launch with Buildship anymore.

#### 💸 Don’t use NFTs as an easy money-making scheme

NFT collections are the perfect ways to:

✅ make a collectible art or joke with no promises

✅ add monetizable ownership of objects to your game

✅ raise money from your community to build something, e.g. a game

✅ create an exclusive pass for members

✅ create a DAO for existing community

✅ unite people around a new character universe

Don’t use them just to make a lot of money on fake promises.

#### 👪 Don’t do spam DMs or buy fake followers

Have a real community or at least a community-building idea! Don’t do spam DMs in Discord or buy fake Twitter followers to look like you have a community.

If we detect you doing that, you won’t be able to launch this collection with us. However, we’d be glad to hear from you when you launch your next collection with a small, but active & growing community 📈 ☀️

## ✉️ How to report a rug pull to Buildship?

If you detect a rug pull launched using Buildship smart-contract, you can contact us in [Discord](http://discord.gg/MMzNbT9qCv), or by email: <dan@buildship.dev>

## 🌈 How will you enforce these rules?

We believe that we don’t have enough moral or time to decide on all rug pulls reports. That’s why these rules will be enforced in a fully on-chain & decentralised way. The decision will be made by the project’s community DAO or Buildship DAO consisting of trusted community members.

Creators will still own the contract, and if no rug pull happened within the first 7 days, they can easily withdraw the funds. If the rug pull happened, the DAO can vote to allow claiming the money back from the NFT smart-contract.

More on that here 👇

<https://twitter.com/caffeinum/status/1481891729213202433>

## 🤓 More Reading

<https://twitter.com/ohhshiny/status/1490733645832732672>


# How to refresh NFT metadata on OpenSea?

1. Open the NFT's page on OpenSea. You can find your NFTs at <https://opensea.io/account>
2. Press on "Refresh metadata" in the top right corner, and refresh the page. Repeat several times until the NFT "reveals" (metadata refreshes)

![My NFT's OpenSea page](/files/ITiTbmoc1jjgZroHsset)


# How to call contract methods via Etherscan?

1. Connect wallet via `Connect to Web3` button
2. Choose Metamask or WalletConnect (supports most mobile wallets)
3. Input method parameters and press Write
4. Confirm transaction in your wallet
5. You can see the status of the transaction in Etherscan!


# How to use IPFS Desktop

## How to use IPFS Desktop

## Hiya!

Uploading gigantic folders and files to IPFS sometimes could be tricky! But we are going to make it. I tried to write complete instructions on how to do this. But feel free to ask if something isn't going according to plan. 😉

### IPFS Desktop

1. First thing we need to do is to install [IPFS Desktop client](https://docs.ipfs.io/install/ipfs-desktop/#install-instructions). Follow the link and choose your option.
2. Open your IPFS Desktop and wait a bit until it loads.

### Configurations

1. By default IPFS protects you from memory clogging. But it also prevents us from uploading large files! On sidebar on the left go to `SETTINGS` tab.

![https://user-images.githubusercontent.com/33105890/154506592-19594304-3c34-4e41-949d-2859a6d4cac0.png](https://user-images.githubusercontent.com/33105890/154506592-19594304-3c34-4e41-949d-2859a6d4cac0.png)

1. Scroll down to `IPFS CONFIG` section

![https://user-images.githubusercontent.com/33105890/154507662-afc0c937-3230-473d-b467-eb991ee67030.png](https://user-images.githubusercontent.com/33105890/154507662-afc0c937-3230-473d-b467-eb991ee67030.png)

1. Set `"GCPeriod"` to `"10h"` (it should be `"1h"` by default)

![https://user-images.githubusercontent.com/33105890/154508482-c9c268e0-0b08-4cf8-aebc-8bc6d1249bcf.png](https://user-images.githubusercontent.com/33105890/154508482-c9c268e0-0b08-4cf8-aebc-8bc6d1249bcf.png)

1. Set `"StorageGCWatermark"` to 99. And set `"StorageMax"` to your content size + 15GB (e.g. if your folder size is 50GB set `"StorageMax"` to `"65GB"`)

![https://user-images.githubusercontent.com/33105890/154508801-0df387b1-169d-4b29-ab75-6408ad1141cb.png](https://user-images.githubusercontent.com/33105890/154508801-0df387b1-169d-4b29-ab75-6408ad1141cb.png)

1. Go up to `IPFS CONFIG` section and hit `Save`

![https://user-images.githubusercontent.com/33105890/154509205-e5ccb3e6-2345-4708-8885-fc937ec8128c.png](https://user-images.githubusercontent.com/33105890/154509205-e5ccb3e6-2345-4708-8885-fc937ec8128c.png)

1. Yep! Restart your IPFS app. Just close and open it again 😄

That was the hardest part! Let's start uploading 😜

### Uploading

1. Go to `FILES` tab on your sidebar.

![https://user-images.githubusercontent.com/33105890/154509872-e8ad006f-a21a-4e64-b796-3d45052f57ee.png](https://user-images.githubusercontent.com/33105890/154509872-e8ad006f-a21a-4e64-b796-3d45052f57ee.png)

1. Click `+Import` button and select your folder.

![https://user-images.githubusercontent.com/33105890/154510047-bac65fe0-8b7d-426c-bf22-b3f34b33d097.png](https://user-images.githubusercontent.com/33105890/154510047-bac65fe0-8b7d-426c-bf22-b3f34b33d097.png)

1. Wait a bit and you should see folder on your screen. Click on three dots on the right and select `Set pinning`.

![https://user-images.githubusercontent.com/33105890/154511227-3df170c5-11eb-456a-b59a-2e6665d87ee2.png](https://user-images.githubusercontent.com/33105890/154511227-3df170c5-11eb-456a-b59a-2e6665d87ee2.png)

1. Select `Local node` and `Apply`

![https://user-images.githubusercontent.com/33105890/154511608-166c33cb-37dc-43a0-bd2a-15da80aa6d06.png](https://user-images.githubusercontent.com/33105890/154511608-166c33cb-37dc-43a0-bd2a-15da80aa6d06.png)

1. Click on three dots again and copy your CID.

![https://user-images.githubusercontent.com/33105890/154512085-00a0f739-c6fa-4d23-8b20-b17f0cd10aed.png](https://user-images.githubusercontent.com/33105890/154512085-00a0f739-c6fa-4d23-8b20-b17f0cd10aed.png)

1. Send your CID to us!

This is it! Now it's time for us to retrieve your content from your node! It's like a torrenting. So please don't close your IPFS Desktop app until we upload all your files (we'll pin it to the IPFS network - so when you disconnect, the files will still be available). We'll let you know when it's over. 😊


# Web3 SDK

## Web3 SDK

it's a open-source React UI Kit that allows anyone to build web3 apps without prior web3 knowledge.

## Motivation

The premise is that on a top level, developer doesn't need to know about gas, transactions, smart-contract – we can have good defaults that work for any wallet and that provide good UI/UX and feedback.

Developer's job is building UI in React, web3-sdk handles all the rest. Developer only decides which data to take from inputs, which transactions to create on each button click – and every blockchain detail is handled by us; or presented to end user to decide.

## Implementation

As input, the SDK receives only the list of smart-contract addresses used in the app ; and a few API keys: Etherscan, Infura, Alchemy (optional), Onboard.js, Buildship (later when we're bigger).

On build step, the ABIs are fetched from etherscan or from our backend (see this endpoint used in widget <https://metadata.buildship.dev/api/info/0xFdf7BA4Edcb8F3F666239EBdA387506B3c598BD5?network_id=1> ).

## Drafts

<https://github.com/caffeinum/web3-ui><https://github.com/buildship-dev/web3-login>

## Reference

<https://github.com/thirdweb-dev/react>

## Roadmap

* make it work!
* gather some developer feedback;
* move from onboard.js to wagmi;
* use hooks everywhere;
* web3-login vs. web3-ui React component lib;
* implement build step thing so abstract away "smart-contracts" for the developer;
* transaction handling (popups, see pending txs, retry, re-fetch tx status);
* allow using [thegraph.com](http://thegraph.com) or our backend to make blockchain read requests faster (cache and combine multiple into one);
* non-React integrations: e.g. phaser.js;
* ENS support, NFT avatar support;
* all the fun stuff.


# Mint button on Webflow

Open-source drop-in Webflow widget

## Webflow widget

<https://github.com/buildship-dev/webflow-nft-components>

## Motivation

Check out the google search results for "connect metamask with webflow". It's a SEO goldmine – many people want it, but there's no good solution.

e.g. see this discussion (<https://webflow.com/website/NFT-store-website-with-minting-and-Metamask-connection>)

The possibilities are endless, not only NFT mints, but also DEX interfaces, lending platforms, prediction markets, basically anything from web3 sdk, but even easier to launch.

For v3 or v4, I have even envisioned a Excel-style reactive builder for data logic – you have a list of inputs on the left side, and then you can "code" data processing algos that output values into the interface. I can see even how you can build Uniswap DEX using this type of no-code builder.

## Implementation

The widget is a React-based drop-in, users paste and tag and have it connected to their UI.

In Webflow, they have to configure specific ID on the buttons or text output .

They also have some basic availability for styling or custom options. See this piece of README (<https://github.com/buildship-dev/webflow-nft-components/wiki/Mint-button-widget#how-to-style-minting-dialog>)

## Roadmap

* fixing bugs with different wallets (e.g. Metamask, slow estimateGas);
* adding MintPass options (pick NFT to mint);
* token-gated content.


# app.buildship.xyz

Self serve no-code NFT collection launcher + custom extensions

## Self-serve no-code NFT launcher

Demo: [https://unreleased-app.buildship.xyz/](https://unreleased-app.buildship.xyz)

It's closed-source right now; and most probably will be closed.

## Motivation

Users don't know anything about smart-contracts; The only "no-code" alternative is [https://wizard.openzeppelin.com/](https://wizard.openzeppelin.com) + [https://remix.ethereum.org/](https://remix.ethereum.org), which is good enough, but still requires you to suffer a lot. Even me struggles deploying like this.

## Implementation

It's a React dApp, closed-access.

Features:

* deploy NFT smart-contract cheaply to rinkeby or mainnet (+ auto verify on Etherscan);
* upload art to IPFS;
* generate metadata;
* guides to integrate widget into Webflow;
* connect extensions (extension store will come here later).

## Roadmap

* deploy Presale list from CSV (also parse ENS domains);
* adding small features like Opensea royalty config;
* Extension Store – most probably developers of extensions should use web3-sdk and have buildship.json in their repo, which we gonna parse and output extension metadata on this "extensions config" page.


# Metaverse NFT Factory v3

v3 version for Factory should be the state-of-the-art optimized smart-contract, also featuring long-requested updates as:

* ERC721A cheap mints
* Optional unlimited total supply
* Mint by token ID
* Lazy mint: signed and IPFS-stored but unminted NFTs
* OpenZeppelin / Biconomy Relayer (gasless mint <https://portal.thirdweb.com/guides/create-gasless-nft-drop>)
* Refunds/Vesting


