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
Go to the Settings page in the Verisart app on Shopify/WooCommerce
Under Royalties click the Manage link
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
Go to Settings in your app, Royalties, Manage
Click the link on your contract to take you to the page on etherscan
The Overview section will show you how much is stored
The ETH BALANCE is the amount of native crypto stored
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
Go to Settings in your app, Royalties, Manage
Click the link on your contract to take you to the page on etherscan
Click the Contract tab
Click Read Contract
Go to
2. releasable
Paste in your wallet address and click Query
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
If there is 0 for the amount then there is no amount to be released. Do not proceed or you will waste gas.
When you're ready to recover your part, click Write Contract
Click Write Contract then Connect to Web3
Connect your wallet as normal
Go to
1. release
Paste in your wallet address
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:
Find the token contract in Etherscan by clicking in the section on the TOKEN HOLDINGS
It should show the token contract on the token page
Return to the payment splitter contract
Go to Contract, Read Contract
Go to
3. releasable
Under
token
paste the token contractUnder
account
paste your wallet addressClick Query
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
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.
Click Write Contract then Connect to Web3
Connect your wallet as normal
Go to
2. release
Under
token
paste the token contractUnder
account
paste your wallet addressClick 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.