Skip to main content
All CollectionsCreate and sell NFTsSell NFTs on Shopify
Accessing NFT secondary sale royalties
Accessing NFT secondary sale royalties

Instructions on how to access and recover royalties from secondary sales of your NFTs sold on the Verisart Shopify or WooCommerce apps.

Updated over a week ago

In the Verisart Shopify/WooCommerce app you can configure royalties for your NFT sales as described here.

If your royalty settings only have 1 recipient then royalties behave as follows:

  • Royalties are sent directly to the royalty wallet

  • The royalties will arrive immediately in the wallet once marketplaces complete a secondary sale (depending on the behaviour of the marketplace)

  • No further action is required

However, if your royalty setting has more than 1 recipient then it works like this:

  • Royalties are sent to a special Payment Splitter contract

  • This contract gets automatically created for you when you create the royalty in the Verisart app

  • These contracts use the popular OpenZeppelin Payment Splitter

  • The payment splitter's address is used in royalty payments

  • When a royalty is sent to this contract, it is not automatically sent to the payees in the split

  • You need to make an on-chain transaction to recover your part of the share. Please see below.

How to tell if the royalty address is using a Payment Splitter contract

  1. Go to the Settings page in the Verisart app on Shopify/WooCommerce

  2. Under Royalties click the Manage link

  3. Expand each entry. If there is more than 1 recipient it is a splitter contract:

How to tell how much is in a Payment Splitter Contract

  1. Go to Settings in your app, Royalties, Manage

  2. Click the link on your contract to take you to the page on etherscan

  3. The Overview section will show you how much is stored

  4. The ETH BALANCE is the amount of native crypto stored

  5. Note that the contract may also store other ERC-20 assets (for example Wrapped ETH). This will appear under TOKEN HOLDINGS. Non native tokens requires a different mechanism to recover (see below).

How to withdraw crypto from a Payment Splitter Contract

  1. Go to Settings in your app, Royalties, Manage

  2. Click the link on your contract to take you to the page on etherscan

  3. Click the Contract tab

  4. Click Read Contract

  5. Go to 2. releasable

  6. Paste in your wallet address and click Query

  7. The number below will show you the amount of WEI that wallet is owed. You can use https://www.alchemy.com/gwei-calculator to see how much ETH this would be

  8. If there is 0 for the amount then there is no amount to be released. Do not proceed or you will waste gas.

  9. When you're ready to recover your part, click Write Contract

  10. Click Write Contract then Connect to Web3

  11. Connect your wallet as normal

  12. Go to 1. release

  13. Paste in your wallet address

  14. Click Write

This will start a transaction to recover all your share of the funds from the contract.

  • Note that any wallet can start the process of recovery for any other member of the payment splitter. So for example, I could use my wallet X and recover the payment split for wallets Y and Z. I won't get the money of course: it will be sent to Y and Z.

  • If you want to find out who is in the split use the payee read function with 0, 1, 2, 3 etc to find all the payees and how much their split is.

If you don't see the Contract tab then this may mean this was a single recipient royalty. In that case, this address is probably a regular wallet and no further action is required.

How to recover other ERC20 funds from a payment splitter

If the contract has some other ERC20 funds you will see something like this in Etherscan under TOKEN HOLDINGS.

In this example, this contract has some wrapped ETH. To recover this:

  1. Find the token contract in Etherscan by clicking in the section on the TOKEN HOLDINGS

  2. It should show the token contract on the token page

  3. Return to the payment splitter contract

  4. Go to Contract, Read Contract

  5. Go to 3. releasable

  6. Under token paste the token contract

  7. Under account paste your wallet address

  8. Click Query

  9. The number below will show you the amount of WEI that wallet is owed. You can use https://www.alchemy.com/gwei-calculator to see how much ETH this would be

  10. If there is 0 for the amount then either you have pasted wrong values or there is no payment split available. Do not proceed or you will waste gas.

  11. Click Write Contract then Connect to Web3

  12. Connect your wallet as normal

  13. Go to 2. release

  14. Under token paste the token contract

  15. Under account paste your wallet address

  16. Click Write

FAQs

  • Do these royalties get used for the primary sale on Shopify/WooCommerce? No. These royalty settings are only for secondary sales - sales on other platforms like OpenSea or Rarible. If you want to split payment on the primary sale you will need to manage this yourself.

  • Why do royalties with payment splitters work differently when there is more than one recipient? For maximum compatibility, we support the ERC-2981 standard for NFT royalties. Unfortunately, this standard only supports paying out to a single address. So, if more than one split is required, we need to use a payment splitter.

  • Why doesn't the royalty get sent straight to the split wallets when received? This is for security reasons. It's considered safer to have a pull model when sending crypto to a contract. Read more here.

Did this answer your question?