NFT Royalty Distributor
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
The NFT Royalty Distributor lets you fetch royalty information from ERC-2981 compliant NFT contracts, and distribute or claim accrued royalties to recipients. You provide the NFT collection address and optional token ID, and the tool reads the royalty receiver and fee percentage via `royaltyInfo(uint256 tokenId, uint256 salePrice)`. It then lets you distribute accumulated royalties using a distribution contract (or claim them directly if your contract supports claiming), submitting the transaction through your wallet. This is useful for NFT creators who want to see their royalty earnings and distribute them to contributors, or for collectors who want to claim royalties on secondary sales.
HOW TO USE
1. Connect your EVM wallet using the Connect Wallet button.
2. Select your chain: Ethereum (1), Polygon (137), or Arbitrum (42161).
3. Enter the NFT collection contract address (must support ERC-2981 or a compatible royalty interface).
4. Optionally enter a specific token ID to fetch royalty info for that token.
5. Choose an action: Fetch royalty info, Distribute royalties, or Claim royalties.
6. For distribution/claim, enter a distribution contract address if required.
7. Click "Fetch royalty info" to see the receiver and royalty amount.
8. Review the transaction details in the review section.
9. Click "Execute" to sign and submit the transaction.
THE REAL MECHANISM — ERC-2981 royaltyInfo() call with on-chain distribution
This tool uses the ERC-2981 standard royalty interface to fetch royalty information. It calls `royaltyInfo(uint256 tokenId, uint256 salePrice)` with a sale price of 1 ETH (18 decimals) to determine the royalty receiver and the amount they would receive on a 1 ETH sale. The tool then formats this data for display. For distribution, it uses a user-provided distribution contract that implements a `distributeRoyalty(address collection, uint256 tokenId, address receiver, uint256 amount)` function, which sends the accrued royalties to the receiver. For claiming, it uses a `claimRoyalties(address collection, uint256 tokenId)` function. All transactions are built and submitted through your wallet—no metadata is stored or transmitted beyond the on-chain calls.
WHAT IT CANNOT SEE
- This tool cannot read royalty information from contracts that do not implement ERC-2981 or a compatible royalty interface.
- It cannot automatically determine which recipients are eligible without on-chain data.
- It cannot distribute royalties that have not been accrued or claimed.
- It does not support royalty distributions on chains other than EVM-compatible networks (Ethereum, Polygon, Arbitrum).
- It cannot verify that the royalty percentages are correct without checking the contract source.
- It cannot automatically detect sale prices or past sales—it assumes a fixed sale price for estimation.
PLEASE NOTE
- This tool works on Ethereum (1), Polygon (137), and Arbitrum (42161).
- The collection contract must support the ERC-2981 `royaltyInfo()` function for the tool to fetch royalty data.
- For distribution or claiming, you need a distribution contract that implements the required functions.
- The tool estimates royalty amounts based on a 1 ETH sale price—actual royalties depend on the actual sale price.
- This tool is read-only for fetching; distribution and claiming require on-chain transactions and gas fees.