Skip to main content

Art Blocks Engine integration

How to launch generative projects on the Verisart Shopify app using Art Blocks Engine

Updated this week

Art Blocks is incredibly selective, proceeding with only 2% of applications. You can apply directly to Art Blocks or request a referral from Verisart. Once confirmed, please get in touch with Verisart and we will ensure your contract is ready to use within Shopify.

‼️ Art Blocks V1 Contract Deprecated

Please note: the V1 contract is no longer in use. Everything below serves as the setup guide for the V2 contract going forward.

These instructions are for merchants and artists to help set up an artblocks.io drop on Verisart’s e-commerce integration for Shopify and WooCommerce.

This guide applies to artists with individual Art Blocks Engine contracts as well as galleries representing multiple artists under a single contract.

ℹ️ Please note

We require 3 business days notice to setup an Art Blocks contract

  • Secondary sale royalties should be configured as normal on ArtBlocks

  • This integration will only work for Art Blocks Engine contracts that you have admin rights to

  • It will NOT work for the original shared, flagship Art Blocks contract

  • You won’t be able to sell works on this contract on Art Blocks at the same time as our Shopify integration: this integration requires you to replace the minter contract (you can set it back later).

  • These instructions assume you already have a mainnet contract on Art Blocks. At the time of writing, only Art Blocks can provide you with a mainnet contract.

1. Project Setup by Artist on Art Blocks website

With the Core Contract provided by Art Blocks, the artist can configure their projects. These steps need to be done for each new project.

1a. Project Description: Go to the Project tab in your Art Blocks dashboard and enter a description for your project.

1b. Project Status:

  • Find the pause section. If the pause button says "Project is paused", click to un-pause.

1c. Base URI Configuration:

  • Find the Base URI setting

  • For mainnet, set it as https://token.artblocks.io/<CONTRACT_ADDRESS>/

  • For Sepolia set it as https://token.sepolia.artblocks.io/<CONTRACT_ADDRESS>/

    • Replace <CONTRACT_ADDRESS> with the Art Blocks core contract address

    • ⚠️ Ensure there is a trailing slash “/” at the end of the URI.

1d. Display Settings:

  • Primary Display Format: Set to Generator Live View.

  • Thumbnail Preview Format: Set to PNG.

1e. Final Check: Click the Explore possibilities button on your project's main page to verify setup. You should be able to see some example outputs.

📧 For custom settings, contact support@verisart.com.

Troubleshooting

  • Check If MinterFilter is set up correctly

Art Blocks Minter Filter Contracts

Please note

Minter Filter contracts are shared between Verisart Minter Contract V1 & V2, V1 is now DEPRECATED

Network

Address

Link

Mainnet

0xa2ccfE293bc2CDD78D8166a82D1e18cD2148122b

Sepolia testnet

0xa07f47c30C262adcC263A4D44595972c50e04db7

  • If not, go to core contract on etherscan call updateMinterContract() . _address is the MinterFilter contract address

2. Admin sets Minter to Core Contract

This step will change your core contract to use the Verisart Minter through Art Blocks MinterFilter contract so we can mint on projects created on your contract.

This step only needs to be completed once per contract.

2a. Go to the MinterFilter contract from last step on Etherscan. Go to Contract → Write Contract

2b. Call the approveMinterForContract() function. coreContract is your Art Blocks Core contract address, minter is Verisart Minter Contract (see table below)

Verisart Minter Contracts V2

Network

Address

Link

Mainnet

0xe568a81E58770518A9Fd88171FfEAC025f6cc985

Sepolia testnet

0xe568a81E58770518A9Fd88171FfEAC025f6cc985

2c. Call the setMinterForProject**()** function. projectId is your project Id, coreContract is your Art Blocks Core contract address, minter is Verisart Minter Contract (same one you used in last step)

3. (Optional) Enable Minting with HashSeed

ℹ️ This step can only be done by the Artist Wallet. You only need to do this when you need to use pre-assign token hash seeds for tokens based on your project.

🔥 Doing this will disable normal minting without HashSeed

3a. Go to the SharedRandomizer contract on Etherscan. Go to Contract → Write Contract

Art Blocks SharedRandomizer Contracts

Network

Address

Link

Mainnet

0x13178A7a8A1A9460dBE39f7eCcEbD91B31752b91

Sepolia testnet

0x28f2D3805652FB5d359486dFfb7D08320D403240

3b. Call the setHashSeedSetterContract() function. projectId is your project Id, coreContract is your Art Blocks Core contract address, minter is Verisart Minter Contract (same one you used in last step)

3c. Call the toggleProjectUseAssignedHashSeed() function. projectId is your project Id, coreContract is your Art Blocks Core contract address

4. Artist/Admin grants minting permission for Project

ℹ️ This approach is preferred because it specifies which project we are granting permission to, rather than giving broad permission to mint on the entire core contract.

You can grant permission to mint on a project by project basis using grantProjectPermission. This can be done either by the contract admin or by the artist who owns the project.

Find the address of your Shopify merchant minting wallet (not the secret phrase)

4a. Go to the Verisart Minter Contract

4b. Call the grantProjectPermission function. core is the Art Blocks core contract address, project is the project ID and to is the Shopify merchant minting wallet

5.(Optional) Admin gives Contract level permissions

❗ We always recommend the previous approach (project level), but if you're confident that you have authority over all the projects tied to the core contract, then this is the easier way to go.

If you are the admin of the contract, you can grant permission to mint on any future project. To do this use the grantContractPermission

This only needs to be done once per contract.

To add contract level permissions:

5a. Find the address of your Shopify merchant minting wallet (not the secret phrase)

5b. Go to the Verisart Minter Contract

5c. Call the grantContractPermission function. core is the Art Blocks contract address, to is the Shopify merchant minting wallet from step 3

6. Provide details to Verisart

  • Once Step 2 (3 if apply to the case) is completed please let Verisart know

  • Verisart will then set everything up for the merchant

7. Merchant sets up NFT drop

  • Once Verisart has set everything up, the merchant can set up an NFT drop as normal on Verisart

  • Note that secondary sale royalties can not be set on Verisart: just follow the standard Highlight process for setting royalties.

Verisart Minter Contracts V2

Network

Address

Link

Mainnet

0xe568a81E58770518A9Fd88171FfEAC025f6cc985

Sepolia testnet

0xe568a81E58770518A9Fd88171FfEAC025f6cc985

Did this answer your question?